Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package php8 for openSUSE:Factory checked in 
at 2024-04-05 20:24:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/php8 (Old)
 and      /work/SRC/openSUSE:Factory/.php8.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "php8"

Fri Apr  5 20:24:37 2024 rev:65 rq:1165539 version:8.3.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/php8/php8.changes        2024-03-20 
21:09:59.528351884 +0100
+++ /work/SRC/openSUSE:Factory/.php8.new.1905/php8.changes      2024-04-05 
20:24:56.400213711 +0200
@@ -2 +2 @@
-Tue Mar 19 06:04:43 UTC 2024 - pgaj...@suse.com
+Tue Mar 19 06:17:22 UTC 2024 - pgaj...@suse.com
@@ -4 +4 @@
-- version update to 8.2.17
+- version update to 8.3.4
@@ -8 +8 @@
-Wed Mar  6 09:57:38 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
+Wed Mar  6 19:39:24 UTC 2024 - Pedro Monreal <pmonr...@suse.com>
@@ -15 +15 @@
-Fri Feb 16 07:57:56 UTC 2024 - pgaj...@suse.com
+Fri Feb 16 07:20:02 UTC 2024 - pgaj...@suse.com
@@ -17,2 +17,2 @@
-- version update to 8.2.16
-  * This is a bug fix release.
+- version update to 8.3.3
+  * A bugfix release.
@@ -23 +23 @@
-Thu Jan 18 18:01:47 UTC 2024 - pgaj...@suse.com
+Thu Jan 18 18:06:25 UTC 2024 - pgaj...@suse.com
@@ -25 +25 @@
-- version update to 8.2.15
+- version update to 8.3.2
@@ -32 +32 @@
-Tue Jan  2 11:40:49 UTC 2024 - pgaj...@suse.com
+Wed Dec 27 17:54:25 UTC 2023 - Manu Maier <mman...@outlook.de>
@@ -34 +34 @@
-- version update to 8.2.14
+- version update to 8.3.1
@@ -36 +36,51 @@
-    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 - pgaj...@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

Old:
----
  php-8.2.17.tar.xz
  php-8.2.17.tar.xz.asc
  php-systzdata-v23.patch

New:
----
  php-8.3.4.tar.xz
  php-8.3.4.tar.xz.asc
  php-systzdata-v24.patch

BETA DEBUG BEGIN:
  Old:- deleted patches
  - php-systzdata-v23.patch
- added patches
BETA DEBUG END:

BETA DEBUG BEGIN:
  New:- added patches
  + php-systzdata-v24.patch
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ php8.spec ++++++
--- /var/tmp/diff_new_pack.w9xYmm/_old  2024-04-05 20:24:57.560256373 +0200
+++ /var/tmp/diff_new_pack.w9xYmm/_new  2024-04-05 20:24:57.560256373 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package php8
+# spec file
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -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.17
+Version:        8.3.4
 Release:        0
 Summary:        Interpreter for the PHP scripting language version 8
 License:        MIT AND PHP-3.01
@@ -85,7 +85,8 @@
 # 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
@@ -279,7 +280,7 @@
 Requires:       apache2-prefork
 Requires:       php = %{version}
 Requires(post): %{_sbindir}/a2enmod
-Requires(preun): %{_sbindir}/a2enmod
+Requires(preun):%{_sbindir}/a2enmod
 Provides:       mod_php_any = %{version}
 Provides:       php-sapi = %{version}
 Obsoletes:      mod_php_any < %{version}

++++++ php-8.2.17.tar.xz -> php-8.3.4.tar.xz ++++++
/work/SRC/openSUSE:Factory/php8/php-8.2.17.tar.xz 
/work/SRC/openSUSE:Factory/.php8.new.1905/php-8.3.4.tar.xz differ: char 13, 
line 1

++++++ php-ar-flags.patch ++++++
--- /var/tmp/diff_new_pack.w9xYmm/_old  2024-04-05 20:24:57.652259757 +0200
+++ /var/tmp/diff_new_pack.w9xYmm/_new  2024-04-05 20:24:57.656259903 +0200
@@ -1,8 +1,8 @@
-Index: php-8.2.15/configure.ac
+Index: php-8.3.2/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.2.orig/configure.ac
++++ php-8.3.2/configure.ac
+@@ -1657,7 +1657,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

