diff --git a/zebra-network/src/config.rs b/zebra-network/src/config.rs index 8ee97a12a..102e32dec 100644 --- a/zebra-network/src/config.rs +++ b/zebra-network/src/config.rs @@ -739,7 +739,7 @@ impl<'de> Deserialize<'de> for Config { } }; - let listen_addr = match listen_addr.parse::() { + let listen_addr = match listen_addr.parse::().or_else(|_| format!("{listen_addr}:{}", network.default_port()).parse()) { Ok(socket) => Ok(socket), Err(_) => match listen_addr.parse::() { Ok(ip) => Ok(SocketAddr::new(ip, network.default_port())), @@ -750,7 +750,7 @@ impl<'de> Deserialize<'de> for Config { }?; let external_socket_addr = if let Some(address) = &external_addr { - match address.parse::() { + match address.parse::().or_else(|_| format!("{address}:{}", network.default_port()).parse()) { Ok(socket) => Ok(Some(socket)), Err(_) => match address.parse::() { Ok(ip) => Ok(Some(SocketAddr::new(ip, network.default_port()))),