summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2014-04-25 00:48:06 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2014-04-25 00:49:44 +0200
commit1bb1eb5a334e919d0f57ffa2746c64394b47d1e9 (patch)
treed7f00c52e04435f508901e2a4ae201a5975bb6b9
parent53b74ddf2cfe0f654724c3a1aca16e7fb6044ae5 (diff)
downloadfastd-1bb1eb5a334e919d0f57ffa2746c64394b47d1e9.tar
fastd-1bb1eb5a334e919d0f57ffa2746c64394b47d1e9.zip
fastd_peer_claim_address: allow claiming addresses from other peers when they aren't configured statically
-rw-r--r--src/peer.c3
-rw-r--r--src/protocols/ec25519_fhmqvc/handshake.c2
2 files changed, 1 insertions, 4 deletions
diff --git a/src/peer.c b/src/peer.c
index b8763b6..feacc73 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -466,9 +466,6 @@ bool fastd_peer_claim_address(fastd_peer_t *new_peer, fastd_socket_t *sock, cons
}
if (fastd_peer_address_equal(&peer->address, remote_addr)) {
- if (fastd_peer_is_established(peer))
- return false;
-
reset_peer_address(peer);
break;
}
diff --git a/src/protocols/ec25519_fhmqvc/handshake.c b/src/protocols/ec25519_fhmqvc/handshake.c
index 845e790..444ce32 100644
--- a/src/protocols/ec25519_fhmqvc/handshake.c
+++ b/src/protocols/ec25519_fhmqvc/handshake.c
@@ -136,7 +136,7 @@ static bool establish(fastd_peer_t *peer, const fastd_method_info_t *method, fas
pr_verbose("%I authorized as %P", remote_addr, peer);
if (!fastd_peer_claim_address(peer, sock, local_addr, remote_addr)) {
- pr_warn("can't set address %I which is used by a fixed peer", remote_addr);
+ pr_warn("can't establish session with %P[%I] as the address is used by another peer", peer, remote_addr);
fastd_peer_reset(peer);
return false;
}