summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2022-07-28 09:57:26 +0200
committerRemi Collet <remi@php.net>2022-07-28 09:57:26 +0200
commit74787d49b144d5d51761c1d764d2f957b5a6c04b (patch)
tree4b6607705441f8f5c7452cf35d7262f71c168e75
parent59da31bc2824ce5613f83a5daf4c418ca1df9c1e (diff)
more upstream patches for PHP 8.2
-rw-r--r--memcached-upstream.patch200
-rw-r--r--php-pecl-memcached.spec7
2 files changed, 200 insertions, 7 deletions
diff --git a/memcached-upstream.patch b/memcached-upstream.patch
index 42c3b51..302c007 100644
--- a/memcached-upstream.patch
+++ b/memcached-upstream.patch
@@ -1,7 +1,7 @@
From 1f22de74379208d9758ba99a9bd7373eefeb48f2 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Mon, 28 Mar 2022 08:09:29 +0200
-Subject: [PATCH] fix #513 skip test with old and dead libmemcached
+Subject: [PATCH 1/3] fix #513 skip test with old and dead libmemcached
---
tests/memcachedserver.phpt | 1 -
@@ -9,7 +9,7 @@ Subject: [PATCH] fix #513 skip test with old and dead libmemcached
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/memcachedserver.phpt b/tests/memcachedserver.phpt
-index 7b058d70..407fcf97 100644
+index 7b058d7..407fcf9 100644
--- a/tests/memcachedserver.phpt
+++ b/tests/memcachedserver.phpt
@@ -8,7 +8,6 @@ if (!extension_loaded("memcached")) {
@@ -21,7 +21,7 @@ index 7b058d70..407fcf97 100644
die("skip needs at least libmemcached 1.1.0\n");
}
diff --git a/tests/memcachedserver6.phpt b/tests/memcachedserver6.phpt
-index a2277b4a..3d02b244 100644
+index a2277b4..3d02b24 100644
--- a/tests/memcachedserver6.phpt
+++ b/tests/memcachedserver6.phpt
@@ -8,6 +8,9 @@ if (!extension_loaded("memcached")) {
@@ -34,17 +34,20 @@ index a2277b4a..3d02b244 100644
?>
--FILE--
<?php
+--
+2.35.3
+
From fc388e65e7ceab9e6d52bc77b6306f71db981873 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Fri, 3 Jun 2022 16:56:00 +0200
-Subject: [PATCH] fix ${var} deprecation
+Subject: [PATCH 2/3] fix ${var} deprecation
---
tests/touch_binary.phpt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/touch_binary.phpt b/tests/touch_binary.phpt
-index 382c1778..059ec74c 100644
+index 382c177..059ec74 100644
--- a/tests/touch_binary.phpt
+++ b/tests/touch_binary.phpt
@@ -28,12 +28,12 @@ function status_print ($op, $mem, $expected)
@@ -62,3 +65,190 @@ index 382c1778..059ec74c 100644
}
}
+--
+2.35.3
+
+From ce2dfa5e649e01e4b4df925ebaef95ca75a3f353 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Thu, 28 Jul 2022 09:28:33 +0200
+Subject: [PATCH 3/3] mark password as a sensitive param for 8.2 (#516)
+
+* mark password as a sensitive param for 8.2
+---
+ php_memcached.c | 7 +++----
+ php_memcached.stub.php | 6 +++---
+ php_memcached_arginfo.h | 37 +++++++++++++++++++++++++++++-----
+ php_memcached_legacy_arginfo.h | 30 ++++++++++++++++++++++-----
+ 4 files changed, 63 insertions(+), 17 deletions(-)
+
+diff --git a/php_memcached.c b/php_memcached.c
+index 73deaf6..7ccc9b5 100644
+--- a/php_memcached.c
++++ b/php_memcached.c
+@@ -3898,6 +3898,7 @@ PHP_METHOD(MemcachedServer, on)
+ #if PHP_VERSION_ID < 80000
+ #include "php_memcached_legacy_arginfo.h"
+ #else
++#include "zend_attributes.h"
+ #include "php_memcached_arginfo.h"
+ #endif
+
+@@ -4254,8 +4255,7 @@ PHP_MINIT_FUNCTION(memcached)
+
+ le_memc = zend_register_list_destructors_ex(NULL, php_memc_dtor, "Memcached persistent connection", module_number);
+
+- INIT_CLASS_ENTRY(ce, "Memcached", class_Memcached_methods);
+- memcached_ce = zend_register_internal_class(&ce);
++ memcached_ce = register_class_Memcached();
+ memcached_ce->create_object = php_memc_object_new;
+
+ #ifdef HAVE_MEMCACHED_PROTOCOL
+@@ -4264,8 +4264,7 @@ PHP_MINIT_FUNCTION(memcached)
+ memcached_server_object_handlers.clone_obj = NULL;
+ memcached_server_object_handlers.free_obj = php_memc_server_free_storage;
+
+- INIT_CLASS_ENTRY(ce, "MemcachedServer", class_MemcachedServer_methods);
+- memcached_server_ce = zend_register_internal_class(&ce);
++ memcached_server_ce = register_class_MemcachedServer();
+ memcached_server_ce->create_object = php_memc_server_new;
+ #endif
+
+diff --git a/php_memcached.stub.php b/php_memcached.stub.php
+index 819186f..a44b180 100644
+--- a/php_memcached.stub.php
++++ b/php_memcached.stub.php
+@@ -3,9 +3,9 @@
+ /**
+ * @generate-function-entries
+ * @generate-legacy-arginfo
++ * @generate-class-entries
+ */
+
+-
+ class Memcached {
+
+ public function __construct(?string $persistent_id=null, ?callable $callback=null, ?string $connection_str=null) {}
+@@ -75,7 +75,7 @@ class Memcached {
+ public function setOptions(array $options): bool {}
+ public function setBucket(array $host_map, ?array $forward_map, int $replicas): bool {}
+ #ifdef HAVE_MEMCACHED_SASL
+- public function setSaslAuthData(string $username, string $password): bool {}
++ public function setSaslAuthData(string $username, #[\SensitiveParameter] string $password): bool {}
+ #endif
+
+ #ifdef HAVE_MEMCACHED_SET_ENCODING_KEY
+@@ -86,7 +86,7 @@ class Memcached {
+ public function checkKey(string $key): bool {}
+ }
+
+-#ifdef HAVE_MEMCACHED_PROTOCOL
++#if defined(HAVE_MEMCACHED_PROTOCOL)
+ class MemcachedServer {
+
+ public function run(string $address): bool {}
+diff --git a/php_memcached_arginfo.h b/php_memcached_arginfo.h
+index 3373624..3108e39 100644
+--- a/php_memcached_arginfo.h
++++ b/php_memcached_arginfo.h
+@@ -1,5 +1,5 @@
+ /* This is a generated file, edit the .stub.php file instead.
+- * Stub hash: 3f4694d4e1f3d1647a832acd8539b056b2ab5e7a */
++ * Stub hash: 0964c9bfee903e59b63e5a16bd8b6611d827b151 */
+
+ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Memcached___construct, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, persistent_id, IS_STRING, 1, "null")
+@@ -406,12 +406,39 @@ static const zend_function_entry class_Memcached_methods[] = {
+ };
+
+
+-static const zend_function_entry class_MemcachedServer_methods[] = {
+ #if defined(HAVE_MEMCACHED_PROTOCOL)
++static const zend_function_entry class_MemcachedServer_methods[] = {
+ ZEND_ME(MemcachedServer, run, arginfo_class_MemcachedServer_run, ZEND_ACC_PUBLIC)
+-#endif
+-#if defined(HAVE_MEMCACHED_PROTOCOL)
+ ZEND_ME(MemcachedServer, on, arginfo_class_MemcachedServer_on, ZEND_ACC_PUBLIC)
+-#endif
+ ZEND_FE_END
+ };
++#endif
++
++static zend_class_entry *register_class_Memcached(void)
++{
++ zend_class_entry ce, *class_entry;
++
++ INIT_CLASS_ENTRY(ce, "Memcached", class_Memcached_methods);
++ class_entry = zend_register_internal_class_ex(&ce, NULL);
++#if (PHP_VERSION_ID >= 80200)
++
++#if defined(HAVE_MEMCACHED_SASL)
++
++ zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "setsaslauthdata", sizeof("setsaslauthdata") - 1), 1, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
++#endif
++#endif
++
++ return class_entry;
++}
++
++#if defined(HAVE_MEMCACHED_PROTOCOL)
++static zend_class_entry *register_class_MemcachedServer(void)
++{
++ zend_class_entry ce, *class_entry;
++
++ INIT_CLASS_ENTRY(ce, "MemcachedServer", class_MemcachedServer_methods);
++ class_entry = zend_register_internal_class_ex(&ce, NULL);
++
++ return class_entry;
++}
++#endif
+diff --git a/php_memcached_legacy_arginfo.h b/php_memcached_legacy_arginfo.h
+index ad6d656..6bb8e2d 100644
+--- a/php_memcached_legacy_arginfo.h
++++ b/php_memcached_legacy_arginfo.h
+@@ -1,5 +1,5 @@
+ /* This is a generated file, edit the .stub.php file instead.
+- * Stub hash: 3f4694d4e1f3d1647a832acd8539b056b2ab5e7a */
++ * Stub hash: 0964c9bfee903e59b63e5a16bd8b6611d827b151 */
+
+ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Memcached___construct, 0, 0, 0)
+ ZEND_ARG_INFO(0, persistent_id)
+@@ -402,12 +402,32 @@ static const zend_function_entry class_Memcached_methods[] = {
+ };
+
+
+-static const zend_function_entry class_MemcachedServer_methods[] = {
+ #if defined(HAVE_MEMCACHED_PROTOCOL)
++static const zend_function_entry class_MemcachedServer_methods[] = {
+ ZEND_ME(MemcachedServer, run, arginfo_class_MemcachedServer_run, ZEND_ACC_PUBLIC)
+-#endif
+-#if defined(HAVE_MEMCACHED_PROTOCOL)
+ ZEND_ME(MemcachedServer, on, arginfo_class_MemcachedServer_on, ZEND_ACC_PUBLIC)
+-#endif
+ ZEND_FE_END
+ };
++#endif
++
++static zend_class_entry *register_class_Memcached(void)
++{
++ zend_class_entry ce, *class_entry;
++
++ INIT_CLASS_ENTRY(ce, "Memcached", class_Memcached_methods);
++ class_entry = zend_register_internal_class_ex(&ce, NULL);
++
++ return class_entry;
++}
++
++#if defined(HAVE_MEMCACHED_PROTOCOL)
++static zend_class_entry *register_class_MemcachedServer(void)
++{
++ zend_class_entry ce, *class_entry;
++
++ INIT_CLASS_ENTRY(ce, "MemcachedServer", class_MemcachedServer_methods);
++ class_entry = zend_register_internal_class_ex(&ce, NULL);
++
++ return class_entry;
++}
++#endif
+--
+2.35.3
+
diff --git a/php-pecl-memcached.spec b/php-pecl-memcached.spec
index f85a10d..11bf21d 100644
--- a/php-pecl-memcached.spec
+++ b/php-pecl-memcached.spec
@@ -40,7 +40,7 @@
Summary: Extension to work with the Memcached caching daemon
Name: %{?sub_prefix}php-pecl-memcached
Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
-Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: PHP
URL: https://pecl.php.net/package/%{pecl_name}
@@ -377,8 +377,11 @@ exit $ret
%changelog
+* Thu Jul 28 2022 Remi Collet <remi@remirepo.net> - 3.2.0-3
+- more upstream patches for PHP 8.2
+
* Fri Jun 3 2022 Remi Collet <remi@remirepo.net> - 3.2.0-2
-- add upstream patch for PHP 8.2
+- add upstream patches for PHP 8.2
* Thu Mar 24 2022 Remi Collet <remi@remirepo.net> - 3.2.0-1
- update to 3.2.0