File
Blob: archive/str0m-probe/vendor/str0m-rust-crypto/provider.patch
| 1 | --- a/Cargo.toml |
| 2 | +++ b/Cargo.toml |
| 3 | @@ -30,6 +30,10 @@ |
| 4 | name = "str0m_rust_crypto" |
| 5 | path = "src/lib.rs" |
| 6 | |
| 7 | +[features] |
| 8 | +default = ["generate-cert"] |
| 9 | +generate-cert = ["dimpl/rcgen"] |
| 10 | + |
| 11 | [dependencies.aes] |
| 12 | version = "0.8" |
| 13 | |
| 14 | @@ -43,7 +47,6 @@ |
| 15 | version = "0.7.1" |
| 16 | features = [ |
| 17 | "rust-crypto", |
| 18 | - "rcgen", |
| 19 | ] |
| 20 | default-features = false |
| 21 | |
| 22 | --- a/src/dtls.rs |
| 23 | +++ b/src/dtls.rs |
| 24 | @@ -17,13 +17,20 @@ |
| 25 | |
| 26 | impl DtlsProvider for RustCryptoDtlsProvider { |
| 27 | fn generate_certificate(&self) -> Option<DtlsCert> { |
| 28 | - // Use dimpl's rcgen-based certificate generation (with RustCrypto backend) |
| 29 | - dimpl::certificate::generate_self_signed_certificate() |
| 30 | - .ok() |
| 31 | - .map(|cert| DtlsCert { |
| 32 | - certificate: cert.certificate, |
| 33 | - private_key: cert.private_key, |
| 34 | - }) |
| 35 | + #[cfg(feature = "generate-cert")] |
| 36 | + { |
| 37 | + dimpl::certificate::generate_self_signed_certificate() |
| 38 | + .ok() |
| 39 | + .map(|cert| DtlsCert { |
| 40 | + certificate: cert.certificate, |
| 41 | + private_key: cert.private_key, |
| 42 | + }) |
| 43 | + } |
| 44 | + #[cfg(not(feature = "generate-cert"))] |
| 45 | + { |
| 46 | + // The application supplies its certificate through RtcConfig. |
| 47 | + None |
| 48 | + } |
| 49 | } |
| 50 | |
| 51 | fn new_dtls( |
| 52 | @@ -40,7 +47,9 @@ |
| 53 | |
| 54 | // Create a default dimpl Config with RustCrypto crypto provider |
| 55 | // ICE verifies return routability before DTLS, making server cookies redundant. |
| 56 | - let mut builder = dimpl::Config::builder().use_server_cookie(false); |
| 57 | + let mut builder = dimpl::Config::builder() |
| 58 | + .with_crypto_provider(dimpl::crypto::rust_crypto::default_provider()) |
| 59 | + .use_server_cookie(false); |
| 60 | if let Some(mtu) = mtu { |
| 61 | builder = builder.mtu(mtu); |
| 62 | } |