Browse Source

OpenSSL: Silence a compiler warning with OpenSSL 0.9.7

The PKCS5_PBKDF2_HMAC_SHA1() function in OpenSSL 0.9.7 did not mark
the salt parameter const even though it was not modified. Hide the
compiler warning with a type cast when an old OpenSSL version is
used.

Signed-hostap: Jouni Malinen <j@w1.fi>
Jouni Malinen 12 years ago
parent
commit
adb9b8edc4
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/crypto/crypto_openssl.c

+ 7 - 0
src/crypto/crypto_openssl.c

@@ -698,9 +698,16 @@ int crypto_hash_finish(struct crypto_hash *ctx, u8 *mac, size_t *len)
 int pbkdf2_sha1(const char *passphrase, const u8 *ssid, size_t ssid_len,
 		int iterations, u8 *buf, size_t buflen)
 {
+#if OPENSSL_VERSION_NUMBER < 0x00908000
+	if (PKCS5_PBKDF2_HMAC_SHA1(passphrase, os_strlen(passphrase),
+				   (unsigned char *) ssid,
+				   ssid_len, 4096, buflen, buf) != 1)
+		return -1;
+#else /* openssl < 0.9.8 */
 	if (PKCS5_PBKDF2_HMAC_SHA1(passphrase, os_strlen(passphrase), ssid,
 				   ssid_len, 4096, buflen, buf) != 1)
 		return -1;
+#endif /* openssl < 0.9.8 */
 	return 0;
 }