From ddb4831f065b6e539d33051fb4c94711e06ed72f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 27 Feb 2013 04:42:50 +0100 Subject: Don't set the peer address for temporary peers before the session is actually established Doing so could lead to duplicate address entries in different peers, causing very strange behaviour. Add additional parameters for the local and the peer address to fastd_shell_exec() to allow the on-verify script to use this information nevertheless. --- src/protocol_ec25519_fhmqvc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/protocol_ec25519_fhmqvc.c') diff --git a/src/protocol_ec25519_fhmqvc.c b/src/protocol_ec25519_fhmqvc.c index 4b0e997..061726f 100644 --- a/src/protocol_ec25519_fhmqvc.c +++ b/src/protocol_ec25519_fhmqvc.c @@ -568,7 +568,7 @@ static inline fastd_peer_t* add_temporary(fastd_context_t *ctx, fastd_socket_t * return NULL; } - fastd_peer_t *peer = fastd_peer_add_temporary(ctx, sock, address); + fastd_peer_t *peer = fastd_peer_add_temporary(ctx); peer->protocol_config = malloc(sizeof(fastd_protocol_peer_config_t)); memcpy(peer->protocol_config->public_key.p, key, PUBLICKEYBYTES); @@ -576,7 +576,7 @@ static inline fastd_peer_t* add_temporary(fastd_context_t *ctx, fastd_socket_t * /* Ugly hack */ peer->protocol_state->last_serial--; - if (!fastd_peer_verify_temporary(ctx, peer)) { + if (!fastd_peer_verify_temporary(ctx, peer, &sock->addr->addr, address)) { fastd_peer_delete(ctx, peer); return NULL; } -- cgit v1.2.3