From a3c7eba2ac89146e3e65635b5a3ce34a8267b912 Mon Sep 17 00:00:00 2001 From: zhang_xubo <2578876417@qq.com> Date: Sat, 11 Feb 2023 14:38:55 +0800 Subject: [PATCH] adaptor openssl 3.0 compile --- opengauss-server.spec | 9 +++- openssl3-adptor.patch | 99 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 2 deletions(-) create mode 100755 openssl3-adptor.patch diff --git a/opengauss-server.spec b/opengauss-server.spec index 906e712..0963ef7 100755 --- a/opengauss-server.spec +++ b/opengauss-server.spec @@ -12,7 +12,7 @@ Name: opengauss Version: 2.1.0 -Release: 3 +Release: 4 Summary: openGauss is an open source relational database management system License: MulanPSL-2.0 and MIT and BSD and zlib and TCL and Apache-2.0 and BSL-1.0 URL: https://gitee.com/opengauss/openGauss-server @@ -32,10 +32,11 @@ Patch21: 0002-zlib.patch Patch22: 0003-zlib.patch Patch23: makefile-miniunz.patch Patch40: 0001-orc.patch +Patch50: openssl3-adptor.patch BuildRequires: cmake gcc gcc-c++ openssl-devel python BuildRequires: cjson lz4-devel protobuf-devel snappy-devel zstd-devel boost-devel -BuildRequires: libcgroup-devel libcurl-devel unixODBC-devel jemalloc-devel +BuildRequires: libcgroup-devel libcurl-devel unixODBC-devel jemalloc-devel krb5-devel BuildRequires: java-1.8.0-openjdk-devel libedit-devel libaio-devel BuildRequires: bison flex DCF %ifnarch aarch64 %{arm} @@ -68,6 +69,7 @@ openGauss kernel : openGauss is an open source relational database management sy pushd openGauss-server-%{version} %patch0 -p1 +%patch50 -p1 popd pushd %{cjson_name}-%{cjson_version} @@ -288,6 +290,9 @@ fi %changelog +* Sat Feb 11 2023 zhangxubo - 2.1.0-4 +- Fix bugs: #I6ED94 + * Sat Jan 22 2022 zhangxubo - 2.1.0-3 - Fix bugs: #I4RVNX diff --git a/openssl3-adptor.patch b/openssl3-adptor.patch new file mode 100755 index 0000000..bd80689 --- /dev/null +++ b/openssl3-adptor.patch @@ -0,0 +1,99 @@ +diff -crN '--exclude=.git' openGauss-server-2.1.0/build/script/gauss.spec openGauss-server-2.1.0-edit/build/script/gauss.spec +*** openGauss-server-2.1.0/build/script/gauss.spec 2021-12-13 16:23:09.000000000 +0800 +--- openGauss-server-2.1.0-edit/build/script/gauss.spec 2023-02-11 14:44:29.667973775 +0800 +*************** +*** 1,2 **** +! PRODUCT=GaussDB Kernel +! VERSION=V500R002C00 +--- 1,2 ---- +! PRODUCT=openGauss +! VERSION=2.1.0 +diff -crN '--exclude=.git' openGauss-server-2.1.0/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/sm2_enc_key.cpp openGauss-server-2.1.0-edit/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/sm2_enc_key.cpp +*** openGauss-server-2.1.0/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/sm2_enc_key.cpp 2021-12-13 16:23:09.000000000 +0800 +--- openGauss-server-2.1.0-edit/src/common/interfaces/libpq/client_logic_hooks/encryption_hooks/sm2_enc_key.cpp 2023-02-11 14:29:21.000000000 +0800 +*************** +*** 152,165 **** + EVP_PKEY_free(public_evp_key); + return CMKEM_EVP_ERR; + } +! + ret = EVP_PKEY_set_alias_type(public_evp_key, EVP_PKEY_SM2); + if (ret != 1) { + cmkem_errmsg("EVP_PKEY_set_alias_type to EVP_PKEY_SM2 failed!"); + EVP_PKEY_free(public_evp_key); + return CMKEM_EVP_ERR; + } +! + /* do cipher. */ + ctx = EVP_PKEY_CTX_new(public_evp_key, NULL); + EVP_PKEY_free(public_evp_key); +--- 152,165 ---- + EVP_PKEY_free(public_evp_key); + return CMKEM_EVP_ERR; + } +! #ifndef WITH_OPENEULER_OS + ret = EVP_PKEY_set_alias_type(public_evp_key, EVP_PKEY_SM2); + if (ret != 1) { + cmkem_errmsg("EVP_PKEY_set_alias_type to EVP_PKEY_SM2 failed!"); + EVP_PKEY_free(public_evp_key); + return CMKEM_EVP_ERR; + } +! #endif + /* do cipher. */ + ctx = EVP_PKEY_CTX_new(public_evp_key, NULL); + EVP_PKEY_free(public_evp_key); +*************** +*** 242,255 **** + EVP_PKEY_free(private_evp_key); + return CMKEM_EVP_ERR; + } +! + ret = EVP_PKEY_set_alias_type(private_evp_key, EVP_PKEY_SM2); + if (ret != 1) { + cmkem_errmsg("EVP_PKEY_set_alias_type to EVP_PKEY_SM2 failed!"); + EVP_PKEY_free(private_evp_key); + return CMKEM_EVP_ERR; + } +! + /* do cipher. */ + ctx = EVP_PKEY_CTX_new(private_evp_key, NULL); + EVP_PKEY_free(private_evp_key); +--- 242,255 ---- + EVP_PKEY_free(private_evp_key); + return CMKEM_EVP_ERR; + } +! #ifndef WITH_OPENEULER_OS + ret = EVP_PKEY_set_alias_type(private_evp_key, EVP_PKEY_SM2); + if (ret != 1) { + cmkem_errmsg("EVP_PKEY_set_alias_type to EVP_PKEY_SM2 failed!"); + EVP_PKEY_free(private_evp_key); + return CMKEM_EVP_ERR; + } +! #endif + /* do cipher. */ + ctx = EVP_PKEY_CTX_new(private_evp_key, NULL); + EVP_PKEY_free(private_evp_key); +diff -crN '--exclude=.git' openGauss-server-2.1.0/src/include/gs_policy/policy_common.h openGauss-server-2.1.0-edit/src/include/gs_policy/policy_common.h +*** openGauss-server-2.1.0/src/include/gs_policy/policy_common.h 2021-12-13 16:23:09.000000000 +0800 +--- openGauss-server-2.1.0-edit/src/include/gs_policy/policy_common.h 2023-02-11 15:46:27.722886953 +0800 +*************** +*** 22,27 **** +--- 22,28 ---- + */ + #ifndef _GS_POLICY_COMMON_H + #define _GS_POLICY_COMMON_H ++ #include + #include "nodes/parsenodes.h" + + #include "postgres.h" +*************** +*** 30,35 **** +--- 31,38 ---- + #include "gs_vector.h" + #include "pgaudit.h" + ++ using std::vector; ++ + struct GsPolicyFQDN { + GsPolicyFQDN():m_value_schema(0), m_value_object(0), is_function(false){} + Oid m_value_schema; /* schema */ -- Gitee