From e4efe96ba4136ee6aa42478c6b3561728ce76673 Mon Sep 17 00:00:00 2001 From: Jamie Date: Tue, 19 Nov 2024 15:26:00 +0800 Subject: [PATCH] repo-sync-2024-11-08T15:48:58+0800 (#416) Co-authored-by: Jamie-Cui --- bazel/repositories.bzl | 6 +++--- yacl/crypto/ossl_provider/BUILD.bazel | 1 + yacl/crypto/ossl_provider/provider_test.cc | 18 ++++++++++++++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl index 766a1cab..87f6949f 100644 --- a/bazel/repositories.bzl +++ b/bazel/repositories.bzl @@ -66,10 +66,10 @@ def _org_interconnection(): http_archive, name = "org_interconnection", urls = [ - "https://github.com/secretflow/interconnection/archive/30e4220b7444d0bb077a9040f1b428632124e31a.tar.gz", + "https://github.com/secretflow/interconnection/archive/16957915c16839503bd18f55aa536f475ab61856.tar.gz", ], - strip_prefix = "interconnection-30e4220b7444d0bb077a9040f1b428632124e31a", - sha256 = "341f6de0fa7dd618f9723009b9cb5b1da1788aacb9e12acfb0c9b19e5c5a7354", + strip_prefix = "interconnection-16957915c16839503bd18f55aa536f475ab61856", + sha256 = "fad6d278632361f3a79d05254feaec890da3d287e441feedbe7a4fe51521c439", ) # Add homebrew openmp for macOS, somehow..homebrew installs to different location on Apple Silcon/Intel macs.. so we need two rules here diff --git a/yacl/crypto/ossl_provider/BUILD.bazel b/yacl/crypto/ossl_provider/BUILD.bazel index 957e2f64..f2118486 100644 --- a/yacl/crypto/ossl_provider/BUILD.bazel +++ b/yacl/crypto/ossl_provider/BUILD.bazel @@ -90,5 +90,6 @@ yacl_cc_test( deps = [ ":helper", "//yacl/base:exception", + "@bazel_tools//tools/cpp/runfiles", ], ) diff --git a/yacl/crypto/ossl_provider/provider_test.cc b/yacl/crypto/ossl_provider/provider_test.cc index 66f59cdb..12d76e08 100644 --- a/yacl/crypto/ossl_provider/provider_test.cc +++ b/yacl/crypto/ossl_provider/provider_test.cc @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include + #include #include "gtest/gtest.h" @@ -22,19 +24,31 @@ #include "openssl/proverr.h" #include "openssl/rand.h" #include "openssl/randerr.h" +#include "tools/cpp/runfiles/runfiles.h" #include "yacl/crypto/openssl_wrappers.h" #include "yacl/crypto/ossl_provider/helper.h" +using bazel::tools::cpp::runfiles::Runfiles; + namespace yacl::crypto { TEST(OpensslTest, ShouldWork) { auto libctx = openssl::UniqueLib(OSSL_LIB_CTX_new()); + std::string error; + std::unique_ptr runfiles(Runfiles::CreateForTest(&error)); + + ASSERT_TRUE(runfiles != nullptr) << error; + + std::string provider_path = + runfiles->Rlocation("_main/yacl/crypto/ossl_provider"); + setenv("OPENSSL_MODULES", provider_path.c_str(), 1); + // OSSL_PROVIDER_load() loads and initializes a provider. This may simply // initialize a provider that was previously added with - auto prov = openssl::UniqueProv( - OSSL_PROVIDER_load(libctx.get(), GetProviderPath().c_str())); + auto prov = + openssl::UniqueProv(OSSL_PROVIDER_load(libctx.get(), "libprov_shared")); YACL_ENFORCE(prov != nullptr, ERR_error_string(ERR_get_error(), nullptr)); // get provider's entropy source EVP_RAND* rand;