From cfdeb56f3f1bf379e3b419c43ee3baeb2395d477 Mon Sep 17 00:00:00 2001 From: Dario Cillerai Date: Thu, 13 Jun 2024 14:12:54 +0200 Subject: [PATCH] Some tweaks for proxy build --- bssl-compat/BUILD | 7 ++++++- bssl-compat/CMakeLists.txt | 6 ++++-- bssl-compat/patch/include/openssl/rsa.h.sh | 1 + .../source/RSA_padding_add_PKCS1_PSS_mgf1.cc | 13 +++++++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 bssl-compat/source/RSA_padding_add_PKCS1_PSS_mgf1.cc diff --git a/bssl-compat/BUILD b/bssl-compat/BUILD index cf55391788..a8aba5f8ee 100644 --- a/bssl-compat/BUILD +++ b/bssl-compat/BUILD @@ -15,7 +15,12 @@ cmake( visibility = ["//visibility:public"], generate_crosstool_file = False, tags = ["requires-network"], - env = { "GOCACHE" : "/tmp" }, + env = { "GOCACHE" : "/tmp", + "CMAKE_C_COMPILER" : "clang", + "CMAKE_CXX_COMPILER" : "clang++", + "Clang_ROOT" : "/usr/lib/llvm" +}, + build_args = [ "-j" ] ) diff --git a/bssl-compat/CMakeLists.txt b/bssl-compat/CMakeLists.txt index c9644fe274..4e88cd3727 100644 --- a/bssl-compat/CMakeLists.txt +++ b/bssl-compat/CMakeLists.txt @@ -10,8 +10,9 @@ endif() set(OPENSSL_URL https://github.com/openssl/openssl/archive/refs/tags/openssl-3.0.13.tar.gz) set(OPENSSL_URL_HASH e74504ed7035295ec7062b1da16c15b57ff2a03cd2064a28d8c39458cacc45fc) -SET (CMAKE_C_COMPILER "clang") -SET (CMAKE_CXX_COMPILER "clang++") +# dcillera - commented out as they're declared in function "cmake" of Bazel BUILD file +# SET (CMAKE_C_COMPILER "clang") +# SET (CMAKE_CXX_COMPILER "clang++") set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) @@ -118,6 +119,7 @@ add_library(bssl-compat STATIC source/RSA_decrypt.cc source/RSA_encrypt.cc source/RSA_generate_key_ex.cc + source/RSA_padding_add_PKCS1_PSS_mgf1.cc source/RSA_private_key_from_bytes.cc source/RSA_public_key_from_bytes.cc source/RSA_sign_pss_mgf1.cc diff --git a/bssl-compat/patch/include/openssl/rsa.h.sh b/bssl-compat/patch/include/openssl/rsa.h.sh index 5592534bbb..91594965f6 100755 --- a/bssl-compat/patch/include/openssl/rsa.h.sh +++ b/bssl-compat/patch/include/openssl/rsa.h.sh @@ -24,6 +24,7 @@ uncomment.sh "$1" --comment -h \ --uncomment-func-decl RSA_add_pkcs1_prefix \ --uncomment-func-decl RSA_public_key_from_bytes \ --uncomment-func-decl RSA_private_key_from_bytes \ +--uncomment-func-decl RSA_padding_add_PKCS1_PSS_mgf1 \ --uncomment-macro-redef 'RSA_R_[a-zA-Z0-9_]*' \ --uncomment-macro-redef 'RSA_[a-zA-Z0-9_]*_PADDING' \ --uncomment-macro-redef RSA_F4 \ diff --git a/bssl-compat/source/RSA_padding_add_PKCS1_PSS_mgf1.cc b/bssl-compat/source/RSA_padding_add_PKCS1_PSS_mgf1.cc new file mode 100644 index 0000000000..6fb143ca9a --- /dev/null +++ b/bssl-compat/source/RSA_padding_add_PKCS1_PSS_mgf1.cc @@ -0,0 +1,13 @@ +#include +#include + + +/** + * This implementats some mappings only where necessary to support Envoy + */ +extern "C" int RSA_padding_add_PKCS1_PSS_mgf1(const RSA *rsa, unsigned char *EM, + const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLenRequested) { + return ossl.ossl_RSA_padding_add_PKCS1_PSS_mgf1((ossl_RSA *)rsa, EM, mHash, Hash, mgf1Hash, sLenRequested); +}