Skip to content

Commit 69d4083

Browse files
author
Isaiah Becker-Mayer
committed
Gate compliance policy apis:
The SSL_CTX_set_compliance_policy and ssl_compliance_policy_t apis are not available in the fips validated hash of the boringssl library (boring-sys/deps/boringssl-fips). This adds back the feature gate for these apis.
1 parent 048c8ec commit 69d4083

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

boring/src/ssl/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -703,8 +703,10 @@ impl SslCurve {
703703

704704
/// A compliance policy.
705705
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
706+
#[cfg(not(feature = "fips"))]
706707
pub struct CompliancePolicy(ffi::ssl_compliance_policy_t);
707708

709+
#[cfg(not(feature = "fips"))]
708710
impl CompliancePolicy {
709711
/// Does nothing, however setting this does not undo other policies, so trying to set this is an error.
710712
pub const NONE: Self = Self(ffi::ssl_compliance_policy_t::ssl_compliance_policy_none);
@@ -824,10 +826,6 @@ impl SslContextBuilder {
824826
init();
825827
let ctx = cvt_p(ffi::SSL_CTX_new(method.as_ptr()))?;
826828

827-
#[cfg(feature = "fips")]
828-
ctx.set_compliance_policy(CompliancePolicy::FIPS_202205)
829-
.unwrap();
830-
831829
#[cfg(feature = "rpk")]
832830
{
833831
Ok(SslContextBuilder::from_ptr(ctx, false))
@@ -1898,6 +1896,8 @@ impl SslContextBuilder {
18981896
/// This corresponds to [`SSL_CTX_set_compliance_policy`]
18991897
///
19001898
/// [`SSL_CTX_set_compliance_policy`] https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#SSL_CTX_set_compliance_policy
1899+
/// This feature isn't available in the certified version of BoringSSL.
1900+
#[cfg(not(feature = "fips"))]
19011901
pub fn set_compliance_policy(&mut self, policy: CompliancePolicy) -> Result<(), ErrorStack> {
19021902
unsafe { cvt_0i(ffi::SSL_CTX_set_compliance_policy(self.as_ptr(), policy.0)).map(|_| ()) }
19031903
}

boring/src/ssl/test/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use crate::ssl::{
2121
use crate::x509::verify::X509CheckFlags;
2222
use crate::x509::{X509Name, X509};
2323

24+
#[cfg(not(feature = "fips"))]
2425
use super::CompliancePolicy;
2526

2627
mod custom_verify;
@@ -947,6 +948,7 @@ fn test_get_ciphers() {
947948
}
948949

949950
#[test]
951+
#[cfg(not(feature = "fips"))]
950952
fn test_set_compliance() {
951953
let mut ctx = SslContext::builder(SslMethod::tls()).unwrap();
952954
ctx.set_compliance_policy(CompliancePolicy::FIPS_202205)

0 commit comments

Comments
 (0)