1
0
mirror of https://github.com/php/php-src.git synced 2026-04-19 14:01:01 +02:00
Commit Graph

30 Commits

Author SHA1 Message Date
Charles R. Portwood II
55277a6684 RFC: Argon2 Password Hash Enhancements Implementation of Argon2id per RFC https://wiki.php.net/rfc/argon2_password_hash_enhancements
- m4 and Windows configure scripts now forces Argon2 reference library version >= 20161029
- Implementation tested against 20161029 and 20171227 for Argon2id support
- Updates Argon2 ext/standard/password/tests to run tests for both Argon2i and Argon2id
2018-06-21 13:26:57 +02:00
Gabriel Caruso
ce1d69a1f6 Use int instead of integer in type errors
PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".
2018-02-04 19:08:23 +01:00
Christoph M. Becker
3f8961dfac Fixed bug #75221 (Argon2i always throws NUL at the end)
Apparently, `argon2_encodedlen()` also counts the terminating NUL byte;
that doesn't appear to be documented somewhere, but from looking at the
implementation[1] it is pretty obvious.  Therefore, the respective
`zend_string` has to be one byte shorter.

[1] <https://github.com/P-H-C/phc-winner-argon2/blob/20161029/src/argon2.c#L431-L436>
2017-10-12 12:52:37 +02:00
Nikita Popov
45f7b2bcc8 Fix CRLF line-endings in tests
Also fix a single instance of CRLF in ibase_query.c.
2016-11-20 22:31:24 +01:00
Christoph M. Becker
fd5f0e49cf Fix broken test case
Patch provided by Charles R. Portwood II.
2016-09-08 20:04:10 +02:00
Christoph M. Becker
6cd06d34d8 Fix skip messages 2016-09-08 18:55:40 +02:00
Charles R. Portwood II
35a74b9e4a Fixing typo in tests 2016-08-27 21:57:09 -05:00
Charles R. Portwood II
0e3b3b031f Changing m_cost and t_cost to memory_cost and time_cost
- Updating tests
- Adjusting cost factors:
 - memory_cost = 1 MiB
 - time_cost = 2
 - threads = 2
2016-08-17 13:45:06 -05:00
Charles R. Portwood II
0d4d8eab53 Removing Argon2d, changing config arg to --with-password-argon2
Argon2d is not suitable for password_hashing. To ensure best practices
within password_*, Argon2d was removed.

--with-argon2 implies the full feature set of Argon2, whereas this
feature only implements Argon2i within password_*. Consequently
the feature flag was renamed to --with-password-argon2
2016-08-01 18:53:24 -05:00
Charles R. Portwood II
1c954c9549 Untouching old tests 2016-07-12 16:38:49 -05:00
Charles R. Portwood II
9f37be5c43 Fixing failing tests for Argon2
- Added "Skipped:" flag so argon2 tests would be skipped when
  PHP is compiled without Argon2 support
2016-07-11 18:39:04 -05:00
Charles R. Portwood II
bcfccdd9f4 Removing argon2 library files in favor of --with-argon2[=DIR]
- Configure flag now accepts --with-argon2 for dynamic linking with
  libargon2. Argon2 will be enabled in password_* only if this
  flag is passed.
- --with-argon2 config flag allows user passed directory for linking
- Added Argon2 specific tests to ensure existing tests do not fail
  when argon2 is disable
2016-07-11 16:44:40 -05:00
Charles R. Portwood II
0a1274f2b1 Adding test cases for Argon2i and Argon2d
Added Windows config.w32 changes
Updated constants in php_password.h
2016-07-09 13:18:45 -05:00
Charles R. Portwood II
c2551a74d4 Working implementation with password_hash, password_verify 2016-07-08 23:45:19 -05:00
Anthony Ferrara
ed4052f1d5 Fixed bug #69686 password_verify reports back error on PHP7 will null string.
The deprecation of DES salts created a warning when trying to verify them with password_hash. This bug fix adds a quiet mode to php_crypt() which is used by password_verify.
2015-05-21 17:12:51 -04:00
Anthony Ferrara
94e222c14d Deprecate password_hash salt option 2015-04-09 15:51:04 -04:00
Andrea Faulds
5f29b98051 Error on invalid octal (fixes PHPSadness #31)
Further error checks
2015-01-17 18:50:28 +00:00
Andrea Faulds
e5eb9530ab Use "float" and "integer" in typehint and zpp errors 2014-12-21 13:23:02 +00:00
Anthony Ferrara
1751d5fabe Really fix leaks, add test cases to prove it... 2012-10-06 10:38:41 -04:00
Anthony Ferrara
76f3295cdf Expose PASSWORD_BCRYPT_DEFAULT_COST constant and update test to use it 2012-09-12 11:47:50 -04:00
Anthony Ferrara
e9a7bde829 Switch test to using strict comparison for crypt fallback 2012-09-12 11:37:56 -04:00
Anthony Ferrara
e8b7f5b35d Add tests for password_get_info and password_needs_rehash 2012-09-12 11:21:08 -04:00
Anthony Ferrara
e05413ca59 Remove password_make_salt() from the implementation 2012-08-28 11:24:33 -04:00
Anthony Ferrara
707c9073b5 Switch second parameter to password_make_salt to be a flag 2012-07-11 22:15:56 -04:00
Anthony Ferrara
6943f2ab7f Some more refactoring, make algo no longer optional 2012-07-03 08:24:31 -04:00
Anthony Ferrara
6cc3c65fbf Remove php.ini setting for default bcrypt cost 2012-07-03 07:33:55 -04:00
Anthony Ferrara
da3d8bf514 Refactor password.c a bit, add different error checking 2012-06-28 15:29:40 -04:00
Anthony Ferrara
5f44be03af Add tests and error checking for large salt requested values to prevent overflow on allocation 2012-06-26 23:09:08 -04:00
Anthony Ferrara
2b9591f11f Update tests to check ini setting 2012-06-26 22:13:51 -04:00
Anthony Ferrara
e505316aeb Add tests for password hashing 2012-06-26 22:05:25 -04:00