mirror of https://github.com/dswd/vpncloud.git
Supporting hostnames as peers
This commit is contained in:
parent
fa4547a309
commit
cb00c2f30a
|
@ -6,6 +6,7 @@ This project follows [semantic versioning](http://semver.org).
|
||||||
|
|
||||||
- [changed] Logging more verbosely
|
- [changed] Logging more verbosely
|
||||||
- [fixed] Removing NULL-bytes from interface name
|
- [fixed] Removing NULL-bytes from interface name
|
||||||
|
- [fixed] Supporting hostnames as peers
|
||||||
|
|
||||||
### v0.4 (2015-12-22)
|
### v0.4 (2015-12-22)
|
||||||
|
|
||||||
|
|
19
src/cloud.rs
19
src/cloud.rs
|
@ -150,8 +150,8 @@ impl<P: Protocol> GenericCloud<P> {
|
||||||
|
|
||||||
pub fn connect<Addr: ToSocketAddrs+fmt::Display>(&mut self, addr: Addr, reconnect: bool) -> Result<(), Error> {
|
pub fn connect<Addr: ToSocketAddrs+fmt::Display>(&mut self, addr: Addr, reconnect: bool) -> Result<(), Error> {
|
||||||
if let Ok(mut addrs) = addr.to_socket_addrs() {
|
if let Ok(mut addrs) = addr.to_socket_addrs() {
|
||||||
while let Some(addr) = addrs.next() {
|
while let Some(a) = addrs.next() {
|
||||||
if self.peers.contains(&addr) || self.blacklist_peers.contains(&addr) {
|
if self.peers.contains(&a) || self.blacklist_peers.contains(&a) {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -159,14 +159,21 @@ impl<P: Protocol> GenericCloud<P> {
|
||||||
debug!("Connecting to {}", addr);
|
debug!("Connecting to {}", addr);
|
||||||
if reconnect {
|
if reconnect {
|
||||||
if let Ok(mut addrs) = addr.to_socket_addrs() {
|
if let Ok(mut addrs) = addr.to_socket_addrs() {
|
||||||
while let Some(addr) = addrs.next() {
|
while let Some(a) = addrs.next() {
|
||||||
self.reconnect_peers.push(addr);
|
self.reconnect_peers.push(a);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let addrs = self.addresses.clone();
|
let subnets = self.addresses.clone();
|
||||||
let node_id = self.node_id.clone();
|
let node_id = self.node_id.clone();
|
||||||
self.send_msg(addr, &mut Message::Init(0, node_id, addrs))
|
let mut msg = Message::Init(0, node_id, subnets);
|
||||||
|
if let Ok(mut addrs) = addr.to_socket_addrs() {
|
||||||
|
while let Some(a) = addrs.next() {
|
||||||
|
//Ignore error this time
|
||||||
|
self.send_msg(a, &mut msg).ok();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn housekeep(&mut self) -> Result<(), Error> {
|
fn housekeep(&mut self) -> Result<(), Error> {
|
||||||
|
|
Loading…
Reference in New Issue