fetch config once

This commit is contained in:
Lev Kokotov
2023-04-30 09:19:39 -07:00
parent 9dffebccbf
commit ee23b374ae

View File

@@ -176,7 +176,9 @@ impl Server {
// TCP timeouts. // TCP timeouts.
configure_socket(&stream); configure_socket(&stream);
let mut stream = if get_config().general.server_tls { let config = get_config();
let mut stream = if config.general.server_tls {
// Request a TLS connection // Request a TLS connection
ssl_request(&mut stream).await?; ssl_request(&mut stream).await?;
@@ -206,21 +208,21 @@ impl Server {
}), }),
); );
let mut config = rustls::ClientConfig::builder() let mut tls_config = rustls::ClientConfig::builder()
.with_safe_defaults() .with_safe_defaults()
.with_root_certificates(root_store) .with_root_certificates(root_store)
.with_no_client_auth(); .with_no_client_auth();
// Equivalent to sslmode=prefer which is fine most places. // Equivalent to sslmode=prefer which is fine most places.
// If you want verify-full, change `verify_server_certificate` to true. // If you want verify-full, change `verify_server_certificate` to true.
if !get_config().general.verify_server_certificate { if !config.general.verify_server_certificate {
let mut dangerous = config.dangerous(); let mut dangerous = tls_config.dangerous();
dangerous.set_certificate_verifier(Arc::new( dangerous.set_certificate_verifier(Arc::new(
crate::tls::NoCertificateVerification {}, crate::tls::NoCertificateVerification {},
)); ));
} }
let connector = TlsConnector::from(Arc::new(config)); let connector = TlsConnector::from(Arc::new(tls_config));
let stream = match connector let stream = match connector
.connect(address.host.as_str().try_into().unwrap(), stream) .connect(address.host.as_str().try_into().unwrap(), stream)
.await .await