diff --git a/examples/basic.rs b/examples/basic.rs index 9a2da22..213838d 100644 --- a/examples/basic.rs +++ b/examples/basic.rs @@ -53,11 +53,10 @@ fn main() { server_name.map_or_else(|| panic!("NO HOST"), str::to_string) }, remote_port: "443".to_string(), - tls_config: - TLSConfig::FILE { - certificate_path: "/dev/shm/exp/certs/prime256v1/apple.com.crt".to_string(), - private_key_path: "/dev/shm/exp/certs/prime256v1/apple.com.key".to_string(), - }, + tls_config: TLSConfig::FILE { + certificate_path: "/dev/shm/exp/certs/prime256v1/apple.com.crt".to_string(), + private_key_path: "/dev/shm/exp/certs/prime256v1/apple.com.key".to_string(), + }, }, ); diff --git a/src/lib.rs b/src/lib.rs index b30a64e..394d256 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -146,6 +146,12 @@ pub enum TLSConfig { certificate: Vec, private_key: Vec, }, + CALLBACK { + servername_callback: fn( + &mut openssl::ssl::SslRef, + &mut openssl::ssl::SslAlert, + ) -> Result<(), openssl::ssl::SniError>, + }, NONE, } diff --git a/src/relay.rs b/src/relay.rs index c5be34c..0ee0d04 100644 --- a/src/relay.rs +++ b/src/relay.rs @@ -42,6 +42,7 @@ impl { @@ -50,7 +51,7 @@ impl { + acceptor.set_servername_callback(*servername_callback); + } TLSConfig::NONE => { panic!( "[SSLRelay Error] Specified NONE for TLSConfig and downstream_data_type as \