summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-11-27 10:57:19 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-11-27 10:57:19 +0100
commit0f579fd7c8171cb0f7ecc8db912933df450f3861 (patch)
treeb1ad4252b2e83b1bc7cbeba605f83210301474bb
parent5240f8391ff30a91a7c07e1611e749807bb14429 (diff)
downloadphp-git-0f579fd7c8171cb0f7ecc8db912933df450f3861.tar.gz
Fixed bug #80368
We assume that usually LibreSSL supports everything OpenSSL 1.1 does. In this instance, this is not the case.
-rw-r--r--NEWS4
-rw-r--r--ext/openssl/openssl.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index fe45a4db3c..7ede11b09c 100644
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,10 @@ PHP NEWS
- Intl:
. Fixed bug #80425 (MessageFormatAdapter::getArgTypeList redefined). (Nikita)
+- OpenSSL:
+ . Fixed bug #80368 (OpenSSL extension fails to build against LibreSSL due to
+ lack of OCB support). (Nikita)
+
- Standard:
. Fixed bug #80366 (Return Value of zend_fstat() not Checked). (sagpant, cmb)
. Fixed bug #80411 (References to null-serialized object break serialize()).
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index dfb0bd3af2..e45f76093e 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -6496,7 +6496,8 @@ static void php_openssl_load_cipher_mode(struct php_openssl_cipher_mode *mode, c
int cipher_mode = EVP_CIPHER_mode(cipher_type);
memset(mode, 0, sizeof(struct php_openssl_cipher_mode));
switch (cipher_mode) {
-#if PHP_OPENSSL_API_VERSION >= 0x10100
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+ /* Note: While OpenSSL 1.1 supports OCB mode, LibreSSL does not support it. */
case EVP_CIPH_GCM_MODE:
case EVP_CIPH_OCB_MODE:
case EVP_CIPH_CCM_MODE: