diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2021-08-28 03:38:42 +0000 |
---|---|---|
committer | Sven-Hendrik Haase <svenstaro@gmail.com> | 2021-08-28 03:38:42 +0000 |
commit | 2ea23ceb416d2a6c84a752d5a36afaf754b7c644 (patch) | |
tree | 4e08f16c25c3f7080c454bead5791880587077e7 /src | |
parent | Conditionally enable TLS only on supported platforms (diff) | |
download | miniserve-2ea23ceb416d2a6c84a752d5a36afaf754b7c644.tar.gz miniserve-2ea23ceb416d2a6c84a752d5a36afaf754b7c644.zip |
Switch TLS conditional compilation to feature
Diffstat (limited to 'src')
-rw-r--r-- | src/args.rs | 14 | ||||
-rw-r--r-- | src/config.rs | 35 | ||||
-rw-r--r-- | src/main.rs | 14 |
3 files changed, 9 insertions, 54 deletions
diff --git a/src/args.rs b/src/args.rs index b6bb092..cea5658 100644 --- a/src/args.rs +++ b/src/args.rs @@ -135,22 +135,12 @@ pub struct CliArgs { pub print_completions: Option<structopt::clap::Shell>, /// TLS certificate to use - #[cfg(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - ))] + #[cfg(feature = "tls")] #[structopt(long = "tls-cert", requires = "tls-key")] pub tls_cert: Option<PathBuf>, /// TLS private key to use - #[cfg(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - ))] + #[cfg(feature = "tls")] #[structopt(long = "tls-key", requires = "tls-cert")] pub tls_key: Option<PathBuf>, } diff --git a/src/config.rs b/src/config.rs index 66cd81a..e2b4c3a 100644 --- a/src/config.rs +++ b/src/config.rs @@ -8,12 +8,7 @@ use std::{ use anyhow::{anyhow, Context, Result}; use http::HeaderMap; -#[cfg(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" -))] +#[cfg(feature = "tls")] use rustls::internal::pemfile::{certs, pkcs8_private_keys}; use crate::{args::CliArgs, auth::RequiredAuth}; @@ -102,20 +97,10 @@ pub struct MiniserveConfig { pub hide_version_footer: bool, /// If set, use provided rustls config for TLS - #[cfg(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - ))] + #[cfg(feature = "tls")] pub tls_rustls_config: Option<rustls::ServerConfig>, - #[cfg(not(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - )))] + #[cfg(not(feature = "tls"))] pub tls_rustls_config: Option<()>, } @@ -152,12 +137,7 @@ impl MiniserveConfig { _ => args.port, }; - #[cfg(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - ))] + #[cfg(feature = "tls")] let tls_rustls_server_config = if let (Some(tls_cert), Some(tls_key)) = (args.tls_cert, args.tls_key) { @@ -178,12 +158,7 @@ impl MiniserveConfig { None }; - #[cfg(not(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - )))] + #[cfg(not(feature = "tls"))] let tls_rustls_server_config = None; Ok(MiniserveConfig { diff --git a/src/main.rs b/src/main.rs index 9b3d732..c60e153 100644 --- a/src/main.rs +++ b/src/main.rs @@ -227,12 +227,7 @@ async fn run(miniserve_config: MiniserveConfig) -> Result<(), ContextualError> { .default_service(web::get().to(error_404)) }); - #[cfg(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - ))] + #[cfg(feature = "tls")] let srv = if let Some(tls_config) = miniserve_config.tls_rustls_config { srv.bind_rustls(socket_addresses.as_slice(), tls_config) .map_err(|e| ContextualError::IoError("Failed to bind server".to_string(), e))? @@ -245,12 +240,7 @@ async fn run(miniserve_config: MiniserveConfig) -> Result<(), ContextualError> { .run() }; - #[cfg(not(any( - target_arch = "x86", - target_arch = "x86_64", - target_arch = "aarch64", - target_arch = "arm" - )))] + #[cfg(not(feature = "tls"))] let srv = srv .bind(socket_addresses.as_slice()) .map_err(|e| ContextualError::IoError("Failed to bind server".to_string(), e))? |