From 5f66dbf5d1c26851e0a47269abbc44fe3524e4e2 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 23 Mar 2015 07:20:02 +0100 Subject: peer: create interface when the connection has been established and no interface exists yet Allows using dynamic interfaces with dynamic peers. --- src/protocols/ec25519_fhmqvc/handshake.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/protocols/ec25519_fhmqvc') diff --git a/src/protocols/ec25519_fhmqvc/handshake.c b/src/protocols/ec25519_fhmqvc/handshake.c index 7dda0a1..bbe572d 100644 --- a/src/protocols/ec25519_fhmqvc/handshake.c +++ b/src/protocols/ec25519_fhmqvc/handshake.c @@ -156,9 +156,13 @@ static bool establish(fastd_peer_t *peer, const fastd_method_info_t *method, fas return false; } + if (!fastd_peer_set_established(peer)) { + fastd_peer_reset(peer); + return false; + } + peer->establish_handshake_timeout = ctx.now + MIN_HANDSHAKE_INTERVAL; fastd_peer_seen(peer); - fastd_peer_set_established(peer); pr_verbose("new session with %P established using method `%s'%s.", peer, method->name, salt ? "" : " (compat mode)"); -- cgit v1.2.3