From: Charles R. Portwood II Date: Fri, 8 Jul 2016 20:31:30 +0000 (-0500) Subject: Introducing Argon2 memory, time, and lanes constants X-Git-Tag: php-7.2.0alpha1~1316^2^2~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3c7fb71a90dcd37ba64dd0623aea13c9d940fe06;p=php Introducing Argon2 memory, time, and lanes constants PASSWORD_ARGON2_MEMORY_COST PASSWORD_ARGON2_TIME_COST PASSWORD_ARGON2_LANES --- diff --git a/ext/standard/password.c b/ext/standard/password.c index 82ed9fa7c3..4da1682056 100644 --- a/ext/standard/password.c +++ b/ext/standard/password.c @@ -44,6 +44,10 @@ PHP_MINIT_FUNCTION(password) /* {{{ */ REGISTER_LONG_CONSTANT("PASSWORD_BCRYPT_DEFAULT_COST", PHP_PASSWORD_BCRYPT_COST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_MEMORY_COST", PHP_PASSWORD_ARGON2_MEMORY_COST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_TIME_COST", PHP_PASSWORD_ARGON2_TIME_COST, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("PASSWORD_ARGON2_LANES", PHP_PASSWORD_ARGON2_LANES, CONST_CS | CONST_PERSISTENT); + return SUCCESS; } /* }}} */ @@ -180,9 +184,9 @@ PHP_FUNCTION(password_get_info) case PHP_PASSWORD_ARGON2I: case PHP_PASSWORD_ARGON2D: { - zend_long m_cost = PHP_ARGON2_M_COST; - zend_long t_cost = PHP_ARGON2_T_COST; - zend_long lanes = PHP_ARGON2_LANES; + zend_long m_cost = PHP_PASSWORD_ARGON2_MEMORY_COST; + zend_long t_cost = PHP_PASSWORD_ARGON2_TIME_COST; + zend_long lanes = PHP_PASSWORD_ARGON2_LANES; sscanf(hash, "$%*[argon2id]$v=%*ld$m=" ZEND_LONG_FMT ",t=" ZEND_LONG_FMT ",p=" ZEND_LONG_FMT, &m_cost, &t_cost, &lanes); add_assoc_long(&options, "m_cost", m_cost); @@ -239,9 +243,9 @@ PHP_FUNCTION(password_needs_rehash) case PHP_PASSWORD_ARGON2I: case PHP_PASSWORD_ARGON2D: { - zend_long new_m_cost = PHP_ARGON2_M_COST, m_cost = 0; - zend_long new_t_cost = PHP_ARGON2_T_COST, t_cost = 0; - zend_long new_lanes = PHP_ARGON2_LANES, lanes = 0; + zend_long new_m_cost = PHP_PASSWORD_ARGON2_MEMORY_COST, m_cost = 0; + zend_long new_t_cost = PHP_PASSWORD_ARGON2_TIME_COST, t_cost = 0; + zend_long new_lanes = PHP_PASSWORD_ARGON2_LANES, lanes = 0; if (options && (option_buffer = zend_hash_str_find(options, "m_cost", sizeof("m_cost")-1)) != NULL) { new_m_cost = zval_get_long(option_buffer); diff --git a/ext/standard/php_password.h b/ext/standard/php_password.h index 872afb3bef..4c6e113391 100644 --- a/ext/standard/php_password.h +++ b/ext/standard/php_password.h @@ -31,9 +31,9 @@ PHP_MINIT_FUNCTION(password); #define PHP_PASSWORD_DEFAULT PHP_PASSWORD_ARGON2I #define PHP_PASSWORD_BCRYPT_COST 10 -#define PHP_ARGON2_M_COST 1<<16 -#define PHP_ARGON2_T_COST 3 -#define PHP_ARGON2_LANES 1 +#define PHP_PASSWORD_ARGON2_MEMORY_COST 1<<16 +#define PHP_PASSWORD_ARGON2_TIME_COST 3 +#define PHP_PASSWORD_ARGON2_LANES 1 typedef enum { PHP_PASSWORD_UNKNOWN,