Stas, this wasn't merged into master. I'm not sure whether it should be "NULL-merged" so the code is kept in master or whether it should be removed from master, too.
johannes On Tue, 2012-06-12 at 18:22 +0000, Stanislav Malyshev wrote: > Commit: c7be96b08fb457f8a2b4e2a64f59437b230886c1 > Author: Stanislav Malyshev <s...@php.net> Tue, 12 Jun 2012 > 11:22:49 -0700 > Parents: a2bfad051df022058f19afc5f09fd835cbbcf145 > Branches: PHP-5.4 > > Link: > http://git.php.net/?p=php-src.git;a=commitdiff;h=c7be96b08fb457f8a2b4e2a64f59437b230886c1 > > Log: > Revert "Add PBKDF2 support via openssl()" > > This reverts commit b5b8ea1050837fba5a6cee55e41b4574ed64158e. > Looks like we don't have agreement yet on this for 5.4. Let's keep it in 5.5 > for now. > > Changed paths: > M ext/openssl/openssl.c > M ext/openssl/php_openssl.h > D ext/openssl/tests/openssl_pkcs5_pbkdf2_hmac.phpt > > > Diff: > diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c > index 28f7618..7187a96 100644 > --- a/ext/openssl/openssl.c > +++ b/ext/openssl/openssl.c > @@ -242,16 +242,6 @@ ZEND_BEGIN_ARG_INFO(arginfo_openssl_pkey_get_details, 0) > ZEND_ARG_INFO(0, key) > ZEND_END_ARG_INFO() > > -#if OPENSSL_VERSION_NUMBER >= 0x10000000L > -ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkcs5_pbkdf2_hmac, 0, 0, 4) > - ZEND_ARG_INFO(0, password) > - ZEND_ARG_INFO(0, salt) > - ZEND_ARG_INFO(0, key_length) > - ZEND_ARG_INFO(0, iterations) > - ZEND_ARG_INFO(0, digest_algorithm) > -ZEND_END_ARG_INFO() > -#endif > - > ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_pkcs7_verify, 0, 0, 2) > ZEND_ARG_INFO(0, filename) > ZEND_ARG_INFO(0, flags) > @@ -438,10 +428,6 @@ const zend_function_entry openssl_functions[] = { > PHP_FE(openssl_seal, arginfo_openssl_seal) > PHP_FE(openssl_open, arginfo_openssl_open) > > -#if OPENSSL_VERSION_NUMBER >= 0x10000000L > - PHP_FE(openssl_pkcs5_pbkdf2_hmac, > arginfo_openssl_pkcs5_pbkdf2_hmac) > -#endif > - > /* for S/MIME handling */ > PHP_FE(openssl_pkcs7_verify, arginfo_openssl_pkcs7_verify) > PHP_FE(openssl_pkcs7_decrypt, arginfo_openssl_pkcs7_decrypt) > @@ -3331,57 +3317,6 @@ PHP_FUNCTION(openssl_pkey_get_details) > > /* }}} */ > > -#if OPENSSL_VERSION_NUMBER >= 0x10000000L > - > -/* {{{ proto string openssl_pkcs5_pbkdf2_hmac(string password, string salt, > long key_length, long iterations [, string digest_method = "sha1"]) > - Generates a PKCS5 v2 PBKDF2 string, defaults to sha1 */ > -PHP_FUNCTION(openssl_pkcs5_pbkdf2_hmac) > -{ > - long key_length = 0, iterations = 0; > - char *password; int password_len; > - char *salt; int salt_len; > - char *method; int method_len = 0; > - unsigned char *out_buffer; > - > - const EVP_MD *digest; > - > - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssll|s", > - &password, &password_len, > - &salt, &salt_len, > - &key_length, &iterations, > - &method, &method_len) == FAILURE) { > - return; > - } > - > - if (key_length <= 0) { > - RETURN_FALSE; > - } > - > - if (method_len) { > - digest = EVP_get_digestbyname(method); > - } else { > - digest = EVP_sha1(); > - } > - > - if (!digest) { > - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown signature > algorithm"); > - RETURN_FALSE; > - } > - > - out_buffer = emalloc(key_length + 1); > - out_buffer[key_length] = '\0'; > - > - if (PKCS5_PBKDF2_HMAC(password, password_len, (unsigned char *)salt, > salt_len, iterations, digest, key_length, out_buffer) == 1) { > - RETVAL_STRINGL((char *)out_buffer, key_length, 0); > - } else { > - efree(out_buffer); > - RETURN_FALSE; > - } > -} > -/* }}} */ > - > -#endif > - > /* {{{ PKCS7 S/MIME functions */ > > /* {{{ proto bool openssl_pkcs7_verify(string filename, long flags [, string > signerscerts [, array cainfo [, string extracerts [, string content]]]]) > diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h > index 0dbe7d2..fc118db 100644 > --- a/ext/openssl/php_openssl.h > +++ b/ext/openssl/php_openssl.h > @@ -52,8 +52,6 @@ PHP_FUNCTION(openssl_private_decrypt); > PHP_FUNCTION(openssl_public_encrypt); > PHP_FUNCTION(openssl_public_decrypt); > > -PHP_FUNCTION(openssl_pkcs5_pbkdf2_hmac); > - > PHP_FUNCTION(openssl_pkcs7_verify); > PHP_FUNCTION(openssl_pkcs7_decrypt); > PHP_FUNCTION(openssl_pkcs7_sign); > diff --git a/ext/openssl/tests/openssl_pkcs5_pbkdf2_hmac.phpt > b/ext/openssl/tests/openssl_pkcs5_pbkdf2_hmac.phpt > deleted file mode 100644 > index af1fcb1..0000000 > --- a/ext/openssl/tests/openssl_pkcs5_pbkdf2_hmac.phpt > +++ /dev/null > @@ -1,26 +0,0 @@ > ---TEST-- > -openssl_pkcs5_pbkdf2_hmac() tests > ---SKIPIF-- > -<?php if (!extension_loaded("openssl") || > !function_exists("openssl_pkcs5_pbkdf2_hmac")) print "skip"; ?> > ---FILE-- > -<?php > -// official test vectors > -var_dump(bin2hex(openssl_pkcs5_pbkdf2_hmac('password', 'salt', 20, 1))); > -var_dump(bin2hex(openssl_pkcs5_pbkdf2_hmac('password', 'salt', 20, 2))); > -var_dump(bin2hex(openssl_pkcs5_pbkdf2_hmac('password', 'salt', 20, 4096))); > - > -/* really slow but should be: > -string(40) "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984" > -var_dump(bin2hex(openssl_pkcs5_pbkdf2_hmac('password', 'salt', 20, > 16777216))); > -*/ > - > -var_dump(bin2hex(openssl_pkcs5_pbkdf2_hmac('passwordPASSWORDpassword', > 'saltSALTsaltSALTsaltSALTsaltSALTsalt', 25, 4096))); > -var_dump(bin2hex(openssl_pkcs5_pbkdf2_hmac("pass\0word", "sa\0lt", 16, > 4096))); > - > -?> > ---EXPECTF-- > -string(40) "0c60c80f961f0e71f3a9b524af6012062fe037a6" > -string(40) "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957" > -string(40) "4b007901b765489abead49d926f721d065a429c1" > -string(50) "3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038" > -string(32) "56fa6aa75548099dcc37d7f03425e0c3" > > -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php