Early data option
This commit is contained in:
parent
13ce9f1891
commit
dc2819e028
2 changed files with 19 additions and 7 deletions
|
|
@ -105,7 +105,18 @@ pub async fn play(
|
|||
.dangerous()
|
||||
.with_custom_certificate_verifier(Arc::new(DummyCertVerifier))
|
||||
.with_no_client_auth();
|
||||
config.resumption = Resumption::disabled();
|
||||
let mut enable_early_data = false;
|
||||
for (var, val) in std::env::vars() {
|
||||
match var.as_str() {
|
||||
"EARLYDATA" => enable_early_data = val == "1",
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
if enable_early_data {
|
||||
config.enable_early_data = true;
|
||||
} else {
|
||||
config.resumption = Resumption::disabled();
|
||||
}
|
||||
let config = Arc::new(config);
|
||||
for (id, (server_name, records)) in records.iter() {
|
||||
let connector = TlsConnector::from(config.clone());
|
||||
|
|
|
|||
|
|
@ -59,9 +59,10 @@ pub async fn play(
|
|||
match tls_mode {
|
||||
TlsMode::Both | TlsMode::Server => {
|
||||
let mut resolver = ResolvesServerCertUsingSni::new();
|
||||
let config = tokio_rustls::rustls::ServerConfig::builder()
|
||||
let mut config = tokio_rustls::rustls::ServerConfig::builder()
|
||||
.with_no_client_auth()
|
||||
.with_cert_resolver(Arc::new(ResolvesServerCertUsingSni::new()));
|
||||
config.max_early_data_size = 8192;
|
||||
for file in std::fs::read_dir(cert_path).unwrap_or_else(|e| {
|
||||
panic!("Cannot read certificate directory `{cert_path}`: {e:?}")
|
||||
}) {
|
||||
|
|
@ -126,11 +127,11 @@ pub async fn play(
|
|||
|
||||
// Config requires resolver, keys can be added to resolver, creating a key requires config. WTF!?
|
||||
// So we have to re-create config.
|
||||
let config = Arc::new(
|
||||
tokio_rustls::rustls::ServerConfig::builder()
|
||||
.with_no_client_auth()
|
||||
.with_cert_resolver(Arc::new(resolver)),
|
||||
);
|
||||
let mut config = tokio_rustls::rustls::ServerConfig::builder()
|
||||
.with_no_client_auth()
|
||||
.with_cert_resolver(Arc::new(resolver));
|
||||
config.max_early_data_size = 8192;
|
||||
let config = Arc::new(config);
|
||||
|
||||
let listener = TcpListener::bind(listen_addr).await.unwrap();
|
||||
sync_sender.send(()).unwrap();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue