Sync from SUSE:SLFO:Main php8 revision d67e00d1bbf785134c99c81ba9c6d040

This commit is contained in:
Adrian Schröter 2024-06-21 10:21:00 +02:00
parent 76b9511613
commit 34e21658a0
11 changed files with 527 additions and 300 deletions

BIN
php-8.2.19.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE5gkT5N8gmQfY4w2WZZqXyc8qeVoFAmY6Oh0ACgkQZZqXyc8q
eVqhwQ/+PKg1U0UyhG6sVJkm3xWxYaw4WPayeIHm65eLN0TnESM38QawmAx8CxZS
Seo0Kn64USfoKrOiCAj7KNC1BBqiYHSxfF9xemE/FPwTW52ywfZHnOY8hK4EitJD
3NhNHOovcEgsGMPYcymRULne/5Rihi1XKUmWg9RBWMcfo9q8ICJG7wS4MGPW/OQH
RNdreoiOZLHM4FLIbSzIlexVXx9Mn0fIuovLxQMx1yWKOfKzFwt2RF4nP9D/IQdz
Te5ktwnEq0nbK/jwZnBUq2ievMOSrQmfcxMxdbnqYE0VPL5riXb6A1rxCkiX05Z2
WeFTwYeFBb3sEDcM7hZDoIznQTWsLoLDBZSbPuJ2sfPkzhm1w9DCIWdoF5HbSREG
CWJvQEpDmsjzAJPMlw9QVvXe73difhfBWbpbBDz0O/g0NtPxj3vbInVC/jfBPSwb
RsenmEACqf+PXRAC9shp4yL0ac3CMgKF8uKO39nfcw9xNkVPLWNI6pDH3tGPhr1O
XfqDorvfW9cKwMAWR59fw5sZr8PGB95RV365PgzJ35+XohoSA/Ys+f4YXwi2IPbW
GQCPDnhVkYtyhuXTHDj++goWeAfdE8ZUdzdYSQro5bLHE+TGb5RDJ8ADP1Bi75uf
fMWKJFnzVSixVYQmPBOLZt+J+NT34n0yb0oYrQXkJee1PDCTS3s=
=WBn3
-----END PGP SIGNATURE-----

BIN
php-8.3.8.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

16
php-8.3.8.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEESx/A2d+SMhztn2FdvsVV4ioUNVMFAmZfK+4ACgkQvsVV4ioU
NVNKGRAAp1I9pjv04n7OkvUyeIxCJ0Ou1GcoDTqoy30LpVrWswU1VkKBwb1Sr2Dj
5efWKylCZZ9+9IzJJVGxG6hAPlFer9JMSuO+FZXjLnvAAgDJy64L2eOadjsg0u9+
xKv2molW0arG25P3P8xRpXKisRy0JJpxNhTSUiXUUL/Gy0zW9Uc/6wrKPF5c3LQF
i7UzpMuqaxOuXznwQaWhkcIk7GNDhZJAW5SsX6FFkxctbDXAICCfiFN1WPgfiG15
ZYLexBZKGzufnH0T6b7o/pylFWhlVSt59B55witdimZciE8QCNKnmqCGafhYda/J
UZAOb9X2MJjvBMRQLI6jpCoV8XAY5Jo7F5QkaZmnECydGj9XDADWYlVG4XLP0p34
htcDB6odzURZDLxKYD97KRRL+bycj161Bh3WW7tRD9OIoNvtkgHg2ko531APUccl
x1FFFkB9Trm9b/+y95EuCMN80BQXjd4Q6pQHaTo33UAlY182VfhewfWRB9OsLezn
LXGZ9m4jC18AKnyrpLMPJuDUZjrorXOBjqQp0be8TlNhuXNbVgV+/WG/8+KChr7Y
GBupFNkBpYHQsmQTZNuSJMqVzcxPFc1k4pp2SGvscVMPoqdgw9dRFsK6s40KbQ7g
dXT8aLjWoYFAmE3bD7PJtWsnB3b/ghat6CuNGjLK9mp4V82Mv7Y=
=aLaa
-----END PGP SIGNATURE-----

View File

@ -1,8 +1,8 @@
Index: php-8.2.15/configure.ac
Index: php-8.3.8/configure.ac
===================================================================
--- php-8.2.15.orig/configure.ac
+++ php-8.2.15/configure.ac
@@ -1618,7 +1618,7 @@ PHP_CONFIGURE_PART(Configuring libtool)
--- php-8.3.8.orig/configure.ac
+++ php-8.3.8/configure.ac
@@ -1660,7 +1660,7 @@ PHP_CONFIGURE_PART(Configuring libtool)
dnl Silence warning: `ar: 'u' modifier ignored since 'D' is the default`
dnl See https://github.com/php/php-src/pull/3017

View File

