aboutsummaryrefslogtreecommitdiff
path: root/src/server.rs
diff options
context:
space:
mode:
authorGravatar sunmy2019 <59365878+sunmy2019@users.noreply.github.com> 2024-02-18 17:17:17 +0800
committerGravatar GitHub <noreply@github.com> 2024-02-18 17:17:17 +0800
commit4ac53a5a39e74d5eb12bee22d0fd4783acaae670 (patch)
treeca442e698e6870b7f6c5053b54fff82e2a95626e /src/server.rs
parent7251759bdaf4b7d170575bdd6d2062bbd9f338bb (diff)
downloadrathole-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.rs16
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")
}
}