summaryrefslogtreecommitdiffstats
path: root/0001-fix-for-PHP-8.4.patch
blob: 89eb49979624d471594c941c7175ba1967dcd2f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
From 6137150915431a59edb993a008eb3b21fc2d02e0 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Wed, 25 Sep 2024 15:06:03 +0200
Subject: [PATCH] fix for PHP 8.4

---
 crypto_cipher.c | 12 ++++++++++++
 crypto_hash.c   |  4 ++++
 2 files changed, 16 insertions(+)

diff --git a/crypto_cipher.c b/crypto_cipher.c
index a0465c1..fb3e410 100644
--- a/crypto_cipher.c
+++ b/crypto_cipher.c
@@ -497,7 +497,11 @@ PHP_MINIT_FUNCTION(crypto_cipher)
 static inline void php_crypto_cipher_set_algorithm_name(zval *object,
 		char *algorithm, phpc_str_size_t algorithm_len TSRMLS_DC)
 {
+#if PHP_VERSION_ID < 80400
 	php_strtoupper(algorithm, algorithm_len);
+#else
+	zend_str_toupper(algorithm, algorithm_len);
+#endif
 	zend_update_property_stringl(php_crypto_cipher_ce, PHPC_OBJ_FOR_PROP(object),
 			"algorithm", sizeof("algorithm")-1, algorithm, algorithm_len TSRMLS_CC);
 }
@@ -513,10 +517,18 @@ PHP_CRYPTO_API const EVP_CIPHER *php_crypto_get_cipher_algorithm(
 		return NULL;
 	}
 
+#if PHP_VERSION_ID < 80400
 	php_strtoupper(algorithm, algorithm_len);
+#else
+	zend_str_toupper(algorithm, algorithm_len);
+#endif
 	cipher = EVP_get_cipherbyname(algorithm);
 	if (!cipher) {
+#if PHP_VERSION_ID < 80400
 		php_strtolower(algorithm, algorithm_len);
+#else
+		zend_str_tolower(algorithm, algorithm_len);
+#endif
 		cipher = EVP_get_cipherbyname(algorithm);
 	}
 	return cipher;
diff --git a/crypto_hash.c b/crypto_hash.c
index 8015aa4..9c4f182 100644
--- a/crypto_hash.c
+++ b/crypto_hash.c
@@ -319,7 +319,11 @@ PHP_MINIT_FUNCTION(crypto_hash)
 static inline void php_crypto_hash_set_algorithm_name(zval *object,
 		char *algorithm, phpc_str_size_t algorithm_len TSRMLS_DC)
 {
+#if PHP_VERSION_ID < 80400
 	php_strtoupper(algorithm, algorithm_len);
+#else
+	zend_str_toupper(algorithm, algorithm_len);
+#endif
 	zend_update_property_stringl(php_crypto_hash_ce, PHPC_OBJ_FOR_PROP(object),
 			"algorithm", sizeof("algorithm")-1, algorithm, algorithm_len TSRMLS_CC);
 }
-- 
2.46.1