]> granicus.if.org Git - php/commitdiff
Fixed bug #80368
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 27 Nov 2020 09:57:19 +0000 (10:57 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 27 Nov 2020 09:57:19 +0000 (10:57 +0100)
We assume that usually LibreSSL supports everything OpenSSL 1.1 does.
In this instance, this is not the case.

NEWS
ext/openssl/openssl.c

diff --git a/NEWS b/NEWS
index fe45a4db3ce35ba556cde3e0968f5dfcbad3adc6..7ede11b09cb8e37d0d977fba21b198f3610d203e 100644 (file)
--- 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()).
index dfb0bd3af26d7b84ab9b06b21f9bcee8b2d53492..e45f76093e3c2cfe3bb27bf80bbe7fafb9aa2494 100644 (file)
@@ -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: