diff options
author | 2024-02-18 17:17:17 +0800 | |
---|---|---|
committer | 2024-02-18 17:17:17 +0800 | |
commit | 4ac53a5a39e74d5eb12bee22d0fd4783acaae670 (patch) | |
tree | ca442e698e6870b7f6c5053b54fff82e2a95626e /src/server.rs | |
parent | 7251759bdaf4b7d170575bdd6d2062bbd9f338bb (diff) | |
download | rathole-4ac53a5a39e74d5eb12bee22d0fd4783acaae670.tar.gz rathole-4ac53a5a39e74d5eb12bee22d0fd4783acaae670.tar.zst rathole-4ac53a5a39e74d5eb12bee22d0fd4783acaae670.zip |
feat: optional rustls support (#330)
* initial implementation of rustls support
* Refactor create_self_signed_cert.sh script
* resolve lint errors
* Fix handling of Option in tls.rs
* Update cargo-hack check command and feature dependencies
* fix missing point
* Add conditional check to skip test if client or server is not enabled
* clean up things
* fix for windows CI
* try fixing Windows CI
* Update src/main.rs
* Update src/transport/websocket.rs
* add missing messages
* split the tls mod
Co-authored-by: Ning Sun <n@sunng.info>
Diffstat (limited to 'src/server.rs')
-rw-r--r-- | src/server.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/server.rs b/src/server.rs index 83ae976..a4c4948 100644 --- a/src/server.rs +++ b/src/server.rs @@ -25,9 +25,9 @@ use tracing::{debug, error, info, info_span, instrument, warn, Instrument, Span} #[cfg(feature = "noise")] use crate::transport::NoiseTransport; -#[cfg(feature = "tls")] +#[cfg(any(feature = "native-tls", feature = "rustls"))] use crate::transport::TlsTransport; -#[cfg(feature = "websocket")] +#[cfg(any(feature = "websocket-native-tls", feature = "websocket-rustls"))] use crate::transport::WebsocketTransport; type ServiceDigest = protocol::Digest; // SHA256 of a service name @@ -57,13 +57,13 @@ pub async fn run_server( server.run(shutdown_rx, update_rx).await?; } TransportType::Tls => { - #[cfg(feature = "tls")] + #[cfg(any(feature = "native-tls", feature = "rustls"))] { let mut server = Server::<TlsTransport>::from(config).await?; server.run(shutdown_rx, update_rx).await?; } - #[cfg(not(feature = "tls"))] - crate::helper::feature_not_compile("tls") + #[cfg(not(any(feature = "native-tls", feature = "rustls")))] + crate::helper::feature_neither_compile("native-tls", "rustls") } TransportType::Noise => { #[cfg(feature = "noise")] @@ -75,13 +75,13 @@ pub async fn run_server( crate::helper::feature_not_compile("noise") } TransportType::Websocket => { - #[cfg(feature = "websocket")] + #[cfg(any(feature = "websocket-native-tls", feature = "websocket-rustls"))] { let mut server = Server::<WebsocketTransport>::from(config).await?; server.run(shutdown_rx, update_rx).await?; } - #[cfg(not(feature = "websocket"))] - crate::helper::feature_not_compile("websocket") + #[cfg(not(any(feature = "websocket-native-tls", feature = "websocket-rustls")))] + crate::helper::feature_neither_compile("websocket-native-tls", "websocket-rustls") } } |