Commit Graph

86 Commits

Author SHA1 Message Date
Frank Denis
82a93c1794 ext/sodium: sodium_pad(): do not copy any bytes if the string is empty
Spotted by San Zhang, thanks!

Backport from PECL libsodium-php 2.0.13
2018-10-14 10:43:21 +02:00
Frank Denis
bf48d0c475 ext/sodium: Fix sodium_pad() with blocksize >= 256
Backport from PECL libsodium-php 2.0.12
2018-10-14 10:37:37 +02:00
Frank Denis
15ba7df224 ext/sodium: Use a correct max output size for base64 decoding
Also handle the case where the function is not available in test.

Backport from PECL libsodium-php 2.0.12
2018-10-14 10:37:18 +02:00
Frank Denis
d057458166 ext/sodium: Avoid shifts wider than 32 bits on size_t values
Backport from PECL libsodium-php 2.0.10
2018-10-14 10:21:29 +02:00
James Titcumb
950c338f80 Fix reflection arguments for sodium_memzero function 2018-09-29 21:19:42 +02:00
Keyur Govande
695b8192c7 Avoid leaking the urandom fd
When Apache is reloaded, it unloads the extension, but the open file descriptor to /dev/urandom is left hanging around and is leaked. This fixes the bug.

Duplicate of https://github.com/jedisct1/libsodium-php/pull/173
2018-06-08 23:01:57 +02:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Frank Denis
fc8793499a Revert "Revert "ext/sodium: pwhash: do not warn on low parameters""
This reverts commit a1845b7fdb.

