Commit fe5d4187fc4 for php.net
commit fe5d4187fc46ac8c456d3ad5524b29fdf8ba4128
Author: Shivam Mathur <shivam_jpr@hotmail.com>
Date: Mon Apr 27 16:33:51 2026 +0530
Fix OpenSSL SIV mode compatibility with older OpenSSL (#21880)
diff --git a/ext/openssl/openssl_backend_common.c b/ext/openssl/openssl_backend_common.c
index 99193615bec..22205398491 100644
--- a/ext/openssl/openssl_backend_common.c
+++ b/ext/openssl/openssl_backend_common.c
@@ -1654,7 +1654,7 @@ void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, const EV
switch (cipher_mode) {
case EVP_CIPH_GCM_MODE:
case EVP_CIPH_CCM_MODE:
- /* We check for EVP_CIPH_SIV_MODE and EVP_CIPH_SIV_MODE, because LibreSSL does not support it. */
+ /* We check for EVP_CIPH_SIV_MODE and EVP_CIPH_SIV_MODE, because older OpenSSL and LibreSSL do not support them. */
#ifdef EVP_CIPH_SIV_MODE
case EVP_CIPH_SIV_MODE:
#endif
@@ -1667,7 +1667,9 @@ void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, const EV
php_openssl_set_aead_flags(mode);
mode->set_tag_length_when_encrypting = cipher_mode == EVP_CIPH_CCM_MODE;
mode->is_single_run_aead = cipher_mode == EVP_CIPH_CCM_MODE;
+#ifdef EVP_CIPH_SIV_MODE
mode->aad_supports_vector = cipher_mode == EVP_CIPH_SIV_MODE;
+#endif
break;
#ifdef NID_chacha20_poly1305
default: