#
f1e5c638 |
| 13-Aug-2024 |
David Carlier |
Checks getrandom availability on solaris. To fix part of GH-15381. gcc nor clang provides a constant to distinguish illumos and solaris not the system provides a kernel version stamp
Checks getrandom availability on solaris. To fix part of GH-15381. gcc nor clang provides a constant to distinguish illumos and solaris not the system provides a kernel version stamp like the BSD. thus, we simply check the symbol and remaing purposely conservative in the existing logic, using it only for solaris to avoid unexpected breakages for other systems. would need a different fix for higher branches. Close GH-15390
show more ...
|
#
5c9c2757 |
| 13-Aug-2024 |
David Carlier |
Checks getrandom availability on solaris. To fix part of GH-15381. gcc nor clang provides a constant to distinguish illumos and solaris not the system provides a kernel version stamp
Checks getrandom availability on solaris. To fix part of GH-15381. gcc nor clang provides a constant to distinguish illumos and solaris not the system provides a kernel version stamp like the BSD. thus, we simply check the symbol and remaing purposely conservative in the existing logic, using it only for solaris to avoid unexpected breakages for other systems. would need a different fix for higher branches. Close GH-15390
show more ...
|
#
6910167c |
| 04-Aug-2024 |
Tim Düsterhus |
random: Remove engine_combinedlcg.c (#15216) The standalone engine cannot be usefully used for any other purpose. Remove it and inline the implementation into the `php_combined_lcg()` fu
random: Remove engine_combinedlcg.c (#15216) The standalone engine cannot be usefully used for any other purpose. Remove it and inline the implementation into the `php_combined_lcg()` function.
show more ...
|
#
9cc63e1d |
| 29-Jul-2024 |
Peter Kokot |
Autotools: Normalize headers arguments (#15149) Refactor all "long" arguments into blank-or-newline-separated list of files with m4_normalize.
|
#
1ceadaed |
| 28-Jul-2024 |
Peter Kokot |
Autotools: Normalize and quote all PHP_NEW_EXTENSION arguments (#15144) This adds Autoconf quote characters to all PHP_NEW_EXTENSION arguments and syncs the CS across the php-src Autotoo
Autotools: Normalize and quote all PHP_NEW_EXTENSION arguments (#15144) This adds Autoconf quote characters to all PHP_NEW_EXTENSION arguments and syncs the CS across the php-src Autotools build system.
show more ...
|
#
b1c34a91 |
| 29-Jun-2024 |
Peter Kokot |
Normalize AC_CHECK_HEADER* arguments (#14723) The m4_normalize is for Autoconf < 2.70 (on 2.70 and later versions a blank-or-newline separated items can be expanded without using bac
Normalize AC_CHECK_HEADER* arguments (#14723) The m4_normalize is for Autoconf < 2.70 (on 2.70 and later versions a blank-or-newline separated items can be expanded without using backslash-newline). The order of headers in configure.ac is left as is because the first few headers depend on checking other headers (for those includes the 4th argument).
show more ...
|
#
3b951e7b |
| 13-Jun-2024 |
Peter Kokot |
Rename HAVE_DECL_ARC4RANDOM_BUF to HAVE_ARC4RANDOM_BUF (#14565) AC_CHECK_DECLS defines HAVE_DECL_ARC4RANDOM_BUF to 0 or 1. On Windows this isn't defined to 0. To avoid the undefined stat
Rename HAVE_DECL_ARC4RANDOM_BUF to HAVE_ARC4RANDOM_BUF (#14565) AC_CHECK_DECLS defines HAVE_DECL_ARC4RANDOM_BUF to 0 or 1. On Windows this isn't defined to 0. To avoid the undefined state, the AC_CHECK_DECL is used to manually define the HAVE_ARC4RANDOM_BUF to 1 if declaration is found, otherwise undefined. In the future on current platforms, also AC_CHECK_FUNCS can be used instead since the arc4random_buf is located in default libraries (C) with declaration available in headers.
show more ...
|
#
d1048a08 |
| 12-Jun-2024 |
Arnaud Le Blanc |
Add zend_random_bytes(), zend_random_bytes_insecure() functions (#14054) Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
|
#
97b3b455 |
| 01-Feb-2024 |
Tim Düsterhus |
random: Move CSPRNG API into php_random_csprng.h (#13290) This allows consumers of just the CSPRNG to include a much smaller header. It also allows to verify at a glance whether a source
random: Move CSPRNG API into php_random_csprng.h (#13290) This allows consumers of just the CSPRNG to include a much smaller header. It also allows to verify at a glance whether a source file might use non-secure randomness. This commit includes the new header wherever the CSPRNG is used, possibly replacing the inclusion of php_random.h if nothing else is used, but also includes it in the main php_random.h header for compatibility. Somewhat related to 45f8cfaf104f504340b0073b9736bb50a88d70a1, 2b30f18708b4f73d2c1d29d3a92a606ebdc5ac4c, and b14dd85dca3b67a5462f5ed9b6aa0dc22beb615c.
show more ...
|
#
45f8cfaf |
| 17-Jan-2024 |
Tim Düsterhus |
random: Split the uint128 implementation into its own header (#13132) The implementation of `php_random_uint128_*` exists specifically for pcgoneseq128xslrr66 and takes up a third of php
random: Split the uint128 implementation into its own header (#13132) The implementation of `php_random_uint128_*` exists specifically for pcgoneseq128xslrr66 and takes up a third of php_random.h. Split it into its own header to keep php_random.h focused on the functionality directly related to randomness.
show more ...
|
#
b14dd85d |
| 23-Feb-2023 |
Tim Düsterhus |
random: Move the CSPRNG implementation into a separate C file (#10668) The CSPRNG is a delicate and security relevant piece of code and having it in the giant random.c makes it much hard
random: Move the CSPRNG implementation into a separate C file (#10668) The CSPRNG is a delicate and security relevant piece of code and having it in the giant random.c makes it much harder to verify changes to it. Split it into a separate file.
show more ...
|
#
f9a1a903 |
| 14-Dec-2022 |
Tim Düsterhus |
Add Randomizer::nextFloat() and Randomizer::getFloat() (#9679) * random: Add Randomizer::nextFloat() * random: Check that doubles are IEEE-754 in Randomizer::nextFloat() *
Add Randomizer::nextFloat() and Randomizer::getFloat() (#9679) * random: Add Randomizer::nextFloat() * random: Check that doubles are IEEE-754 in Randomizer::nextFloat() * random: Add Randomizer::nextFloat() tests * random: Add Randomizer::getFloat() implementing the y-section algorithm The algorithm is published in: Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022. https://doi.org/10.1145/3503512 * random: Implement getFloat_gamma() optimization see https://github.com/php/php-src/pull/9679/files#r994668327 * random: Add Random\IntervalBoundary * random: Split the implementation of γ-section into its own file * random: Add tests for Randomizer::getFloat() * random: Fix γ-section for 32-bit systems * random: Replace check for __STDC_IEC_559__ by compile-time check for DBL_MANT_DIG * random: Drop nextFloat_spacing.phpt * random: Optimize Randomizer::getFloat() implementation * random: Reject non-finite parameters in Randomizer::getFloat() * random: Add NEWS/UPGRADING for Randomizer’s float functionality
show more ...
|
#
f098193d |
| 03-Sep-2022 |
David Bohman |
GH-9464: Fix build on older macOs releases. A simple check for CommonCrypto/CommonRandom.h does not work on earlier macOS. Must also pull in sys/types.h for size_t, Availability.h for __
GH-9464: Fix build on older macOs releases. A simple check for CommonCrypto/CommonRandom.h does not work on earlier macOS. Must also pull in sys/types.h for size_t, Availability.h for __OSX_AVAILABLE_STARTING, and CommonCrypto/CommonCryptoError.h for CCCryptorStatus. Closes GH-9479.
show more ...
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1 |
|
#
4d8dd8d2 |
| 19-Jul-2022 |
Go Kudo |
Implement Random Extension https://wiki.php.net/rfc/rng_extension https://wiki.php.net/rfc/random_extension_improvement
|