diff --git a/src/cloud.rs b/src/cloud.rs index ebbc308..338b704 100644 --- a/src/cloud.rs +++ b/src/cloud.rs @@ -105,10 +105,10 @@ pub struct GenericCloud { } impl GenericCloud

{ - pub fn new(device: Device, listen: String, network_id: Option, table: Box, + pub fn new(device: Device, listen: &str, network_id: Option, table: Box
, peer_timeout: Duration, learning: bool, broadcast: bool, addresses: Vec, crypto: Crypto) -> Self { - let socket = match UdpSocket::bind(&listen as &str) { + let socket = match UdpSocket::bind(listen) { Ok(socket) => socket, _ => fail!("Failed to open socket {}", listen) }; diff --git a/src/main.rs b/src/main.rs index 3f2e6ff..ab9a2a8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -122,7 +122,7 @@ fn run (args: Args) { Some(key) => Crypto::from_shared_key(args.flag_crypto, &key), None => Crypto::None }; - let mut cloud = GenericCloud::::new(device, args.flag_listen, network_id, table, peer_timeout, learning, broadcasting, ranges, crypto); + let mut cloud = GenericCloud::::new(device, &args.flag_listen, network_id, table, peer_timeout, learning, broadcasting, ranges, crypto); if let Some(script) = args.flag_ifup { run_script(script, cloud.ifname()); }