diff --git a/php-8.3.11.tar.xz b/php-8.3.11.tar.xz new file mode 100644 index 0000000..8b0bcd2 --- /dev/null +++ b/php-8.3.11.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b862b098a08ab9bf4b36ed12c7d0d9f65353656b36fb0e3c5344093aceb35802 +size 12481420 diff --git a/php-8.3.11.tar.xz.asc b/php-8.3.11.tar.xz.asc new file mode 100644 index 0000000..7e0d90d --- /dev/null +++ b/php-8.3.11.tar.xz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYIAB0WIQTCjZN1dWA+tKu3JYYcB3ncXAqd5AUCZs4m5wAKCRAcB3ncXAqd +5GEcAQDijVOhXPZKRA3CPaut9JwOysoNgX9/A5zLeMGgTwUMIwEAwGig+o0XKonL +Ay0PrGtv7SLU3ZUXKGIfo/E2jCDlUgE= +=1Ytt +-----END PGP SIGNATURE----- diff --git a/php-8.3.8.tar.xz b/php-8.3.8.tar.xz deleted file mode 100644 index c5b80e6..0000000 --- a/php-8.3.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aea358b56186f943c2bbd350c9005b9359133d47e954cfc561385319ae5bb8d7 -size 12480896 diff --git a/php-8.3.8.tar.xz.asc b/php-8.3.8.tar.xz.asc deleted file mode 100644 index fef0436..0000000 --- a/php-8.3.8.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------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----- diff --git a/php-systzdata-v24.patch b/php-systzdata-v24.patch index 8108671..5af7258 100644 --- a/php-systzdata-v24.patch +++ b/php-systzdata-v24.patch @@ -36,10 +36,10 @@ r2: add filesystem trawl to set up name alias index r1: initial revision -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 +Index: php-8.3.11/ext/date/config0.m4 +=================================================================== +--- php-8.3.11.orig/ext/date/config0.m4 ++++ php-8.3.11/ext/date/config0.m4 @@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h]) dnl Check for strtoll, atoll AC_CHECK_FUNCS(strtoll atoll) @@ -57,13 +57,13 @@ index 6b803bf33e..53c3cdb3f4 100644 + fi +fi + - 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" -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 + AX_CHECK_COMPILE_FLAG([-Wno-implicit-fallthrough], + [PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -Wno-implicit-fallthrough"],, + [-Werror]) +Index: php-8.3.11/ext/date/lib/parse_tz.c +=================================================================== +--- php-8.3.11.orig/ext/date/lib/parse_tz.c ++++ php-8.3.11/ext/date/lib/parse_tz.c @@ -26,9 +26,33 @@ #include "timelib.h" #include "timelib_private.h" @@ -98,7 +98,7 @@ index c7f93580d7..ec196a98b6 100644 #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) # if defined(__LITTLE_ENDIAN__) -@@ -95,6 +119,11 @@ static int read_php_preamble(const unsigned char **tzf, timelib_tzinfo *tz) +@@ -95,6 +119,11 @@ static int read_php_preamble(const unsig { uint32_t version; @@ -110,7 +110,7 @@ index c7f93580d7..ec196a98b6 100644 /* read ID */ version = (*tzf)[3] - '0'; *tzf += 4; -@@ -577,7 +606,475 @@ void timelib_dump_tzinfo(timelib_tzinfo *tz) +@@ -577,7 +606,475 @@ void timelib_dump_tzinfo(timelib_tzinfo } } @@ -178,7 +178,7 @@ index c7f93580d7..ec196a98b6 100644 + + /* Annoying encoding used by zone.tab has no decimal point, so use + * the length to determine the format: -+ * ++ * + * 4 = DDMM + * 5 = DDDMM + * 6 = DDMMSS @@ -245,10 +245,10 @@ index c7f93580d7..ec196a98b6 100644 + + 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; @@ -282,7 +282,7 @@ index c7f93580d7..ec196a98b6 100644 + + if (*p == '\n' || *p == '\t') + *p = '\0'; -+ ++ + hash = tz_hash(name); + i = malloc(sizeof *i); + memcpy(i->code, code, 2); @@ -302,7 +302,7 @@ index c7f93580d7..ec196a98b6 100644 + +/* 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); @@ -318,7 +318,7 @@ index c7f93580d7..ec196a98b6 100644 + } + + return NULL; -+} ++} + +/* Filter out some non-tzdata files and the posix/right databases, if + * present. */ @@ -393,7 +393,7 @@ index c7f93580d7..ec196a98b6 100644 + 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); @@ -414,22 +414,22 @@ index c7f93580d7..ec196a98b6 100644 + 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); @@ -447,7 +447,7 @@ index c7f93580d7..ec196a98b6 100644 + + free(ents[--count]); + } -+ ++ + if (count != -1) free(ents); + free(top); + } while (dirstack_top); @@ -472,7 +472,7 @@ index c7f93580d7..ec196a98b6 100644 +{ + 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); @@ -505,7 +505,7 @@ index c7f93580d7..ec196a98b6 100644 + ent->pos = 0; + } + } -+ ++ + sysdb->data = (unsigned char *)data; +} + @@ -554,7 +554,7 @@ index c7f93580d7..ec196a98b6 100644 + struct stat st; + char *p; + int fd; -+ ++ + if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) { + return NULL; + } @@ -577,7 +577,7 @@ index c7f93580d7..ec196a98b6 100644 + *length = st.st_size; + p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); + close(fd); -+ ++ + return p != MAP_FAILED ? p : NULL; +} + @@ -587,7 +587,7 @@ index c7f93580d7..ec196a98b6 100644 { int left = 0, right = tzdb->index_size - 1; -@@ -603,9 +1100,49 @@ static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, +@@ -603,9 +1100,49 @@ static int seek_to_tz_position(const uns return 0; } @@ -637,7 +637,7 @@ index c7f93580d7..ec196a98b6 100644 } const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count) -@@ -617,7 +1154,32 @@ const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_ +@@ -617,7 +1154,32 @@ const timelib_tzdb_index_entry *timelib_ int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb) { const unsigned char *tzf; @@ -671,7 +671,7 @@ index c7f93580d7..ec196a98b6 100644 } static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) -@@ -662,6 +1224,8 @@ static timelib_tzinfo* timelib_tzinfo_ctor(const char *name) +@@ -662,6 +1224,8 @@ static timelib_tzinfo* timelib_tzinfo_ct timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code) { const unsigned char *tzf; @@ -680,7 +680,7 @@ index c7f93580d7..ec196a98b6 100644 timelib_tzinfo *tmp; int version; int transitions_result, types_result; -@@ -669,7 +1233,7 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t +@@ -669,7 +1233,7 @@ timelib_tzinfo *timelib_parse_tzfile(con *error_code = TIMELIB_ERROR_NO_ERROR; @@ -689,7 +689,7 @@ index c7f93580d7..ec196a98b6 100644 tmp = timelib_tzinfo_ctor(timezone); version = read_preamble(&tzf, tmp, &type); -@@ -712,11 +1276,38 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t +@@ -712,11 +1276,38 @@ timelib_tzinfo *timelib_parse_tzfile(con return NULL; } @@ -728,10 +728,10 @@ index c7f93580d7..ec196a98b6 100644 } else { *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; tmp = NULL; -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 +Index: php-8.3.11/ext/date/php_date.c +=================================================================== +--- php-8.3.11.orig/ext/date/php_date.c ++++ php-8.3.11/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); diff --git a/php8.changes b/php8.changes index 683a54d..e1dab25 100644 --- a/php8.changes +++ b/php8.changes @@ -1,3 +1,155 @@ +------------------------------------------------------------------- +Fri Aug 30 07:19:33 UTC 2024 - pgajdos@suse.com + +- version update to 8.3.11 + Core: + Fixed bug GH-15020 (Memory leak in Zend/Optimizer/escape_analysis.c). + Fixed bug GH-15023 (Memory leak in Zend/zend_ini.c). + Fixed bug GH-13330 (Append -Wno-implicit-fallthrough flag conditionally). + Fix uninitialized memory in network.c. + Fixed bug GH-15108 (Segfault when destroying generator during shutdown). + Fixed bug GH-15275 (Crash during GC of suspended generator delegate). + Curl: + Fixed case when curl_error returns an empty string. + DOM: + Fix UAF when removing doctype and using foreach iteration. + FFI: + Fixed bug GH-14286 (ffi enum type (when enum has no name) make memory leak). + Hash: + Fix crash when converting array data for array in shm in xxh3. + Intl: + Fixed bug GH-15087 (IntlChar::foldCase()'s $option is not optional). + Opcache: + Fixed bug GH-13817 (Segmentation fault for enabled observers after pass 4). + Fixed bug GH-13775 (Memory leak possibly related to opcache SHM placement). + Output: + Fixed bug GH-15179 (Segmentation fault (null pointer dereference) in ext/standard/url_scanner_ex.re). + PDO_Firebird: + Fix bogus fallthrough path in firebird_handle_get_attribute(). + PHPDBG: + Fixed bug GH-13199 (EOF emits redundant prompt in phpdbg local console mode with libedit/readline). + Fixed bug GH-15268 (heap buffer overflow in phpdbg (zend_hash_num_elements() Zend/zend_hash.h)). + Fixed bug GH-15210 use-after-free on watchpoint allocations. + Soap: + Fixed bug #55639 (Digest autentication dont work). + Fix SoapFault property destruction. + Fixed bug GH-15252 (SOAP XML broken since PHP 8.3.9 when using classmap constructor option). + Standard: + Fix passing non-finite timeout values in stream functions. + Fixed GH-14780 p(f)sockopen timeout overflow. + Streams: + Fixed bug GH-15028 (Memory leak in ext/phar/stream.c). + Fixed bug GH-15034 (Integer overflow on stream_notification_callback byte_max parameter with files bigger than 2GB). + Reverted fix for GH-14930 (Custom stream wrapper dir_readdir output truncated to 255 characters). + Tidy: + Fix memory leaks in ext/tidy basedir restriction code. + +------------------------------------------------------------------- +Fri Aug 16 18:01:11 UTC 2024 - Arjen de Korte + +- version update to 8.3.10 + Core: + Fixed bug GH-13922 (Fixed support for systems with sysconf(_SC_GETPW_R_SIZE_MAX) == -1). + Fixed bug GH-14626 (Fix is_zend_ptr() for huge blocks). + Fixed bug GH-14590 (Memory leak in FPM test gh13563-conf-bool-env.phpt. + Fixed OSS-Fuzz #69765. + Fixed bug GH-14741 (Segmentation fault in Zend/zend_types.h). + Fixed bug GH-14969 (Use-after-free in property coercion with __toString()). + Dom: + Fixed bug GH-14702 (DOMDocument::xinclude() crash). + Fileinfo: + Fixed bug GH-14888 (README.REDIST.BINS refers to non-existing LICENSE). + Gd: + ext/gd/tests/gh10614.phpt: skip if no PNG support. + restored warning instead of fata error. + LibXML: + Fixed bug GH-14563 (Build failure with libxml2 v2.13.0). + Opcache: + Fixed bug GH-14550 (No warning message when Zend DTrace is enabled that opcache.jit is implictly disabled). + Output: + Fixed bug GH-14808 (Unexpected null pointer in Zend/zend_string.h with empty output buffer). + PDO: + Fixed bug GH-14712 (Crash with PDORow access to null property). + Phar: + Fixed bug GH-14603 (null string from zip entry). + PHPDBG: + Fixed bug GH-14596 (crashes with ASAN and ZEND_RC_DEBUG=1). + Fixed bug GH-14553 (echo output trimmed at NULL byte). + Shmop: + Fixed bug GH-14537 (shmop Windows 11 crashes the process). + SPL: + Fixed bug GH-14639 (Member access within null pointer in ext/spl/spl_observer.c). + Standard: + Fixed bug GH-14775 (range function overflow with negative step argument). + Fix 32-bit wordwrap test failures. + Fixed bug GH-14774 (time_sleep_until overflow). + Streams: + Fixed bug GH-14930 (Custom stream wrapper dir_readdir output truncated to 255 characters in PHP 8.3). + Tidy: + Fix memory leak in tidy_repair_file(). + Treewide: + Fix compatibility with libxml2 2.13.2. + XML: + Move away from to-be-deprecated libxml fields. + Fixed bug GH-14834 (Error installing PHP when --with-pear is used). + +------------------------------------------------------------------- +Sun Jul 7 19:56:45 UTC 2024 - pgajdos@suse.com + +- version update to 8.3.9 + Core: + Fixed bug GH-14315 (Incompatible pointer type warnings). + Fixed bug GH-12814 (max_execution_time reached too early on MacOS 14 when running on Apple Silicon). + Fixed bug GH-14387 (Crash when stack walking in destructor of yielded from values during Generator->throw()). + Fixed bug GH-14456 (Attempting to initialize class with private constructor calls destructor). + Fixed bug GH-14510 (memleak due to missing pthread_attr_destroy()-call). + Fixed bug GH-14549 (Incompatible function pointer type for fclose). + BCMatch: + Fixed bug (bcpowmod() with mod = -1 returns 1 when it must be 0). + Curl: + Fixed bug GH-14307 (Test curl_basic_024 fails with curl 8.8.0). + DOM: + Fixed bug GH-14343 (Memory leak in xml and dom). + FPM: + Fixed bug GH-14037 (PHP-FPM ping.path and ping.response config vars are ignored in status pool). + GD: + Fix parameter numbers for imagecolorset(). + Intl: + Fix reference handling in SpoofChecker. + MySQLnd: + Partially fix bug GH-10599 (Apache crash on Windows when using a self-referencing anonymous function inside a class with an active mysqli connection). + Opcache: + Fixed bug GH-14267 (opcache.jit=off does not allow enabling JIT at runtime). + Fixed TLS access in JIT on FreeBSD/amd64. + Fixed bug GH-11188 (Error when building TSRM in ARM64). + PDO ODBC: + Fixed bug GH-14367 (incompatible SDWORD type with iODBC). + PHPDBG: + Fixed bug GH-13681 (segfault on watchpoint addition failure). + Soap: + Fixed bug #47925 (PHPClient can't decompress response). + Fix missing error restore code. + Fix memory leak if calling SoapServer::setObject() twice. + Fix memory leak if calling SoapServer::setClass() twice. + Fix reading zlib ini settings in ext-soap. + Fix memory leaks with string function name lookups. + Fixed bug #69280 (SoapClient classmap doesn't support fully qualified class name). + Fixed bug #76232 (SoapClient Cookie Header Semicolon). + Fixed memory leaks when calling SoapFault::__construct() twice. + Sodium: + Fix memory leaks in ext/sodium on failure of some functions. + SPL: + Fixed bug GH-14290 (Member access within null pointer in extension spl). + Standard: + Fixed bug GH-14483 (Fixed off-by-one error in checking length of abstract namespace Unix sockets). + Streams: + Fixed bug GH-11078 (PHP Fatal error triggers pointer being freed was not allocated and malloc: double free for ptr errors). + +------------------------------------------------------------------- +Thu Jun 20 09:35:17 UTC 2024 - pgajdos@suse.com + +- drop unmaintained apache-rex usage + ------------------------------------------------------------------- Fri Jun 7 07:02:10 UTC 2024 - pgajdos@suse.com diff --git a/php8.spec b/php8.spec index 476bea1..6845207 100644 --- a/php8.spec +++ b/php8.spec @@ -57,7 +57,7 @@ %bcond_without sodium Name: %{pprefix}%{php_name}%{psuffix} -Version: 8.3.8 +Version: 8.3.11 Release: 0 Summary: Interpreter for the PHP scripting language version 8 License: MIT AND PHP-3.01 @@ -160,11 +160,9 @@ BuildRequires: pkgconfig(libsodium) >= 1.0.8 BuildRequires: pkgconfig(libargon2) %endif %if "%{flavor}" == "test" -BuildRequires: apache-rex BuildRequires: mod_php_any = %{version} BuildRequires: php-cli = %{version} BuildRequires: php-fpm = %{version} -%apache_rex_deps %endif %if "%{flavor}" == "" @@ -1207,9 +1205,6 @@ for f in $(find .. -name "*.diff" -type f -print); do done set -x unset NO_INTERACTION REPORT_EXIT_STATUS -# Apache HTTPD runnable examples test -%apache_rex_check -m libs mod_php-basic -%apache_rex_check -m libs -b sapi/fpm mod_proxy_fcgi-php-fpm mod_proxy_fcgi-php-fpm-auth-RewriteRule mod_proxy_fcgi-php-fpm-CGIPassAuth exit 0 %endif