mirror of
https://github.com/instant-labs/instant-epp.git
synced 2025-02-17 06:12:20 +00:00
Add support for rustls with aws-lc-rs
This commit is contained in:
parent
1bc8c9a5ec
commit
492ac1c808
@ -8,8 +8,10 @@ description = "EPP client library for async Rust"
|
|||||||
repository = "https://github.com/instant-labs/instant-epp"
|
repository = "https://github.com/instant-labs/instant-epp"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["rustls"]
|
default = ["rustls-aws-lc-rs"]
|
||||||
rustls = ["tokio-rustls", "rustls-native-certs"]
|
rustls-aws-lc-rs = ["dep:tokio-rustls", "tokio-rustls/aws-lc-rs", "dep:rustls-native-certs"]
|
||||||
|
rustls-ring = ["dep:tokio-rustls", "tokio-rustls/ring", "dep:rustls-native-certs"]
|
||||||
|
__rustls = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
async-trait = "0.1.52"
|
async-trait = "0.1.52"
|
||||||
@ -19,7 +21,7 @@ instant-xml = { version = "0.5", features = ["chrono"] }
|
|||||||
rustls-native-certs = { version = "0.8", optional = true }
|
rustls-native-certs = { version = "0.8", optional = true }
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
tokio = { version = "1.0", features = ["io-util", "net", "time"] }
|
tokio = { version = "1.0", features = ["io-util", "net", "time"] }
|
||||||
tokio-rustls = { version = "0.26", optional = true, default-features = false, features = ["logging", "ring", "tls12"] }
|
tokio-rustls = { version = "0.26", optional = true, default-features = false, features = ["logging", "tls12"] }
|
||||||
tracing = "0.1.29"
|
tracing = "0.1.29"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
#[cfg(feature = "rustls")]
|
#[cfg(feature = "__rustls")]
|
||||||
use tokio_rustls::rustls::pki_types::{CertificateDer, PrivateKeyDer};
|
use tokio_rustls::rustls::pki_types::{CertificateDer, PrivateKeyDer};
|
||||||
use tracing::{debug, error};
|
use tracing::{debug, error};
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ pub struct EppClient<C: Connector> {
|
|||||||
connection: EppConnection<C>,
|
connection: EppConnection<C>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "rustls")]
|
#[cfg(feature = "__rustls")]
|
||||||
impl EppClient<RustlsConnector> {
|
impl EppClient<RustlsConnector> {
|
||||||
/// Connect to the specified `addr` and `hostname` over TLS
|
/// Connect to the specified `addr` and `hostname` over TLS
|
||||||
///
|
///
|
||||||
@ -205,10 +205,10 @@ impl<C, E> Clone for RequestData<'_, '_, C, E> {
|
|||||||
// Manual impl because this does not depend on whether `C` and `E` are `Copy`
|
// Manual impl because this does not depend on whether `C` and `E` are `Copy`
|
||||||
impl<C, E> Copy for RequestData<'_, '_, C, E> {}
|
impl<C, E> Copy for RequestData<'_, '_, C, E> {}
|
||||||
|
|
||||||
#[cfg(feature = "rustls")]
|
#[cfg(feature = "__rustls")]
|
||||||
pub use rustls_connector::RustlsConnector;
|
pub use rustls_connector::RustlsConnector;
|
||||||
|
|
||||||
#[cfg(feature = "rustls")]
|
#[cfg(feature = "__rustls")]
|
||||||
mod rustls_connector {
|
mod rustls_connector {
|
||||||
use std::io;
|
use std::io;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
Loading…
Reference in New Issue
Block a user