]> TLD Linux GIT Repositories - packages/mysql.git/blobdiff - openssl-3.patch
- fix building with OpenSSL 3.0, no R(triggerpostun) in rpm.org
[packages/mysql.git] / openssl-3.patch
diff --git a/openssl-3.patch b/openssl-3.patch
new file mode 100644 (file)
index 0000000..79f2f4d
--- /dev/null
@@ -0,0 +1,76 @@
+--- mysql-5.7.31/cmake/ssl.cmake.orig  2020-06-02 13:05:42.000000000 +0200
++++ mysql-5.7.31/cmake/ssl.cmake       2021-09-26 10:27:27.431001078 +0200
+@@ -172,20 +172,28 @@
+       #   #define OPENSSL_VERSION_NUMBER 0x1000103fL
+       # Encoded as MNNFFPPS: major minor fix patch status
+       FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
+-        OPENSSL_VERSION_NUMBER
+-        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
++        OPENSSL_VERSION_MAJOR
++        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_MAJOR[\t ]+([0-9]+).*"
+         )
+       STRING(REGEX REPLACE
+-        "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
+-        OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
++        "^#[ ]*define[\t ]+OPENSSL_VERSION_MAJOR[\t ]+([0-9]+).*" "\\1"
++        OPENSSL_MAJOR_VERSION ${OPENSSL_VERSION_MAJOR}
++        )
++      FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
++        OPENSSL_VERSION_MINOR
++        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_MINOR[\t ]+([0-9]+).*"
+         )
+       STRING(REGEX REPLACE
+-        "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
+-        OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
++        "^#[ ]*define[\t ]+OPENSSL_VERSION_MINOR[\t ]+([0-9]+).*" "\\1"
++        OPENSSL_MINOR_VERSION ${OPENSSL_VERSION_MINOR}
++        )
++      FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
++        OPENSSL_VERSION_PATCH
++        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_PATCH[\t ]+([0-9]+).*"
+         )
+       STRING(REGEX REPLACE
+-        "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
+-        OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
++        "^#[ ]*define[\t ]+OPENSSL_VERSION_PATCH[\t ]+([0-9]+).*" "\\1"
++        OPENSSL_FIX_VERSION ${OPENSSL_VERSION_PATCH}
+         )
+     ENDIF()
+     SET(OPENSSL_VERSION
+@@ -203,7 +211,7 @@
+     IF(OPENSSL_INCLUDE_DIR AND
+        OPENSSL_LIBRARY   AND
+        CRYPTO_LIBRARY      AND
+-       OPENSSL_MAJOR_VERSION STREQUAL "1"
++       (OPENSSL_MAJOR_VERSION STREQUAL "1" OR OPENSSL_MAJOR_VERSION STREQUAL "3")
+       )
+       SET(OPENSSL_FOUND TRUE)
+     ELSE()
+--- percona-server-5.7.31-34/sql/mysqld.cc~    2020-08-15 11:23:18.000000000 +0200
++++ percona-server-5.7.31-34/sql/mysqld.cc     2021-09-26 16:17:42.275241856 +0200
+@@ -161,6 +161,7 @@
+ #if defined(HAVE_OPENSSL)
+ #include <openssl/crypto.h>
++#include <openssl/evp.h>
+ #endif
+ #ifndef EMBEDDED_LIBRARY
+@@ -3689,15 +3689,15 @@
+ static int init_ssl()
+ {
+ #ifdef HAVE_OPENSSL
+-  int fips_mode= FIPS_mode();
++  int fips_mode = EVP_default_properties_is_fips_enabled(NULL);
+   if (fips_mode != 0)
+   {
+     /* FIPS is enabled, Log warning and Disable it now */
+     sql_print_warning(
+         "Percona Server cannot operate under OpenSSL FIPS mode."
+         " Disabling FIPS.");
+-    FIPS_mode_set(0);
++    EVP_set_default_properties(NULL, "fips=no");
+   }
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
+   CRYPTO_malloc_init();
+ #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */