From e43910708de30c268eaac0ace06e51febb5d0fcf Mon Sep 17 00:00:00 2001 From: 0x676e67 Date: Fri, 14 Feb 2025 02:29:06 +0800 Subject: [PATCH 1/3] build: Fix the build for 32-bit Linux platform --- boring-sys/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/boring-sys/Cargo.toml b/boring-sys/Cargo.toml index 363279502..2b30bd8a6 100644 --- a/boring-sys/Cargo.toml +++ b/boring-sys/Cargo.toml @@ -18,6 +18,7 @@ include = [ "/*.toml", "/LICENSE-MIT", "/cmake/*.cmake", + "/deps/boringssl/src/util/32-bit-toolchain.cmake", # boringssl (non-FIPS) "/deps/boringssl/**/*.[chS]", "/deps/boringssl/**/*.asm", From 891af000aa98106f0f3d34226383636ac531e2a0 Mon Sep 17 00:00:00 2001 From: 0x676e67 Date: Fri, 14 Feb 2025 10:36:34 +0800 Subject: [PATCH 2/3] Update Cargo.toml --- boring-sys/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boring-sys/Cargo.toml b/boring-sys/Cargo.toml index 2b30bd8a6..c0a45aec0 100644 --- a/boring-sys/Cargo.toml +++ b/boring-sys/Cargo.toml @@ -18,8 +18,8 @@ include = [ "/*.toml", "/LICENSE-MIT", "/cmake/*.cmake", - "/deps/boringssl/src/util/32-bit-toolchain.cmake", # boringssl (non-FIPS) + "/deps/boringssl/src/util/32-bit-toolchain.cmake", "/deps/boringssl/**/*.[chS]", "/deps/boringssl/**/*.asm", "/deps/boringssl/sources.json", @@ -31,6 +31,7 @@ include = [ "/deps/boringssl/**/sources.cmake", "/deps/boringssl/LICENSE", # boringssl (FIPS) + "/deps/boringssl-fips/src/util/32-bit-toolchain.cmake", "/deps/boringssl-fips/**/*.[chS]", "/deps/boringssl-fips/**/*.asm", "/deps/boringssl-fips/**/*.pl", From 222482f7ecdfdd4c1959c0ab7f4060266390ed7c Mon Sep 17 00:00:00 2001 From: 0x676e67 Date: Sat, 22 Mar 2025 21:01:17 +0800 Subject: [PATCH 3/3] boring(x509): impl Clone of X509Store --- boring/src/x509/store.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/boring/src/x509/store.rs b/boring/src/x509/store.rs index 0f626838d..76edac152 100644 --- a/boring/src/x509/store.rs +++ b/boring/src/x509/store.rs @@ -125,6 +125,23 @@ foreign_type_and_impl_send_sync! { pub struct X509Store; } +impl Clone for X509Store { + fn clone(&self) -> Self { + (**self).to_owned() + } +} + +impl ToOwned for X509StoreRef { + type Owned = X509Store; + + fn to_owned(&self) -> Self::Owned { + unsafe { + ffi::X509_STORE_up_ref(self.as_ptr()); + X509Store::from_ptr(self.as_ptr()) + } + } +} + impl X509StoreRef { /// **Warning: this method is unsound** ///