Fix QUIC compilation and FIPS features
Fix a build issue due to lack of trait constraints. Pass FIPS feature flag through and test it
This commit is contained in:
parent
b1188e2ef1
commit
03b48134ca
4 changed files with 15 additions and 4 deletions
|
|
@ -12,10 +12,9 @@ default = ["tls12"]
|
||||||
# Use a FIPS-validated version of boringssl.
|
# Use a FIPS-validated version of boringssl.
|
||||||
fips = ["boring/fips", "boring-sys/fips"]
|
fips = ["boring/fips", "boring-sys/fips"]
|
||||||
logging = ["log"]
|
logging = ["log"]
|
||||||
fips-only = []
|
fips-only = ["boring/fips", "boring-sys/fips"]
|
||||||
tls12 = ["rustls/tls12"]
|
tls12 = ["rustls/tls12"]
|
||||||
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
aead = {version = "0.5", default_features = false, features = ["alloc"] }
|
aead = {version = "0.5", default_features = false, features = ["alloc"] }
|
||||||
boring = { workspace = true }
|
boring = { workspace = true }
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ pub(crate) trait BoringCipher {
|
||||||
fn extract_keys(key: cipher::AeadKey, iv: cipher::Iv) -> ConnectionTrafficSecrets;
|
fn extract_keys(key: cipher::AeadKey, iv: cipher::Iv) -> ConnectionTrafficSecrets;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) trait QuicCipher {
|
pub(crate) trait QuicCipher: Send + Sync {
|
||||||
/// The key size in bytes
|
/// The key size in bytes
|
||||||
const KEY_SIZE: usize;
|
const KEY_SIZE: usize;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,6 @@ pub(crate) fn log_and_map<E: core::fmt::Display, T>(func: &'static str, e: E, ma
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(not(feature = "log"))]
|
#[cfg(not(feature = "log"))]
|
||||||
pub(crate) fn log_and_map<E: core::fmt::Display, T>(func: &'static str, e: E, mapped: T) -> T {
|
pub(crate) fn log_and_map<E: core::fmt::Display, T>(_func: &'static str, _e: E, mapped: T) -> T {
|
||||||
mapped
|
mapped
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,18 @@ async fn test_tls13_crypto() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(any(feature = "fips", feature = "fips-only"))]
|
||||||
|
fn is_fips_enabled() {
|
||||||
|
assert!(boring::fips::enabled());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(not(any(feature = "fips", feature = "fips-only")))]
|
||||||
|
fn is_fips_disabled() {
|
||||||
|
assert!(!boring::fips::enabled());
|
||||||
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn test_tls12_ec_crypto() {
|
async fn test_tls12_ec_crypto() {
|
||||||
let pki = TestPki::new(&rcgen::PKCS_ECDSA_P256_SHA256);
|
let pki = TestPki::new(&rcgen::PKCS_ECDSA_P256_SHA256);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue