aboutsummaryrefslogtreecommitdiff
path: root/p2p/src/listener.rs
diff options
context:
space:
mode:
authorhozan23 <hozan23@karyontech.net>2024-07-16 08:16:57 +0200
committerhozan23 <hozan23@karyontech.net>2024-07-16 08:19:34 +0200
commitcae0c15d10235bf0ec0bd6f8b20814dc7b63dfd5 (patch)
treea0724e160cdc5c556d132b07639c0225226b761a /p2p/src/listener.rs
parent6795c2a8c8a580575d107f596961e221faad69cf (diff)
p2p: check for the endpoints before listen/connect to themHEADmaster
Diffstat (limited to 'p2p/src/listener.rs')
-rw-r--r--p2p/src/listener.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/p2p/src/listener.rs b/p2p/src/listener.rs
index 8a5deaa..347099d 100644
--- a/p2p/src/listener.rs
+++ b/p2p/src/listener.rs
@@ -157,6 +157,10 @@ impl Listener {
async fn listen(&self, endpoint: &Endpoint) -> Result<karyon_net::Listener<NetMsg>> {
if self.enable_tls {
+ if !endpoint.is_tcp() && !endpoint.is_tls() {
+ return Err(Error::UnsupportedEndpoint(endpoint.to_string()));
+ }
+
let tls_config = tls::ServerTlsConfig {
tcp_config: Default::default(),
server_config: tls_server_config(&self.key_pair)?,
@@ -165,6 +169,10 @@ impl Listener {
.await
.map(|l| Box::new(l) as karyon_net::Listener<NetMsg>)
} else {
+ if !endpoint.is_tcp() {
+ return Err(Error::UnsupportedEndpoint(endpoint.to_string()));
+ }
+
tcp::listen(endpoint, tcp::TcpConfig::default(), NetMsgCodec::new())
.await
.map(|l| Box::new(l) as karyon_net::Listener<NetMsg>)