Revert "Revert "ext/sodium: throw exceptions instead of errors""
This reverts commit 31d221f9c7.
2017-11-29 13:19:56 +01:00
Frank Denis
a1845b7fdb Revert "ext/sodium: pwhash: do not warn on low parameters"
This reverts commit c219991c77.
2017-11-29 01:22:59 +01:00
Frank Denis
31d221f9c7 Revert "ext/sodium: throw exceptions instead of errors"
This reverts commit c05cbd1e77.
2017-11-28 23:30:21 +01:00
Frank Denis
c05cbd1e77 ext/sodium: throw exceptions instead of errors 2017-11-28 13:56:11 +01:00
Frank Denis
c219991c77 ext/sodium: pwhash: do not warn on low parameters
but raise an explicit error if these are too low
2017-11-28 11:24:49 +01:00
Anatol Belski
0e44c980f9 Fix uninitialized vars 2017-10-23 12:02:41 +02:00
Frank Denis
9d236d63f9 ext/sodium: untab tests 2017-10-02 22:28:46 +02:00
Frank Denis
1dc47286d1 ext/sodium: import secretstream test 2017-10-02 22:28:33 +02:00
Frank Denis
6de12a5f1e ext/sodium: sodium_compare() is always available 2017-10-02 22:23:53 +02:00
Frank Denis
40ab4c9d4e ext/sodium: fix funky indentation 2017-10-02 22:22:22 +02:00
Frank Denis
7fc396c15d ext/sodium: move pwhash_scrypt() after pwhash() 2017-10-02 22:19:55 +02:00
Frank Denis
986a9e879a ext/sodium: checks for crypto_box_SEALBYTES are not required 2017-10-02 22:11:29 +02:00
Frank Denis
4d1707b764 ext/sodium: explicitly include <string.h> 2017-10-02 22:10:30 +02:00
Frank Denis
0726d0be9f ext/sodium: zend_parse_parameters -> zend_parse_parameters_throw 2017-10-02 22:05:59 +02:00
Frank Denis
e4917d141a ext/sodium: fix funky indent on zend_parse_parameters_throw() calls 2017-10-02 22:02:47 +02:00
Frank Denis
72f7d0b184 ext/sodium: import bindings for secretstream 2017-10-02 21:59:51 +02:00
Frank Denis
7d53e65125 ext/sodium: add crypto_pwhash_str_needs_rehash()
Also properly define xchacha20poly1305_ietf_keygen()
2017-10-02 21:54:50 +02:00
Frank Denis
e22094eb13 ext/sodium: +base64 codecs (timing-safe) 2017-10-02 21:43:54 +02:00
Frank Denis
ad120c5ae9 ext/sodium: add arginfo definitions that will be required later
Don't check for existence of aesgcm symbols, since we only support
libsodium >= 1.0.8
2017-10-02 21:40:38 +02:00
Frank Denis
519ca1d53b ext/sodium: sort prototypes 2017-10-02 21:36:35 +02:00
Frank Denis
0663ca135d ext/sodium: fix pwhash_argon2i test 2017-10-01 16:00:41 +02:00
Frank Denis
33b4405d84 ext/sodium: call crypto_pwhash_argon2id() explicitly if required 2017-09-26 18:09:00 +02:00
Frank Denis
47d75394c9 ext/sodium: avoid tautological comparisons 2017-09-26 17:58:16 +02:00
Frank Denis
f64d00d684 ext/sodium: signing empty messages is fine 2017-09-26 17:37:04 +02:00
Frank Denis
8a52a61e3a ext/sodium: avoid negations on unsigned values 2017-09-21 17:46:01 +02:00
Frank Denis
fd86fdd7b8 ext/sodium: throw an exception if only the prefix of a hex string is valid 2017-09-19 14:37:21 +02:00
Sammy Kaye Powers
b786e1b45c Improve sodium "invalid parameters" error messages 2017-09-07 22:18:48 +02:00
Sammy Kaye Powers
a8862d215c Fix a few places where ZPP throw got reverted to ZPP 2017-09-05 16:39:24 +02:00
Anatol Belski
752fc86f2b Fix symbol name 2017-08-30 01:11:19 +02:00
Frank Denis
04c87ea815 ext/sodium: the second parameter of sodium_hex2bin() is optional 2017-08-29 19:25:01 +02:00
Frank Denis
b1a7885dd7 ext/sodium: AI_StringRef_And_String -> AI_StringRefAndString for consistency 2017-08-29 19:23:22 +02:00
Frank Denis
6383c6e3d0 ext/sodium: sort functions list 2017-08-29 19:22:17 +02:00
Sammy Kaye Powers
56a999885a Fix constant references in error messages in ext/sodium 2017-08-28 22:16:35 -04:00
Frank Denis
48907e57ff sodium ext: if it's a length, call it "length"! 2017-08-24 16:17:41 +02:00
Frank Denis
3691f36913 sodium ext: add bindings for sodium_pad() and sodium_unpad() 2017-08-24 16:12:18 +02:00
Frank Denis
cf6f25bd37 sodium ext: restore sodium_remove_param_values_from_backtrace() call 2017-08-24 11:01:08 +02:00
Frank Denis
a966d21aa8 sodium ext: sync sodium_crypto_kdf_derive_from_key() with the standalone ext
Use libsodium's native function if available, use correct constant names
in error messages
2017-08-24 10:59:02 +02:00
Frank Denis
271f0c4f90 sodium ext: Constants were renamed SODIUM_*
Adjust error messages accordingly.
2017-08-24 10:50:34 +02:00
Frank Denis
3fff74aab5 sodium ext: If sodium_init() returns 1, this is fine.
We actually want to do this so that multiple extensions using libsodium
can be loaded simultaneously.
2017-08-22 09:40:38 +02:00
Sammy Kaye Powers
e8f552aeba Remove param values from backtrace in exception thrown from ZPP throw 2017-08-19 15:18:41 +02:00
Sammy Kaye Powers
0591fe2494 Change zend_parse_parameters() to zend_parse_parameters_throw() in ext/sodium 2017-08-19 15:16:45 +02:00
Frank Denis
ef0bd7b215 sodium ext: Use _ietf_ vs _IETF_ consistently 2017-08-08 17:50:17 +02:00
Frank Denis
03314e3f69 sodium ext: No need for #ifdef crypto_aead_chacha20poly1305_IETF_
chacha20poly1305_ietf was implemented in libsodium 1.0.4 which is way earlier
than the minimum version we support.
2017-08-08 17:42:38 +02:00