diff options
| -rw-r--r-- | failed.txt | 2 | ||||
| -rw-r--r-- | php-bug20528.patch | 81 | ||||
| -rw-r--r-- | php84.spec | 16 |
3 files changed, 10 insertions, 89 deletions
@@ -1,4 +1,4 @@ -===== 8.4.15 (2025-11-20) +===== 8.4.16RC1 (2025-12-04) $ grep -ar 'Tests failed' /var/lib/mock/*/build.log diff --git a/php-bug20528.patch b/php-bug20528.patch deleted file mode 100644 index f8a790a..0000000 --- a/php-bug20528.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 9d71c1e0b60cd152a47528dbe514efc443fce920 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Thu, 20 Nov 2025 02:58:45 +0100 -Subject: [PATCH] Fix GH-20528: Regression breaks mysql connexion using an IPv6 - address enclosed in square brackets - ---- - ext/mysqli/tests/mysqli_connect_port.phpt | 31 +++++++++++++++++++++++ - ext/mysqlnd/mysqlnd_connection.c | 17 ++++++++++--- - 2 files changed, 45 insertions(+), 3 deletions(-) - create mode 100644 ext/mysqli/tests/mysqli_connect_port.phpt - -diff --git a/ext/mysqli/tests/mysqli_connect_port.phpt b/ext/mysqli/tests/mysqli_connect_port.phpt -new file mode 100644 -index 0000000000000..cb7fd1d8d1628 ---- /dev/null -+++ b/ext/mysqli/tests/mysqli_connect_port.phpt -@@ -0,0 +1,31 @@ -+--TEST-- -+mysqli_connect() with port in host -+--EXTENSIONS-- -+mysqli -+--SKIPIF-- -+<?php -+require_once 'skipifconnectfailure.inc'; -+?> -+--FILE-- -+<?php -+ require_once 'connect.inc'; -+ -+ // using port / host arguments -+ if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) { -+ printf("Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", -+ $host, $user, $db, $port, $socket); -+ } -+ -+ mysqli_close($link); -+ -+ // using port in host -+ if (!$link = mysqli_connect("$host:$port", $user, $passwd, $db, "1$port", $socket)) { -+ printf("Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", -+ "$host:$port", $user, $db, "1$port", $socket); -+ } -+ -+ mysqli_close($link); -+?> -+Done -+--EXPECTF-- -+Done -diff --git a/ext/mysqlnd/mysqlnd_connection.c b/ext/mysqlnd/mysqlnd_connection.c -index d8e7304e9665f..8268034e8b798 100644 ---- a/ext/mysqlnd/mysqlnd_connection.c -+++ b/ext/mysqlnd/mysqlnd_connection.c -@@ -553,13 +553,24 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_scheme)(MYSQLND_CONN_DATA * conn, MYSQLND_ - port = 3306; - } - -- /* ipv6 addresses are in the format [address]:port */ - if (hostname.s[0] != '[' && mysqlnd_fast_is_ipv6_address(hostname.s)) { -+ /* IPv6 without square brackets so without port */ - transport.l = mnd_sprintf(&transport.s, 0, "tcp://[%s]:%u", hostname.s, port); - } else { -- /* Not ipv6, but could already contain a port number, in which case we should not add an extra port. -+ char *p; -+ -+ /* IPv6 addresses are in the format [address]:port */ -+ if (hostname.s[0] == '[') { /* IPv6 */ -+ p = strchr(hostname.s, ']'); -+ if (p && p[1] != ':') { -+ p = NULL; -+ } -+ } else { /* IPv4 or name */ -+ p = strchr(hostname.s, ':'); -+ } -+ /* Could already contain a port number, in which case we should not add an extra port. - * See GH-8978. In a port doubling scenario, the first port would be used so we do the same to keep BC. */ -- if (strchr(hostname.s, ':')) { -+ if (p) { - /* TODO: Ideally we should be able to get rid of this workaround in the future. */ - transport.l = mnd_sprintf(&transport.s, 0, "tcp://%s", hostname.s); - } else { @@ -80,14 +80,14 @@ %bcond_without libgd %bcond_with zip -%global upver 8.4.15 -#global rcver RC1 +%global upver 8.4.16 +%global rcver RC1 # TODO set PHP_EXTRA_VERSION for EOL version Summary: PHP scripting language for creating dynamic web sites Name: php Version: %{upver}%{?rcver:~%{rcver}} -Release: 2%{?dist} +Release: 1%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -98,7 +98,7 @@ Release: 2%{?dist} License: PHP-3.01 AND Zend-2.0 AND BSD-2-Clause AND MIT AND Apache-1.0 AND NCSA AND BSL-1.0 URL: http://www.php.net/ -Source0: http://www.php.net/distributions/php-%{upver}%{?rcver}.tar.bz2 +Source0: http://www.php.net/distributions/php-%{upver}%{?rcver}.tar.xz Source1: php.conf Source2: php.ini Source3: macros.php @@ -112,7 +112,7 @@ Source13: nginx-fpm.conf Source14: nginx-php.conf # See https://secure.php.net/gpg-keys.php Source20: https://www.php.net/distributions/php-keyring.gpg -Source21: https://www.php.net/distributions/php-%{upver}%{?rcver}.tar.bz2.asc +Source21: https://www.php.net/distributions/php-%{upver}%{?rcver}.tar.xz.asc # Configuration files for some extensions Source50: 10-opcache.ini Source51: opcache-default.blacklist @@ -146,7 +146,6 @@ Patch48: php-8.3.0-openssl-ec-param.patch # RC Patch # Upstream fixes (100+) -Patch100: php-bug20528.patch # Security fixes (200+) @@ -993,7 +992,6 @@ in pure PHP. %patch -P48 -p1 -b .ec-param # upstream patches -%patch -P100 -p1 -b .20528 # security patches @@ -1853,6 +1851,10 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %changelog +* Wed Dec 3 2025 Remi Collet <remi@remirepo.net> - 8.4.16~RC1-1 +- update to 8.4.16RC1 +- switch back to xz archive + * Fri Nov 21 2025 Remi Collet <remi@remirepo.net> - 8.4.15-2 - Fix GH-20528 regression breaks mysql connexion using an IPv6 address enclosed in square brackets (upstream patch) |
