]> TLD Linux GIT Repositories - packages/mysql.git/blob - openssl-3.patch
- fix building with OpenSSL 3.0, no R(triggerpostun) in rpm.org
[packages/mysql.git] / openssl-3.patch
1 --- mysql-5.7.31/cmake/ssl.cmake.orig   2020-06-02 13:05:42.000000000 +0200
2 +++ mysql-5.7.31/cmake/ssl.cmake        2021-09-26 10:27:27.431001078 +0200
3 @@ -172,20 +172,28 @@
4        #   #define OPENSSL_VERSION_NUMBER 0x1000103fL
5        # Encoded as MNNFFPPS: major minor fix patch status
6        FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
7 -        OPENSSL_VERSION_NUMBER
8 -        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9].*"
9 +        OPENSSL_VERSION_MAJOR
10 +        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_MAJOR[\t ]+([0-9]+).*"
11          )
12        STRING(REGEX REPLACE
13 -        "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
14 -        OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
15 +        "^#[ ]*define[\t ]+OPENSSL_VERSION_MAJOR[\t ]+([0-9]+).*" "\\1"
16 +        OPENSSL_MAJOR_VERSION ${OPENSSL_VERSION_MAJOR}
17 +        )
18 +      FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
19 +        OPENSSL_VERSION_MINOR
20 +        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_MINOR[\t ]+([0-9]+).*"
21          )
22        STRING(REGEX REPLACE
23 -        "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1"
24 -        OPENSSL_MINOR_VERSION "${OPENSSL_VERSION_NUMBER}"
25 +        "^#[ ]*define[\t ]+OPENSSL_VERSION_MINOR[\t ]+([0-9]+).*" "\\1"
26 +        OPENSSL_MINOR_VERSION ${OPENSSL_VERSION_MINOR}
27 +        )
28 +      FILE(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h"
29 +        OPENSSL_VERSION_PATCH
30 +        REGEX "^#[ ]*define[\t ]+OPENSSL_VERSION_PATCH[\t ]+([0-9]+).*"
31          )
32        STRING(REGEX REPLACE
33 -        "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1"
34 -        OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}"
35 +        "^#[ ]*define[\t ]+OPENSSL_VERSION_PATCH[\t ]+([0-9]+).*" "\\1"
36 +        OPENSSL_FIX_VERSION ${OPENSSL_VERSION_PATCH}
37          )
38      ENDIF()
39      SET(OPENSSL_VERSION
40 @@ -203,7 +211,7 @@
41      IF(OPENSSL_INCLUDE_DIR AND
42         OPENSSL_LIBRARY   AND
43         CRYPTO_LIBRARY      AND
44 -       OPENSSL_MAJOR_VERSION STREQUAL "1"
45 +       (OPENSSL_MAJOR_VERSION STREQUAL "1" OR OPENSSL_MAJOR_VERSION STREQUAL "3")
46        )
47        SET(OPENSSL_FOUND TRUE)
48      ELSE()
49 --- percona-server-5.7.31-34/sql/mysqld.cc~     2020-08-15 11:23:18.000000000 +0200
50 +++ percona-server-5.7.31-34/sql/mysqld.cc      2021-09-26 16:17:42.275241856 +0200
51 @@ -161,6 +161,7 @@
52  
53  #if defined(HAVE_OPENSSL)
54  #include <openssl/crypto.h>
55 +#include <openssl/evp.h>
56  #endif
57  
58  #ifndef EMBEDDED_LIBRARY
59 @@ -3689,15 +3689,15 @@
60  static int init_ssl()
61  {
62  #ifdef HAVE_OPENSSL
63 -  int fips_mode= FIPS_mode();
64 +  int fips_mode = EVP_default_properties_is_fips_enabled(NULL);
65    if (fips_mode != 0)
66    {
67      /* FIPS is enabled, Log warning and Disable it now */
68      sql_print_warning(
69          "Percona Server cannot operate under OpenSSL FIPS mode."
70          " Disabling FIPS.");
71 -    FIPS_mode_set(0);
72 +    EVP_set_default_properties(NULL, "fips=no");
73    }
74  #if OPENSSL_VERSION_NUMBER < 0x10100000L
75    CRYPTO_malloc_init();
76  #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */