1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 03:03:26 +02:00

287 Commits

Author SHA1 Message Date
Ilija Tovilo 0039af028c Propagate bind error for stream_socket_server()
When stream_socket_server() fails during bind(), we're currently only showing
"Unknown error" in the error message. Properly propagate this error for better
diagnostics.

Closes GH-21328
2026-03-16 08:53:38 +01:00
Petr Sumbera ce1cadba29 Fix Solaris tests and add nightly CI job
Closes GH-20709
2026-03-04 10:12:03 +01:00
Jakub Zelenka ab5c2a826a Use long conversion for stream context keepalive int values (#20805)
This is consistent with http and ssl wrappers where int values
are converted in this way.
2025-12-30 22:08:35 +01:00
Jakub Zelenka 9582d8e6d7 Add stream socket keepalive context options
This adds so_keepalive, tcp_keepidle, tcp_keepintvl and tcp_keepcnt
stream socket context options that are used to set their upper case
C macro variants by setsockopt function.

The test requires sockets extension and just tests that the values are
being set. This is because a real test would be slow and difficult to
show that those options really work due to how they work internally.

Closes GH-20381
2025-12-30 16:52:22 +01:00
Jakub Zelenka 122a94ebe9 Merge branch 'PHP-8.5'
* PHP-8.5:
  Update NEWS with info about security issues
  Fix GHSA-www2-q4fc-65wf
  Fix GHSA-h96m-rvf9-jgm2
  Fix GHSA-8xr5-qppj-gvwj: PDO quoting result null deref
  Fix GH-20584: Information Leak of Memory
2025-12-16 15:37:38 +01:00
Jakub Zelenka 5c0a6feca2 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Update NEWS with info about security issues
  Fix GHSA-www2-q4fc-65wf
  Fix GHSA-h96m-rvf9-jgm2
  Fix GHSA-8xr5-qppj-gvwj: PDO quoting result null deref
  Fix GH-20584: Information Leak of Memory
2025-12-16 15:36:52 +01:00
Jakub Zelenka 633fb48fca Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Update NEWS with info about security issues
  Fix GHSA-www2-q4fc-65wf
  Fix GHSA-h96m-rvf9-jgm2
  Fix GHSA-8xr5-qppj-gvwj: PDO quoting result null deref
  Fix GH-20584: Information Leak of Memory
2025-12-16 15:35:25 +01:00
Jakub Zelenka e776695abf Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Update NEWS with info about security issues
  Fix GHSA-www2-q4fc-65wf
  Fix GHSA-h96m-rvf9-jgm2
  Fix GHSA-8xr5-qppj-gvwj: PDO quoting result null deref
  Fix GH-20584: Information Leak of Memory
2025-12-16 15:34:19 +01:00
Jakub Zelenka 6e124d0df6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Update NEWS with info about security issues
  Fix GHSA-www2-q4fc-65wf
  Fix GHSA-h96m-rvf9-jgm2
  Fix GHSA-8xr5-qppj-gvwj: PDO quoting result null deref
  Fix GH-20584: Information Leak of Memory
2025-12-16 15:30:54 +01:00
Niels Dossche ed70b1ea43 Fix GHSA-www2-q4fc-65wf 2025-12-16 15:26:59 +01:00
Ilija Tovilo cd329f37a7 Merge branch 'PHP-8.5'
* PHP-8.5:
  [skip ci] Avoid potential network port conflict in tests
2025-11-05 12:34:52 +01:00
Ilija Tovilo 106432852b Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  [skip ci] Avoid potential network port conflict in tests
2025-11-05 12:34:46 +01:00
Ilija Tovilo cbc3c1e03a Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [skip ci] Avoid potential network port conflict in tests
2025-11-05 12:34:21 +01:00
Ilija Tovilo 4cfc729ac7 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Avoid potential network port conflict in tests
2025-11-05 12:34:14 +01:00
Ilija Tovilo 004a3985e7 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Avoid potential network port conflict in tests
2025-11-05 12:34:08 +01:00
Ilija Tovilo c2f4508198 [skip ci] Avoid potential network port conflict in tests
These tests:

- ext/standard/tests/network/udp4loop.phpt
- ext/sockets/tests/socket_create_listen.phpt
- ext/sockets/tests/socket_create_listen-win32.phpt

all use port 31338. socket_create_listen.phpt and its win32 variant are mutually
exclusive, so they can't conflict. While udp4loop.phpt tries multiple ports, the
other tests do not. If udp4loop.phpt runs first and socket_create_listen.phpt
starts before it ends, the port is still blocked. Bump the start port for
udp4loop.phpt to avoid conflicts.
2025-11-05 12:29:31 +01:00
Jakub Zelenka 5151b9d8d6 Add test for so_reuseport stream socket option 2025-11-03 13:39:18 +01:00
Jakub Zelenka aead67d0bb Add so_reuseaddr stream socket context option
This is to allow disabling of SO_REUSEADDR that is enabled by default.

To achieve better compatibility on Windows SO_EXCLUSIVEADDRUSE is set
if so_reuseaddr is false.

Closes GH-19967
2025-11-03 11:44:09 +01:00
Niels Dossche 1bba07ecc0 partitioned option for setcookie/setrawcookie and sessions
RFC: https://wiki.php.net/rfc/CHIPS

Closes GH-12646.
Closes GH-12652.
2025-08-15 08:41:24 +02:00
Jakub Zelenka 27e67cc371 Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-07-01 19:46:42 +03:00
Jakub Zelenka cf0c39723e Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-07-01 09:34:23 -07:00
Jakub Zelenka 5ef0dc7666 Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-07-01 23:01:16 +09:00
Jakub Zelenka cac8f7f1cf Fix GHSA-3cr5-j632-f35r: Null byte in hostnames
This fixes stream_socket_client() and fsockopen().

Specifically it adds a check to parse_ip_address_ex and it also makes
sure that the \0 is not ignored in fsockopen() hostname formatting.
2025-06-23 23:00:30 +02:00
Ilija Tovilo 4ac2c3653b Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Add CONFLICT all to random port test
2025-02-06 15:26:02 +01:00
Ilija Tovilo 68d2bc42fc Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Add CONFLICT all to random port test
2025-02-06 15:25:47 +01:00
Ilija Tovilo c5045a04f2 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add CONFLICT all to random port test
2025-02-06 15:25:41 +01:00
Ilija Tovilo 726cf51236 Add CONFLICT all to random port test
If we're very unlucky, we can get the same port opened as an ephemeral
port by some other test.

Closes GH-17706
2025-02-06 15:25:16 +01:00
Gina Peter Bnayard 5853cdb73d Use "must not" instead of "cannot" wording 2024-08-21 21:12:17 +01:00
David CARLIER b9da6cb3a2 ext/standard: disable one ipv2long test. (#15200)
atypical leading zeros are accepted on this platform.
2024-08-06 12:26:19 +01:00
Jorg Adam Sowa e630aacf79 Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
Jorg Adam Sowa e7b1f2a95b Change long2ip return type (#13395) 2024-02-16 17:11:18 +01:00
Ilija Tovilo f39b5c4c25 Close PHP tags in tests
Closes GH-12422
2023-10-18 17:34:10 +02:00
David Carlier 4400eb270f Merge branch 'PHP-8.2' into PHP-8.3 2023-09-24 15:20:24 +01:00
David Carlier 4bfd3459fe Merge branch 'PHP-8.1' into PHP-8.2 2023-09-24 15:19:02 +01:00
David Carlier d65c80031a Fix GH-12190: stream_context_create with address and port at 0.
Prior to the 8.1 rewrite, inet_aton was used for ipv4 addresses
therefore addresses like `0` passed.
For the bindto's case where both ip and port are set as such, we discard
the address binding.

Close GH-12195
2023-09-24 15:17:53 +01:00
iamluc 730f32bad9 Keep the orig_path for xport stream
Closes GH-11113
2023-05-12 15:33:55 +01:00
Christoph M. Becker 3d2d7d1000 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Revert unintended test expectation change
2022-09-28 12:14:39 +02:00
Christoph M. Becker 9caa71f94f Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Revert unintended test expectation change
2022-09-28 12:13:39 +02:00
Athos Ribeiro e6a822d437 Revert unintended test expectation change
Commit fbe3059 included an unintended change to the test which checks if
dns_get_record populates its additional parameter. This patch reverts
such change.

The issue was not detected by the CIs because their tests run in
the --offline mode, and the test in question needs internet connection.

Closes GH-9625.
2022-09-28 12:12:21 +02:00
Derick Rethans 15e3fcb468 Fixed GH-9200: setcookie has an obsolete expires date format 2022-08-11 16:27:25 +01:00
Jakub Zelenka dc01fce36d Fix GH-8396: Network online test using https broken 2022-08-02 18:50:42 +01:00
Christoph M. Becker 3cb3ee6c1e Drop useless network/syslog_basic.phpt (#8526)
This test asserts that `syslog()` returns true, but that is the case
anyway[1].  Since there is already misc/syslog_basic.phpt, the test has
no further raison d'être.

[1] <https://github.com/php/php-src/blob/d4e24e72afc269f392eabd74abeb6ea86894740d/ext/standard/basic_functions.stub.php#L697-L698>
2022-05-10 17:23:58 +01:00
Nikita Popov 822047fbb2 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bug #81618: Correct dns_get_record on FreeBSD
2021-11-15 10:00:55 +01:00
Nikita Popov 4a2656327d Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix bug #81618: Correct dns_get_record on FreeBSD
2021-11-15 10:00:36 +01:00
Matt 45f52285f6 Fix bug #81618: Correct dns_get_record on FreeBSD
Modify dns_get_record to test for records result based on dns_errno to
accommodate modern FreeBSD, for which res_nsearch() does not update
h_errno directly. Add new php_dns_errno macro, and have it consult
statp->res_h_errno when OS has res_nsearch().

Closes GH-7655.
2021-11-15 10:00:07 +01:00
Nikita Popov ad14d6506a Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Make setcookie() test more robust against the passage of time
2021-09-20 10:29:13 +02:00
Nikita Popov b4d7387468 Make setcookie() test more robust against the passage of time 2021-09-20 10:28:45 +02:00
George Peter Banyard 0ba155cd57 Make syslog() binary safe
Closes GH-7245

Co-authored-by: Nikita Popov <nikita.ppv@googlemail.com>
2021-07-15 19:08:26 +02:00
Benjamin Eberlei 0ca5ab4fa5 Add host for php_network_getaddresses getaddrinfo failed error message. (#7181) 2021-06-22 17:18:09 +02:00
Nikita Popov 7485978339 Migrate SKIPIF -> EXTENSIONS (#7138)
This is an automated migration of most SKIPIF extension_loaded checks.
2021-06-11 11:57:42 +02:00