summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/fastd.c1
-rw-r--r--src/peer.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/fastd.c b/src/fastd.c
index e456f14..634c736 100644
--- a/src/fastd.c
+++ b/src/fastd.c
@@ -448,6 +448,7 @@ static void handle_handshake_queue(fastd_context_t *ctx) {
if (!fastd_peer_may_connect(ctx, peer)) {
peer->next_remote = peer->remotes;
+ peer->next_remote->current_address = 0;
return;
}
diff --git a/src/peer.c b/src/peer.c
index def664d..cb336f2 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -223,6 +223,8 @@ static void setup_peer(fastd_context_t *ctx, fastd_peer_t *peer) {
ctx->conf->protocol->init_peer_state(ctx, peer);
if (peer->next_remote) {
+ peer->next_remote->current_address = 0;
+
if (fastd_remote_is_dynamic(peer->next_remote)) {
peer->state = STATE_RESOLVING;
fastd_resolve_peer(ctx, peer, peer->next_remote);