++++++ php-build-reproducible-phar.patch ++++++
--- /var/tmp/diff_new_pack.w9xYmm/_old  2024-04-05 20:24:57.668260345 +0200
+++ /var/tmp/diff_new_pack.w9xYmm/_new  2024-04-05 20:24:57.672260492 +0200
@@ -16,11 +16,11 @@
  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.3/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.3.orig/ext/phar/phar.c
++++ php-8.3.3/ext/phar/phar.c
+@@ -2993,7 +2993,7 @@ int phar_flush(phar_archive_data *phar,
                        4: metadata-len
                        +: metadata
                */
@@ -29,10 +29,10 @@
                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.3/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.3.orig/ext/phar/phar_internal.h
++++ php-8.3.3/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 @@
  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.3/ext/phar/stream.c
 ===================================================================
---- php-8.2.16.orig/ext/phar/stream.c
-+++ php-8.2.16/ext/phar/stream.c
+--- php-8.3.3.orig/ext/phar/stream.c
++++ php-8.3.3/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 @@
                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.3/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.3.orig/ext/phar/tar.c
++++ php-8.3.3/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 @@
        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.3/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.3.orig/ext/phar/util.c
++++ php-8.3.3/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 @@
        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.3/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.3.orig/ext/phar/zip.c
++++ php-8.3.3/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;

++++++ php-ini.patch ++++++
--- /var/tmp/diff_new_pack.w9xYmm/_old  2024-04-05 20:24:57.692261228 +0200
+++ /var/tmp/diff_new_pack.w9xYmm/_new  2024-04-05 20:24:57.696261375 +0200
@@ -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 @@
  ;
  ; 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 @@
  
  ; 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 @@
  
  ; 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@

++++++ php-systzdata-v23.patch -> php-systzdata-v24.patch ++++++
--- /work/SRC/openSUSE:Factory/php8/php-systzdata-v23.patch     2023-06-23 
21:52:20.118529693 +0200
+++ /work/SRC/openSUSE:Factory/.php8.new.1905/php-systzdata-v24.patch   
2024-04-05 20:24:56.348211798 +0200
@@ -5,6 +5,7 @@
 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 @@
 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 @@
  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 @@
 +
 +#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 @@
  
  #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 @@
        /* 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 @@
 +
 +    /* 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 @@
 +
 +        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 @@
 +
 +        if (*p == '\n' || *p == '\t')
 +            *p = '\0';
-+
++        
 +        hash = tz_hash(name);
 +        i = malloc(sizeof *i);
 +        memcpy(i->code, code, 2);
@@ -289,7 +302,7 @@
 +
 +/* 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 @@
 +    }
 +
 +    return NULL;
-+}
++}    
 +
 +/* Filter out some non-tzdata files and the posix/right databases, if
 + * present. */
@@ -380,7 +393,7 @@
 +      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 @@
 +                      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 @@
 +
 +                      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 @@
 +{
 +        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 @@
 +                        ent->pos = 0;
 +                }
 +        }
-+
++        
 +        sysdb->data = (unsigned char *)data;
 +}
 +
@@ -538,7 +554,7 @@
 +      struct stat st;
 +      char *p;
 +      int fd;
-+
++      
 +      if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) {
 +              return NULL;
 +      }
@@ -547,7 +563,12 @@
 +
 +      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 @@
 +      *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 @@
  {
        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 @@
 +      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 @@
  }
  
  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 @@
 +              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 @@
  }
  
  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 @@
        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 @@
                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 @@
 +                      }
 +
 +                      /* 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 @@
        } 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);

++++++ php8.keyring ++++++
--- /var/tmp/diff_new_pack.w9xYmm/_old  2024-04-05 20:24:57.740262993 +0200
+++ /var/tmp/diff_new_pack.w9xYmm/_new  2024-04-05 20:24:57.740262993 +0200
@@ -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
@@ -63,188 +90,4 @@
 wpxdIIyaoaS8NSuPIrV1g4SUXYs=
 =fB6k
 -----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
------END PGP PUBLIC KEY BLOCK-----
 

Reply via email to