@ -16,11 +16,11 @@ Signed-off-by: Arjen de Korte <build+github@de-korte.org>
ext/phar/zip.c | 2 +-
6 files changed, 18 insertions(+), 5 deletions(-)
Index: php-8.2.16/ext/phar/phar.c
Index: php-8.3.8/ext/phar/phar.c
===================================================================
--- php-8.2.16.orig/ext/phar/phar.c
+++ php-8.2.16/ext/phar/phar.c
@@ -2999,7 +2999,7 @@ int phar_flush(phar_archive_data *phar,
--- php-8.3.8.orig/ext/phar/phar.c
+++ php-8.3.8/ext/phar/phar.c
@@ -2996,7 +2996,7 @@ int phar_flush(phar_archive_data *phar,
4: metadata-len
+: metadata
*/
@ -29,10 +29,10 @@ Index: php-8.2.16/ext/phar/phar.c
phar_set_32(entry_buffer, entry->uncompressed_filesize);
phar_set_32(entry_buffer+4, mytime);
phar_set_32(entry_buffer+8, entry->compressed_filesize);
Index: php-8.2.16/ext/phar/phar_internal.h
Index: php-8.3.8/ext/phar/phar_internal.h
===================================================================
--- php-8.2.16.orig/ext/phar/phar_internal.h
+++ php-8.2.16/ext/phar/phar_internal.h
--- php-8.3.8.orig/ext/phar/phar_internal.h
+++ php-8.3.8/ext/phar/phar_internal.h
@@ -427,6 +427,21 @@ static inline enum phar_fp_type phar_get
return PHAR_G(cached_fp)[entry->phar->phar_pos].manifest[entry->manifest_pos].fp_type;
}
@ -55,10 +55,10 @@ Index: php-8.2.16/ext/phar/phar_internal.h
static inline zend_off_t phar_get_fp_offset(phar_entry_info *entry)
{
if (!entry->is_persistent) {
Index: php-8.2.16/ext/phar/stream.c
Index: php-8.3.8/ext/phar/stream.c
===================================================================
--- php-8.2.16.orig/ext/phar/stream.c
+++ php-8.2.16/ext/phar/stream.c
--- php-8.3.8.orig/ext/phar/stream.c
+++ php-8.3.8/ext/phar/stream.c
@@ -474,7 +474,7 @@ static int phar_stream_flush(php_stream
phar_entry_data *data = (phar_entry_data *) stream->abstract;
@ -68,11 +68,11 @@ Index: php-8.2.16/ext/phar/stream.c
ret = phar_flush(data->phar, 0, 0, 0, &error);
if (error) {
php_stream_wrapper_log_error(stream->wrapper, REPORT_ERRORS, "%s", error);
Index: php-8.2.16/ext/phar/tar.c
Index: php-8.3.8/ext/phar/tar.c
===================================================================
--- php-8.2.16.orig/ext/phar/tar.c
+++ php-8.2.16/ext/phar/tar.c
@@ -972,7 +972,7 @@ int phar_tar_flush(phar_archive_data *ph
--- php-8.3.8.orig/ext/phar/tar.c
+++ php-8.3.8/ext/phar/tar.c
@@ -965,7 +965,7 @@ int phar_tar_flush(phar_archive_data *ph
char halt_stub[] = "__HALT_COMPILER();";
entry.flags = PHAR_ENT_PERM_DEF_FILE;
@ -81,11 +81,11 @@ Index: php-8.2.16/ext/phar/tar.c
entry.is_modified = 1;
entry.is_crc_checked = 1;
entry.is_tar = 1;
Index: php-8.2.16/ext/phar/util.c
Index: php-8.3.8/ext/phar/util.c
===================================================================
--- php-8.2.16.orig/ext/phar/util.c
+++ php-8.2.16/ext/phar/util.c
@@ -574,7 +574,7 @@ phar_entry_data *phar_get_or_create_entr
--- php-8.3.8.orig/ext/phar/util.c
+++ php-8.3.8/ext/phar/util.c
@@ -584,7 +584,7 @@ phar_entry_data *phar_get_or_create_entr
phar_add_virtual_dirs(phar, path, path_len);
etemp.is_modified = 1;
@ -94,11 +94,11 @@ Index: php-8.2.16/ext/phar/util.c
etemp.is_crc_checked = 1;
etemp.phar = phar;
etemp.filename = estrndup(path, path_len);
Index: php-8.2.16/ext/phar/zip.c
Index: php-8.3.8/ext/phar/zip.c
===================================================================
--- php-8.2.16.orig/ext/phar/zip.c
+++ php-8.2.16/ext/phar/zip.c
@@ -1237,7 +1237,7 @@ int phar_zip_flush(phar_archive_data *ph
--- php-8.3.8.orig/ext/phar/zip.c
+++ php-8.3.8/ext/phar/zip.c
@@ -1236,7 +1236,7 @@ int phar_zip_flush(phar_archive_data *ph
pass.error = &temperr;
entry.flags = PHAR_ENT_PERM_DEF_FILE;

View File

@ -1,8 +1,8 @@
Index: php-8.2.7/php.ini-production
Index: php-8.3.0/php.ini-production
===================================================================
--- php-8.2.7.orig/php.ini-production
+++ php-8.2.7/php.ini-production
@@ -742,7 +742,7 @@ default_charset = "UTF-8"
--- php-8.3.0.orig/php.ini-production
+++ php-8.3.0/php.ini-production
@@ -752,7 +752,7 @@ default_charset = "UTF-8"
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
@ -11,7 +11,7 @@ Index: php-8.2.7/php.ini-production
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
@@ -976,7 +976,7 @@ cli_server.color = On
@@ -986,7 +986,7 @@ cli_server.color = On
[Date]
; Defines the default timezone used by the date functions
; https://php.net/date.timezone
@ -20,7 +20,7 @@ Index: php-8.2.7/php.ini-production
; https://php.net/date.default-latitude
;date.default_latitude = 31.7667
@@ -1169,7 +1169,7 @@ mysqli.max_persistent = -1
@@ -1179,7 +1179,7 @@ mysqli.max_persistent = -1
; Allow or prevent persistent links.
; https://php.net/mysqli.allow-persistent
@ -29,10 +29,10 @@ Index: php-8.2.7/php.ini-production
; Maximum number of links. -1 means no limit.
; https://php.net/mysqli.max-links
Index: php-8.2.7/sapi/fpm/www.conf.in
Index: php-8.3.0/sapi/fpm/www.conf.in
===================================================================
--- php-8.2.7.orig/sapi/fpm/www.conf.in
+++ php-8.2.7/sapi/fpm/www.conf.in
--- php-8.3.0.orig/sapi/fpm/www.conf.in
+++ php-8.3.0/sapi/fpm/www.conf.in
@@ -27,6 +27,8 @@
; If the group is not set, the user's group is used.
user = @php_fpm_user@

View File

@ -5,6 +5,7 @@ Add support for use of the system timezone database, rather
than embedding a copy. Discussed upstream but was not desired.
History:
f24: add internal UTC if tzdata is missing
r23: fix possible buffer overflow
r22: retrieve tzdata version from /usr/share/zoneinfo/tzdata.zi
r21: adapt for timelib 2021.03 (in 8.1.0)
@ -34,10 +35,11 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert)
r2: add filesystem trawl to set up name alias index
r1: initial revision
Index: php-8.2.7/ext/date/config0.m4
===================================================================
--- php-8.2.7.orig/ext/date/config0.m4
+++ php-8.2.7/ext/date/config0.m4
diff --git a/ext/date/config0.m4 b/ext/date/config0.m4
index 6b803bf33e..53c3cdb3f4 100644
--- a/ext/date/config0.m4
+++ b/ext/date/config0.m4
@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h])
dnl Check for strtoll, atoll
AC_CHECK_FUNCS(strtoll atoll)
@ -58,11 +60,11 @@ Index: php-8.2.7/ext/date/config0.m4
PHP_DATE_CFLAGS="-Wno-implicit-fallthrough -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1"
timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/parse_posix.c
lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c"
Index: php-8.2.7/ext/date/lib/parse_tz.c
===================================================================
--- php-8.2.7.orig/ext/date/lib/parse_tz.c
+++ php-8.2.7/ext/date/lib/parse_tz.c
@@ -26,9 +26,22 @@
diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c
index c7f93580d7..ec196a98b6 100644
--- a/ext/date/lib/parse_tz.c
+++ b/ext/date/lib/parse_tz.c
@@ -26,9 +26,33 @@
#include "timelib.h"
#include "timelib_private.h"
@ -75,6 +77,17 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+#include "php_scandir.h"
+
+static const unsigned char internal_utc[] = {
+ 0x54, 0x5a, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x54, 0x5a, 0x69, 0x66, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x54, 0x43, 0x00, 0x0a, 0x55, 0x54, 0x43,
+ 0x30, 0x0a
+};
+
+#else
#define TIMELIB_SUPPORTS_V2DATA
#define TIMELIB_SUPPORT_SLIM_FILE
@ -85,7 +98,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
#if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__))
# if defined(__LITTLE_ENDIAN__)
@@ -95,6 +108,11 @@ static int read_php_preamble(const unsig
@@ -95,6 +119,11 @@ static int read_php_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
{
uint32_t version;
@ -97,7 +110,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
/* read ID */
version = (*tzf)[3] - '0';
*tzf += 4;
@@ -577,7 +595,467 @@ void timelib_dump_tzinfo(timelib_tzinfo
@@ -577,7 +606,475 @@ void timelib_dump_tzinfo(timelib_tzinfo *tz)
}
}
@ -165,7 +178,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+ /* Annoying encoding used by zone.tab has no decimal point, so use
+ * the length to determine the format:
+ *
+ *
+ * 4 = DDMM
+ * 5 = DDDMM
+ * 6 = DDMMSS
@ -232,10 +245,10 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+ if (*p == '#' || *p == '\0' || *p == '\n')
+ continue;
+
+
+ if (!isalpha(p[0]) || !isalpha(p[1]) || p[2] != '\t')
+ continue;
+
+
+ /* code => AA */
+ code = p;
+ p[2] = 0;
@ -269,7 +282,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+ if (*p == '\n' || *p == '\t')
+ *p = '\0';
+
+
+ hash = tz_hash(name);
+ i = malloc(sizeof *i);
+ memcpy(i->code, code, 2);
@ -289,7 +302,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+/* Return location info from hash table, using given timezone name.
+ * Returns NULL if the name could not be found. */
+const struct location_info *find_zone_info(struct location_info **li,
+const struct location_info *find_zone_info(struct location_info **li,
+ const char *name)
+{
+ uint32_t hash = tz_hash(name);
@ -305,7 +318,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ }
+
+ return NULL;
+}
+}
+
+/* Filter out some non-tzdata files and the posix/right databases, if
+ * present. */
@ -380,7 +393,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ dirstack = malloc(dirstack_size * sizeof *dirstack);
+ dirstack_top = 1;
+ dirstack[0] = strdup("");
+
+
+ /* Index array. */
+ index_size = 64;
+ db_index = malloc(index_size * sizeof *db_index);
@ -401,22 +414,22 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ struct stat st;
+ const char *leaf = ents[count - 1]->d_name;
+
+ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s/%s",
+ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s/%s",
+ top, leaf);
+
+
+ if (strlen(name) && stat(name, &st) == 0) {
+ /* Name, relative to the zoneinfo prefix. */
+ const char *root = top;
+
+ if (root[0] == '/') root++;
+
+ snprintf(name, sizeof name, "%s%s%s", root,
+ snprintf(name, sizeof name, "%s%s%s", root,
+ *root ? "/": "", leaf);
+
+ if (S_ISDIR(st.st_mode)) {
+ if (dirstack_top == dirstack_size) {
+ dirstack_size *= 2;
+ dirstack = realloc(dirstack,
+ dirstack = realloc(dirstack,
+ dirstack_size * sizeof *dirstack);
+ }
+ dirstack[dirstack_top++] = strdup(name);
@ -434,13 +447,16 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+ free(ents[--count]);
+ }
+
+
+ if (count != -1) free(ents);
+ free(top);
+ } while (dirstack_top);
+
+ qsort(db_index, index_next, sizeof *db_index, sysdbcmp);
+
+ if (!index_next) {
+ db_index[index_next++].id = strdup("UTC");
+ }
+ db->index = db_index;
+ db->index_size = index_next;
+
@ -456,7 +472,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+{
+ size_t n;
+ char *data, *p;
+
+
+ data = malloc(3 * sysdb->index_size + sizeof(FAKE_HEADER) - 1);
+
+ p = mempcpy(data, FAKE_HEADER, sizeof(FAKE_HEADER) - 1);
@ -489,7 +505,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ ent->pos = 0;
+ }
+ }
+
+
+ sysdb->data = (unsigned char *)data;
+}
+
@ -538,7 +554,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ struct stat st;
+ char *p;
+ int fd;
+
+
+ if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) {
+ return NULL;
+ }
@ -547,7 +563,12 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+
+ fd = open(fname, O_RDONLY);
+ if (fd == -1) {
+ return NULL;
+ if (strcmp(timezone, "UTC")) {
+ return NULL;
+ } else {
+ *length = sizeof(internal_utc);
+ return internal_utc;
+ }
+ } else if (fstat(fd, &st) != 0 || !is_valid_tzfile(&st, fd)) {
+ close(fd);
+ return NULL;
@ -556,7 +577,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ *length = st.st_size;
+ p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
+ close(fd);
+
+
+ return p != MAP_FAILED ? p : NULL;
+}
+
@ -566,7 +587,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
{
int left = 0, right = tzdb->index_size - 1;
@@ -603,9 +1081,49 @@ static int seek_to_tz_position(const uns
@@ -603,9 +1100,49 @@ static int seek_to_tz_position(const unsigned char **tzf, const char *timezone,
return 0;
}
@ -600,7 +621,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ if (timezonedb_system == NULL) {
+ timelib_tzdb *tmp = malloc(sizeof *tmp);
+
+ tmp->version = "0.system";
+ tmp->version = "0";
+ tmp->data = NULL;
+ create_zone_index(tmp);
+ retrieve_zone_version(tmp);
@ -616,7 +637,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
}
const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count)
@@ -617,7 +1135,30 @@ const timelib_tzdb_index_entry *timelib_
@@ -617,7 +1154,32 @@ const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_
int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb)
{
const unsigned char *tzf;
@ -630,7 +651,9 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) {
+ return 0;
+ }
+
+ if (!strcmp(timezone, "UTC")) {
+ return 1;
+ }
+ if (system_location_table) {
+ if (find_zone_info(system_location_table, timezone) != NULL) {
+ /* found in cache */
@ -648,7 +671,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
}
static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz)
@@ -662,6 +1203,8 @@ static timelib_tzinfo* timelib_tzinfo_ct
@@ -662,6 +1224,8 @@ static timelib_tzinfo* timelib_tzinfo_ctor(const char *name)
timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code)
{
const unsigned char *tzf;
@ -657,7 +680,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
timelib_tzinfo *tmp;
int version;
int transitions_result, types_result;
@@ -669,7 +1212,7 @@ timelib_tzinfo *timelib_parse_tzfile(con
@@ -669,7 +1233,7 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t
*error_code = TIMELIB_ERROR_NO_ERROR;
@ -666,7 +689,7 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
tmp = timelib_tzinfo_ctor(timezone);
version = read_preamble(&tzf, tmp, &type);
@@ -712,11 +1255,36 @@ timelib_tzinfo *timelib_parse_tzfile(con
@@ -712,11 +1276,38 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t
return NULL;
}
@ -689,7 +712,9 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
+ }
+
+ /* Now done with the mmap segment - discard it. */
+ munmap(memmap, maplen);
+ if (memmap != internal_utc) {
+ munmap(memmap, maplen);
+ }
+ } else {
+#endif
if (type == TIMELIB_TZINFO_PHP) {
@ -703,11 +728,11 @@ Index: php-8.2.7/ext/date/lib/parse_tz.c
} else {
*error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE;
tmp = NULL;
Index: php-8.2.7/ext/date/php_date.c
===================================================================
--- php-8.2.7.orig/ext/date/php_date.c
+++ php-8.2.7/ext/date/php_date.c
@@ -472,7 +472,11 @@ PHP_MINFO_FUNCTION(date)
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 48c82bf7ec..443299c089 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -490,7 +490,11 @@ PHP_MINFO_FUNCTION(date)
php_info_print_table_row(2, "date/time support", "enabled");
php_info_print_table_row(2, "timelib version", TIMELIB_ASCII_VERSION);
php_info_print_table_row(2, "\"Olson\" Timezone Database Version", tzdb->version);

View File

@ -1,38 +1,222 @@
-------------------------------------------------------------------
Mon May 13 09:49:46 UTC 2024 - pgajdos@suse.com
Fri Jun 7 07:02:10 UTC 2024 - pgajdos@suse.com
- version update to 8.2.19
* a bugfix release, see https://www.php.net/ChangeLog-8.php#8.2.19
- version update to 8.2.18
* a security release, see https://www.php.net/ChangeLog-8.php#8.2.18
* fixed CVE-2024-3096 [bsc#1222858]
* fixed CVE-2024-2756 [bsc#1222857]
- version update to 8.2.17
* a bugfix release, see https://www.php.net/ChangeLog-8.php#8.2.17
-------------------------------------------------------------------
Fri Feb 16 07:57:56 UTC 2024 - pgajdos@suse.com
- version update to 8.2.16
* This is a bug fix release.
- version update to 8.3.8 [bsc#1226073]
CGI:
Fixed buffer limit on Windows, replacing read call usage by _read.
Fixed bug GHSA-3qgc-jrrr-25jv (Bypass of CVE-2012-1823, Argument Injection in PHP-CGI). (CVE-2024-4577)
CLI:
Fixed bug GH-14189 (PHP Interactive shell input state incorrectly handles quoted heredoc literals.).
Core:
Fixed bug GH-13970 (Incorrect validation of #[Attribute] flags type for non-compile-time expressions).
DOM:
Fix crashes when entity declaration is removed while still having entity references.
Fix references not handled correctly in C14N.
Fix crash when calling childNodes next() when iterator is exhausted.
Fix crash in ParentNode::append() when dealing with a fragment containing text nodes.
Filter:
Fixed bug GHSA-w8qr-v226-r27w (Filter bypass in filter_var FILTER_VALIDATE_URL). (CVE-2024-5458)
FPM:
Fix bug GH-14175 (Show decimal number instead of scientific notation in systemd status).
Hash:
ext/hash: Swap the checking order of `__has_builtin` and `__GNUC__` (Saki Takamachi)
Intl:
Fixed build regression on systems without C++17 compilers.
MySQLnd:
Fix bug GH-14255 (mysqli_fetch_assoc reports error from nested query).
Opcache:
Fixed bug GH-14109 (Fix accidental persisting of internal class constant in shm).
OpenSSL:
The openssl_private_decrypt function in PHP and Marvin attack.
Standard:
Fixed bug GHSA-9fcc-425m-g385 (Bypass of CVE-2024-1874). (CVE-2024-5585)
XML:
Fixed bug GH-14124 (Segmentation fault with XML extension under certain memory limit).
XMLReader:
Fixed bug GH-14183 (XMLReader::open() can't be overridden).
- modified patches
% php-build-reproducible-phar.patch (refreshed)
-------------------------------------------------------------------
Thu Jan 18 18:01:47 UTC 2024 - pgajdos@suse.com
Thu May 9 15:57:56 UTC 2024 - pgajdos@suse.com
- version update to 8.2.15
- version update to 8.3.7
Core:
Fixed zend_call_stack build with Linux/uclibc-ng without thread support.
Fixed bug GH-13772 (Invalid execute_data->opline pointers in observer fcall handlers when JIT is enabled).
Fixed bug GH-13931 (Applying zero offset to null pointer in Zend/zend_opcode.c).
Fixed bug GH-13942 (Align the behavior of zend-max-execution-timers with other timeout implementations).
Fixed bug GH-14003 (Broken cleanup of unfinished calls with callable convert parameters).
Fixed bug GH-14013 (Erroneous dnl appended in configure).
Fixed bug GH-10232 (If autoloading occurs during constant resolution filename and lineno are identified incorrectly).
Fixed bug GH-13727 (Missing void keyword).
Fibers:
Fixed bug GH-13903 (ASAN false positive underflow when executing copy()).
Fileinfo:
Fixed bug GH-13795 (Test failing in ext/fileinfo/tests/bug78987.phpt on big-endian PPC).
FPM:
Fixed bug GH-13563 (Setting bool values via env in FPM config fails).
Intl:
Fixed build for icu 74 and onwards.
MySQLnd:
Fix shift out of bounds on 32-bit non-fast-path platforms.
Opcache:
Fixed bug GH-13433 (Segmentation Fault in zend_class_init_statics when using opcache.preload).
Fixed incorrect assumptions across compilation units for static calls.
OpenSSL:
Fixed bug GH-10495 (feof on OpenSSL stream hangs indefinitely).
PDO SQLite:
Fix GH-13984 (Buffer size is now checked before memcmp).
Fix GH-13998 (Manage refcount of agg_context->val correctly).
Phar:
Fixed bug GH-13836 (Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference).
Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c).
Fix potential NULL pointer dereference before calling EVP_SignInit.
PHPDBG:
Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame).
Posix:
Fix usage of reentrant functions in ext/posix.
Session:
Fixed bug GH-13856 (Member access within null pointer of type 'ps_files' in ext/session/mod_files.c).
Fixed bug GH-13891 (memleak and segfault when using ini_set with session.trans_sid_hosts).
Fixed buffer _read/_write size limit on windows for the file mode.
Streams:
Fixed file_get_contents() on Windows fails with "errno=22 Invalid argument".
Fixed bug GH-13264 (Part 1 - Memory leak on stream filter failure).
Fixed bug GH-13860 (Incorrect PHP_STREAM_OPTION_CHECK_LIVENESS case in ext/openssl/xp_ssl.c - causing use of dead socket).
Fixed bug GH-11678 (Build fails on musl 1.2.4 - lfs64).
Treewide:
Fix gcc-14 Wcalloc-transposed-args warnings.
-------------------------------------------------------------------
Fri Apr 12 07:37:23 UTC 2024 - pgajdos@suse.com
- version update to 8.3.6 [bsc#1222857] [bsc#1222858]
Core:
Fixed GH-13569 (GC buffer unnecessarily grows up to GC_MAX_BUF_SIZE when scanning WeakMaps).
Fixed bug GH-13612 (Corrupted memory in destructor with weak references).
Fixed bug GH-13446 (Restore exception handler after it finishes).
Fixed bug GH-13784 (AX_GCC_FUNC_ATTRIBUTE failure).
Fixed bug GH-13670 (GC does not scale well with a lot of objects created in destructor).
DOM:
Add some missing ZPP checks.
Fix potential memory leak in XPath evaluation results.
FPM:
Fixed GH-11086 (FPM: config test runs twice in daemonised mode).
Fix incorrect check in fpm_shm_free().
GD:
Fixed bug GH-12019 (add GDLIB_CFLAGS in feature tests).
Gettext:
Fixed sigabrt raised with dcgettext/dcngettext calls with gettext 0.22.5 with category set to LC_ALL.
MySQLnd:
Fix GH-13452 (Fixed handshake response [mysqlnd]).
Fix incorrect charset length in check_mb_eucjpms().
Opcache:
Fixed GH-13508 (JITed QM_ASSIGN may be optimized out when op1 is null).
Fixed GH-13712 (Segmentation fault for enabled observers when calling trait method of internal trait when opcache is loaded).
Random:
Fixed bug GH-13544 (Pre-PHP 8.2 compatibility for mt_srand with unknown modes).
Fixed bug GH-13690 (Global Mt19937 is not properly reset in-between requests when MT_RAND_PHP is used).
Session:
Fixed bug GH-13680 (Segfault with session_decode and compilation error).
SPL:
Fixed bug GH-13685 (Unexpected null pointer in zend_string.h).
Standard:
Fixed bug GH-11808 (Live filesystem modified by tests).
Fixed GH-13402 (Added validation of `\n` in $additional_headers of mail()).
Fixed bug GH-13203 (file_put_contents fail on strings over 4GB on Windows).
Fixed bug GHSA-pc52-254m-w9w7 (Command injection via array-ish $command parameter of proc_open). (CVE-2024-1874)
Fixed bug GHSA-wpj3-hf5j-x4v4 (__Host-/__Secure- cookie bypass due to partial CVE-2022-31629 fix). (CVE-2024-2756)
Fixed bug GHSA-h746-cjrr-wfmr (password_verify can erroneously return true, opening ATO risk). (CVE-2024-3096)
Fixed bug GHSA-fjp9-9hwx-59fq (mb_encode_mimeheader runs endlessly for some inputs). (CVE-2024-2757)
Fix bug GH-13932 (Attempt to fix mbstring on windows build) (msvc).
-------------------------------------------------------------------
Tue Mar 19 06:17:22 UTC 2024 - pgajdos@suse.com
- version update to 8.3.4
* This is a bug fix release.
-------------------------------------------------------------------
Wed Mar 6 19:39:24 UTC 2024 - Pedro Monreal <pmonreal@suse.com>
- Use the system default cipher list instead of hardcoded values
by using crypto-policies. [bsc#1211301]
* Use the --with-system-ciphers configure option.
-------------------------------------------------------------------
Fri Feb 16 07:20:02 UTC 2024 - pgajdos@suse.com
- version update to 8.3.3
* A bugfix release.
- modified patches
% php-build-reproducible-phar.patch (refreshed)
-------------------------------------------------------------------
Thu Jan 18 18:06:25 UTC 2024 - pgajdos@suse.com
- version update to 8.3.2
* This is a bug fix release.
- modified patches
% php-ar-flags.patch (refreshed)
% php-build-reproducible-phar.patch (refreshed)
-------------------------------------------------------------------
Tue Jan 2 11:40:49 UTC 2024 - pgajdos@suse.com
Wed Dec 27 17:54:25 UTC 2023 - Manu Maier <mmanu84@outlook.de>
- version update to 8.2.14
- version update to 8.3.1
* This is a bug fix release.
https://www.php.net/ChangeLog-8.php#8.2.14
https://www.php.net/ChangeLog-8.php#8.3.1
-------------------------------------------------------------------
Fri Nov 24 11:04:42 UTC 2023 - pgajdos@suse.com
- version update to 8.3.0
* https://www.php.net/releases/8.3/en.php
* Typed class constants
* Dynamic class constant fetch
* New #[\Override] attribute
* Deep-cloning of readonly properties
* New json_validate() function
* New Randomizer::getBytesFromString() method
* New Randomizer::getFloat() and Randomizer::nextFloat() methods
* New DOMElement::getAttributeNames(),
DOMElement::insertAdjacentElement(),
DOMElement::insertAdjacentText(),
DOMElement::toggleAttribute(),
DOMNode::contains(), DOMNode::getRootNode(),
DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and
DOMParentNode::replaceChildren() methods.
* New IntlCalendar::setDate(),
IntlCalendar::setDateTime(),
IntlGregorianCalendar::createFromDate(), and
IntlGregorianCalendar::createFromDateTime() methods.
* New ldap_connect_wallet(), and ldap_exop_sync() functions.
* New mb_str_pad() function.
* New posix_sysconf(), posix_pathconf(), posix_fpathconf(),
and posix_eaccess() functions.
* New ReflectionMethod::createFromMethodName() method.
* New socket_atmark() function.
* New str_increment(), str_decrement(),
and stream_context_set_options() functions.
* New ZipArchive::getArchiveFlag() method.
* Support for generation EC keys with custom EC parameters in
OpenSSL extension.
* New INI setting zend.max_allowed_stack_size to set the maximum
allowed stack size.
* php.ini now supports fallback/default value syntax.
* Anonymous classes can now be readonly.
* https://www.php.net/ChangeLog-8.php#PHP_8_3
- modified patches
% php-ar-flags.patch (refreshed)
% php-build-reproducible-phar.patch (refreshed)
% php-ini.patch (refreshed)
- modified sources
% php8.keyring
- deleted patches
- php-systzdata-v23.patch
- added patches
+ php-systzdata-v24.patch
-------------------------------------------------------------------
Fri Nov 24 09:20:44 UTC 2023 - pgajdos@suse.com

View File

@ -1,5 +1,32 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYHHgIBYJKwYBBAHaRw8BAQdAOm0RDYTmM6omlqoTx6Wy65agVJ4q8EPGczNn
YOrHyo20HUpha3ViIFplbGVua2EgPGJ1a2thQHBocC5uZXQ+iJMEExYIADsCGwMF
CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTCjZN1dWA+tKu3JYYcB3ncXAqd5AUC
YHHi+QIZAQAKCRAcB3ncXAqd5MZdAP0eAbdHgjHqKYol3QaXRhErAvvLHPSEXN5c
AImF3zIICgD+NJZZMQDXd1OOKDt+YLiIqIq2ibRhOP5mZryPCGkq9QG0J0pha3Vi
IFplbGVua2EgPGpha3ViLm9wZW5zc2xAZ21haWwuY29tPoiQBBMWCAA4FiEEwo2T
dXVgPrSrtyWGHAd53FwKneQFAmBx4owCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgEC
F4AACgkQHAd53FwKneS0NwEAt0IRpoCN/JNwg1TIseybpmC65nSzYVyX10xe4Ji5
0dcBAI6TYA+47z6F4IVRg2c8Vtg1xktot7b/tKn6hgdv59sLtCdKYWt1YiBaZWxl
bmthIDxqYWt1Yi56ZWxlbmthQGdtYWlsLmNvbT6IkAQTFggAOBYhBMKNk3V1YD60
q7clhhwHedxcCp3kBQJgceAgAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ
EBwHedxcCp3k+3MBAKuK15XyHw+sdFATFuW9vN+lXqHnYid2jRzQUoh5wG/FAQDc
BXQgXRfe72XRoxY4AE3E4onGMfzW3kbDKDVF7o4zDrg4BGBx4CASCisGAQQBl1UB
BQEBB0Bm2FjWsSDUwL5nbAhtl+rwnGLKbWiVYrwHQocgKFj6GwMBCAeIeAQYFggA
IBYhBMKNk3V1YD60q7clhhwHedxcCp3kBQJgceAgAhsMAAoJEBwHedxcCp3k8ZwA
/jLRHUBKIeRAxeGJhoqJRr2oTxrP887FuX9/ikSX21bcAQD90AB2fu6dpAkOFyZz
X9UdE7QxtBhHVWRx3DRr4P/cDrgzBGBx4KcWCSsGAQQB2kcPAQEHQEDgLoxnsU3i
jAnPZwAbShiRcxeQ/gXkqufbQlVJy/BfiPUEGBYIACYWIQTCjZN1dWA+tKu3JYYc
B3ncXAqd5AUCYHHgpwIbAgUJAeEzgACBCRAcB3ncXAqd5HYgBBkWCAAdFiEEK92x
XVRjS6mw6oyiCpxkP6el608FAmBx4KcACgkQCpxkP6el608JUgEA7NU04gu368gu
lSeGbGcjAERgJmFcxHjyEoqb7eCR+9UBALhy3Q6VSio081TBhtg9M82QL0NoxlkZ
NYg3TjzR5U4Mg9YA/1tG8HmWUqv5dE901v18ErGVKo8di06VqJT4jE8BRNLcAQCI
PkJjNZFtt73kqNgwA/L2JPF2T6YJWYSPOtmQMrCnCw==
=e6EH
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGBlJjMBEAC2wbO/PIAzVSAp2kk7MXmzoXVRSPyEbnjN6qm77nrzvugh/beP
ZucG6lbXMxRsCj4GS9xLcGZoSQZhT/2GJdy+aUt7zf6sympJUTcgPdEVmf5uTxWn
QkBg0Bdm6h8xwvgTZVrdfwy7f7jfAsGSXKzEmJfJ2L6LHmAMI3I+csdPqKBHSzj6
@ -65,185 +92,174 @@ wpxdIIyaoaS8NSuPIrV1g4SUXYs=
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
iU/+
=pJ+M
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
bItY
=z8k6
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
U3I=
=wkmV
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
ovhBoCTlBaU=
=Hyro
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -40,8 +40,8 @@
%define psuffix %{nil}
%endif
%global apiver 20220829
%global zendver 20220829
%global apiver 20230831
%global zendver 20230831
%define extension_dir %{_libdir}/%{php_name}/extensions
%define php_sysconf %{_sysconfdir}/%{php_name}
@ -57,7 +57,7 @@
%bcond_without sodium
Name: %{pprefix}%{php_name}%{psuffix}
Version: 8.2.19
Version: 8.3.8
Release: 0
Summary: Interpreter for the PHP scripting language version 8
License: MIT AND PHP-3.01
@ -85,7 +85,8 @@ Patch2: php-php-config.patch
# SUSE specific ini defaults
Patch3: php-ini.patch
# use of the system timezone database
Patch4: php-systzdata-v23.patch
# https://git.remirepo.net/cgit/rpms/scl-php83/php.git/plain/php-8.3.0-systzdata-v24.patch
Patch4: php-systzdata-v24.patch
# adjust upstream systemd unit to SUSE needs
Patch5: php-systemd-unit.patch
# PATCH-FEATURE-OPENSUSE use ordered input files for reproducible /usr/bin/phar.phar
@ -1154,6 +1155,7 @@ Build cli \
--with-mysqli=shared,mysqlnd \
--with-unixODBC=shared,%{_usr} \
--with-openssl=shared \
--with-system-ciphers \
--with-pgsql=shared,%{_usr} \
--enable-phar=shared \
--with-enchant=shared \