summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2013-12-23 20:52:10 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2013-12-23 20:52:10 +0100
commitca79dc4bdd7aeb449321029facf30c333be10337 (patch)
tree807f75ba49046e274138860b389a74f611462e79
parentf7cdd48892dafe00b8956cd2b087814d0257bdb4 (diff)
downloadfastd-ca79dc4bdd7aeb449321029facf30c333be10337.tar
fastd-ca79dc4bdd7aeb449321029facf30c333be10337.zip
Always reset to the first address of the first remote
-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);