1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 18:53:33 +02:00
Commit Graph

481 Commits

Author SHA1 Message Date
Peter Kokot a82d86479c Replace WIN32 conditions with _WIN32 or PHP_WIN32 (#14462)
* Replace WIN32 conditions with _WIN32 or PHP_WIN32

WIN32 is defined by the SDK and not defined all the time on Windows by
compilers or the environment. _WIN32 is defined as 1 when the
compilation target is 32-bit ARM, 64-bit ARM, x86, or x64. Otherwise,
undefined.

This syncs these usages one step further.

Upstream libgd has replaced WIN32 with _WIN32 via
https://github.com/libgd/libgd/commit/c60d9fe577ae8dad88e26344c4ceaa90da86e2f6

PHP_WIN32 is added to ext/sockets/sockets.stub.php as done in other
*.stub.php files at this point.

* Use PHP_WIN32 in ext/random

* Use PHP_WIN32 in ext/sockets

* Use _WIN32 in xxhash.h as done upstream

See https://github.com/Cyan4973/xxHash/pull/931

* Update end comment with PHP_WIN32
2024-06-10 21:59:41 +02:00
Peter Kokot 0dcb467dae Sync #if/ifdef/defined (#14511)
These are either undefined or defined to value 1:
- ZEND_INTRIN_SSE4_2_PCLMUL_NATIVE
- ZEND_INTRIN_SSE4_2_PCLMUL_RESOLVER
- ZEND_INTRIN_SSE4_2_PCLMUL_FUNC_PROTO
- ZEND_INTRIN_SSE4_2_PCLMUL_FUNC_PTR

Follow up of GH-5526 (-Wundef)
2024-06-09 07:13:23 +02:00
Peter Kokot 743d1fd2a2 Sync -Wno-implicit-fallthrough
This is a sync of the https://github.com/php/php-src/pull/6252 after few
years:
- ext/date: pending recheck in GH-14187
- ext/hash: warning happens only on 32-bit build in
  ext/hash/sha3/generic32lc/KeccakP-1600-inplace32BI.c
- ext/opcache: IR JIT doesn't seem to have this issue
- ext/pcre remains disabled due to pcre2lib/sljit/sljitNativeARM_64.c
  (should be rechecked and fixed upstream)
2024-06-08 20:04:21 +02:00
Cristian Rodríguez 8e62e2b829 Mark multple functions as static (#13864)
* Mark many functions as static

Multiple functions are missing the static qualifier.

* remove unused struct sigactions

struct sigaction act, old_term, old_quit, old_int;
all unused.

* optimizer: minXOR and maxXOR are unused
2024-05-22 13:11:46 +02:00
Saki Takamachi 8276560e65 Merge branch 'PHP-8.3'
* PHP-8.3:
  ext/hash: Swap the checking order of __has_builtin and __GNUC__ (#14185)
2024-05-10 09:39:00 +09:00
Saki Takamachi ccdbbdc242 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  ext/hash: Swap the checking order of __has_builtin and __GNUC__ (#14185)
2024-05-10 09:38:42 +09:00
Saki Takamachi 12dc51976b ext/hash: Swap the checking order of __has_builtin and __GNUC__ (#14185)
closes #14185
2024-05-10 09:37:13 +09:00
Peter Kokot 04c417a35e Remove unused always-enabled extension headers (#14042)
These were once used in these files but at this point aren't and are
only causing confusion whether file depends on additional extension.

- locale.h is added in main/SAPI.c for _ENABLE_PER_THREAD_LOCALE
2024-05-04 21:06:29 +02:00
Niels Dossche a47849deaf Change return type of hash_update() to true (#13652)
It was already the case that this could only return true, update the
stubs to reflect that.

Closes GH-13614.
2024-03-09 20:02:50 +01:00
Máté Kocsis f2e199e878 Implement "support doc comments for internal classes and functions" (#13266)
Fixes #13130
2024-02-25 08:41:31 +01:00
Máté Kocsis 10957e498c Do not generate frameless info items when func info generation is disabled
While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
2024-02-18 11:39:00 +01:00
Peter Kokot e8c65d7efd Remove superfluous ext/hash/murmur include on Windows (#13314)
The murmur headers are included relatively in ext/hash sources.
2024-02-03 22:01:31 +01:00
Peter Kokot 52dba99d47 Sync headers installation
This syncs the installed sapi and extension headers on *nix and Windows
systems by installing only what is intended outside of php-src.

- ext/gd: without gd_arginfo.h and gd_compat.h
- ext/hash: php_hash_joaat.h and php_hash_fnv.h added also on Windows
  installation; xxhash/xxhash.h added on both installations as it is
  included in php_hash_xxhash.h; Include path for xxhash.h changed to
  relative so the php_hash_xxhash.h can be included outside of php-src;
  Redundant include flags removed
- ext/iconv: without iconv_arginfo.h
- ext/mysqli: mysqli_mysqlnd.h was missing on Windows
- ext/phar: php_phar.h was missing on Windows
- ext/sodium: php_libsodium.h was missing on *nix
- ext/xml: without xml_arginfo.h
- sapi/cli: cli.h was missing on Windows

Closes GH-13210
Closes GH-13213
2024-01-28 19:50:55 +01:00
Cristian Rodríguez 927adfb1a6 Use a single version of mempcpy(3) (#12257)
While __php_mempcpy is only used by ext/standard/crypt_sha*, the
mempcpy "pattern" is used everywhere.

This commit removes __php_mempcpy, adds zend_mempcpy and transforms
open-coded parts into function calls.
2023-12-20 15:16:32 +00:00
Niels Dossche ab5edb6a8e Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix 32-bit ext/hash build
2023-12-13 19:33:29 +01:00
Niels Dossche 4269f046c2 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix 32-bit ext/hash build
2023-12-13 19:33:20 +01:00
Niels Dossche 2ee4d358dc Fix 32-bit ext/hash build 2023-12-13 19:33:09 +01:00
Niels Dossche 0917a3636e Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix GH-12936: hash() function hangs endlessly if using sha512 on strings >= 4GiB
2023-12-12 19:58:21 +01:00
Niels Dossche cd179171cc Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12936: hash() function hangs endlessly if using sha512 on strings >= 4GiB
2023-12-12 19:57:47 +01:00
Niels Dossche 2b8c00850b Fix GH-12936: hash() function hangs endlessly if using sha512 on strings >= 4GiB
There's two problems:
- Some loops used `unsigned int` instead of `size_t`.
- The 2*N-bit addition that is emulated using 2 N bit numbers has a bug:
  it first truncated the number to 32/64 bit and only then shifted. This
  resulted in the wrong length info stored inside the resulting hash.

Closes GH-12937.
2023-12-12 19:57:06 +01:00
Peter Kokot 2a60543cee Add deprecation notice when enabling mhash (#12586)
The mhash* functions are deprecated as of PHP 8.1.0.
https://wiki.php.net/rfc/deprecations_php_8_1
2023-11-01 16:26:27 +00:00
Niels Dossche 4bb27e2d9b Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12223: Entity reference produces infinite loop in var_dump/print_r
  Fix GH-12192: SimpleXML infinite loop when getName() is called within foreach
  Fix GH-12186: segfault copying/cloning a finalized HashContext
2023-09-16 21:28:24 +02:00
Niels Dossche 5df473d2c7 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-12223: Entity reference produces infinite loop in var_dump/print_r
  Fix GH-12192: SimpleXML infinite loop when getName() is called within foreach
  Fix GH-12186: segfault copying/cloning a finalized HashContext
2023-09-16 21:24:20 +02:00
Max Semenik 10f5a06d3c Fix GH-12186: segfault copying/cloning a finalized HashContext
Closes GH-12186.
Closes GH-12187.
2023-09-16 21:18:27 +02:00
Peter Kokot dff4e40da2 Remove unused PHP_HASH variable (#11653)
This was used when hash extension wasn't always available.
2023-07-19 07:31:03 +02:00
Ilija Tovilo 791ca5d1db Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix hash_pbkdf2 options parameter
2023-07-18 19:24:03 +02:00
Ilija Tovilo e8c9c73118 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix hash_pbkdf2 options parameter
2023-07-18 19:23:10 +02:00
Ilija Tovilo 7cae6eb8db Fix hash_pbkdf2 options parameter
The value needs to be initialized to NULL as it is optional. Furthermore, the
parameter was completely missing in the stub signature.

Closes GH-11731
2023-07-18 19:21:13 +02:00
Michael Voříšek bd03c0343e Allow CTE on more CTE safe functions (#10771) 2023-05-16 21:59:26 +02:00
Niels Dossche f6e296dbb9 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix GH-11180: hash_file() appears to be restricted to 3 arguments
2023-05-07 17:40:29 +02:00
Niels Dossche e6730565b6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-11180: hash_file() appears to be restricted to 3 arguments
2023-05-07 17:37:25 +02:00
Niels Dossche baa07f3de3 Fix GH-11180: hash_file() appears to be restricted to 3 arguments
Closes GH-11198.
2023-05-07 17:33:28 +02:00
Nils 36559fb264 Remove unused macro PHP_FNV1_32A_INIT and PHP_FNV1A_64_INIT (#11114) 2023-05-03 18:46:31 +02:00
Javier Eguiluz 732d92c0e5 [skip ci] Fix various typos and grammar issues (#11143) 2023-04-28 11:05:32 +02:00
Mingli Yu adcb38b1ff xxhash.h: Fix GCC 12 -Og
Change whether to inline XXH3_hashLong_withSecret to a config option

Ref: https://github.com/Cyan4973/xxHash/commit/ace22bddc7a366a5dd8a71e8b8247694530684ec

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>

Closes GH-11062.
2023-04-13 12:20:20 +01:00
David Carlier 0c0b41d875 Merge branch 'PHP-8.2' 2023-02-25 14:36:56 +00:00
David Carlier 7638640529 Fix GH-10659: hash/xxhash applying build upstream fix
ref: https://github.com/Cyan4973/xxHash/commit/6189ecd3d44a693460f86280ccf49d33cb4b18e1

replacing the C++ compile time assert for C11 one.

Closes GH-10693.
2023-02-25 14:36:35 +00:00
Máté Kocsis 7936c8085e Fix GH-8329 Print true/false instead of bool in error and debug messages (#8385) 2023-01-23 10:52:14 +01:00
George Peter Banyard 1d104f2e58 Merge branch 'PHP-8.2'
* PHP-8.2:
  Handle exceptions from __toString in XXH3's initialization
  Fix phpdbg segmentation fault in case of malformed input
2023-01-17 14:16:37 +00:00
George Peter Banyard dd5c5ca7a5 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Handle exceptions from __toString in XXH3's initialization
  Fix phpdbg segmentation fault in case of malformed input
2023-01-17 14:16:18 +00:00
Niels Dossche 7463e70b1e Handle exceptions from __toString in XXH3's initialization
The initialization routine for XXH3 was not prepared for exceptions from seed.
Fix this by using try_convert_to_string.

For discussion, please see: GH-10305

Closes GH-10352

Signed-off-by: George Peter Banyard <girgias@php.net>
2023-01-17 14:14:12 +00:00
Niels Dossche a60c6ee0ac Mark constant static arrays in function bodies actually as const (#10325) 2023-01-15 14:51:31 +00:00
Ilija Tovilo b96b88b669 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix compilation on RHEL 7 ppc64le (gcc 4.8)
2022-12-11 17:30:56 +01:00
Mattias Ellert a83923044c Fix compilation on RHEL 7 ppc64le (gcc 4.8)
Fixes GH-10077
Closes GH-10078
2022-12-11 17:30:31 +01:00
Jorg Adam Sowa 77ee92a50c Remove unnecessary usage of CONST_CS
Closes GH-9685.
2022-11-28 17:12:07 +01:00
Stanislav Malyshev acbd5c1164 Merge branch 'PHP-8.1' into PHP-8.2 2022-10-21 00:05:35 -06:00
Stanislav Malyshev 27aed8f345 Merge branch 'PHP-8.0' into PHP-8.1 2022-10-21 00:05:30 -06:00
Stanislav Malyshev beff4278a4 Merge branch 'PHP-7.4' into PHP-8.0 2022-10-21 00:04:43 -06:00
Stanislav Malyshev 248f647724 Fix bug #81738 (buffer overflow in hash_update() on long parameter) 2022-10-20 23:57:35 -06:00
Máté Kocsis b4ec3e9bc0 Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00