summaryrefslogtreecommitdiffstats
path: root/php85.patch
diff options
context:
space:
mode:
Diffstat (limited to 'php85.patch')
-rw-r--r--php85.patch114
1 files changed, 114 insertions, 0 deletions
diff --git a/php85.patch b/php85.patch
new file mode 100644
index 0000000..96f8d63
--- /dev/null
+++ b/php85.patch
@@ -0,0 +1,114 @@
+From ee5e383c6bbca94d5f93134510468b3fe87a470c Mon Sep 17 00:00:00 2001
+From: jvoisin <julien.voisin@dustri.org>
+Date: Sun, 31 Aug 2025 16:05:44 +0200
+Subject: [PATCH] Add support for PHP8.5
+
+---
+ .github/workflows/builds.yml | 1 +
+ src/sp_cookie_encryption.c | 23 +++++++++++++++++--
+ ...isabled_functions_shell_exec_backtick.phpt | 1 +
+ ...led_functions_shell_exec_backtick_var.phpt | 1 +
+ ...ctions_shell_exec_backtick_var_string.phpt | 1 +
+ 5 files changed, 25 insertions(+), 2 deletions(-)
+
+diff --git a/src/sp_cookie_encryption.c b/src/sp_cookie_encryption.c
+index c833f943..ec5c7c2d 100644
+--- a/src/sp_cookie_encryption.c
++++ b/src/sp_cookie_encryption.c
+@@ -48,7 +48,11 @@ static zend_string *encrypt_data(zend_string *data) {
+ #if PHP_VERSION_ID >= 70300
+ static void php_head_parse_cookie_options_array(
+ zval *options, zend_long *expires, zend_string **path, zend_string **domain,
+- zend_bool *secure, zend_bool *httponly, zend_string **samesite) {
++ zend_bool *secure, zend_bool *httponly, zend_string **samesite
++#if PHP_VERSION_ID >= 80500
++ ,bool *partitioned
++#endif
++ ) {
+ int found = 0;
+ zend_string *key;
+ zval *value;
+@@ -73,6 +77,11 @@ static void php_head_parse_cookie_options_array(
+ } else if (zend_string_equals_literal_ci(key, "samesite")) {
+ *samesite = zval_get_string(value);
+ found++;
++#if PHP_VERSION_ID >= 80500
++ } else if (zend_string_equals_literal_ci(key, "partitioned")) {
++ *partitioned = zval_is_true(value);
++ found++;
++#endif
+ } else {
+ php_error_docref(NULL, E_WARNING,
+ "Unrecognized key '%s' found in the options array",
+@@ -94,6 +103,9 @@ static void php_head_parse_cookie_options_array(
+ #endif
+
+ PHP_FUNCTION(sp_setcookie) {
++#if PHP_VERSION_ID >= 80500
++ zend_bool partitioned;
++#endif
+ zend_string *name = NULL, *value = NULL, *path = NULL, *domain = NULL,
+ *value_enc = NULL,
+ #if PHP_VERSION_ID < 70300
+@@ -133,7 +145,11 @@ PHP_FUNCTION(sp_setcookie) {
+ }
+ php_head_parse_cookie_options_array(expires_or_options, &expires, &path,
+ &domain, &secure, &httponly,
++#if PHP_VERSION_ID < 80500
+ &samesite);
++#else
++ &samesite, &partitioned);
++#endif
+ } else {
+ expires = zval_get_long(expires_or_options);
+ }
+@@ -194,9 +210,12 @@ PHP_FUNCTION(sp_setcookie) {
+ if (php_setcookie(name, (value_enc ? value_enc : value), expires,
+ (path_samesite ? path_samesite : path), domain, secure, 1,
+ httponly) == SUCCESS) {
+-#else
++#elif PHP_VERSION_ID < 80500
+ if (php_setcookie(name, (value_enc ? value_enc : value), expires, path,
+ domain, secure, httponly, samesite, 1) == SUCCESS) {
++#else
++ if (php_setcookie(name, (value_enc ? value_enc : value), expires, path,
++ domain, secure, httponly, samesite, partitioned, false) == SUCCESS) {
+ #endif
+ RETVAL_TRUE;
+ } else {
+diff --git a/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt b/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt
+index aeb64c29..6f53ceae 100644
+--- a/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt
++++ b/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt
+@@ -4,6 +4,7 @@ Disable functions - shell_exec via backtick operator
+ <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
+ --INI--
+ sp.configuration_file={PWD}/config/disabled_functions_extra.ini
++error_reporting = E_ALL & ~E_DEPRECATED
+ --FILE--
+ <?php
+ echo `ls`;
+diff --git a/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt
+index a312acfb..6ea5865d 100644
+--- a/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt
++++ b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt
+@@ -4,6 +4,7 @@ Disable functions - shell_exec via backtick operator in context of a var name
+ <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
+ --INI--
+ sp.configuration_file={PWD}/config/disabled_functions_extra.ini
++error_reporting = E_ALL & ~E_DEPRECATED
+ --FILE--
+ <?php
+ echo ${`ls`};
+diff --git a/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt
+index ea77a7dd..f1175680 100644
+--- a/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt
++++ b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt
+@@ -4,6 +4,7 @@ Disable functions - shell_exec via backtick operator in context of a var name in
+ <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
+ --INI--
+ sp.configuration_file={PWD}/config/disabled_functions_extra.ini
++error_reporting = E_ALL & ~E_DEPRECATED
+ --FILE--
+ <?php
+ echo "{${`ls`}}";