X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fprotocol_key.c;h=d24d4aca01af43c968bdc156fd23df4b729448a2;hb=4d7469e0da6652bddc8acde499068db4b41b646d;hp=b409a357eab66dfca03459751ce3aab052109876;hpb=5c32bd1578d59e005f634621d17ca96af32bb630;p=tinc diff --git a/src/protocol_key.c b/src/protocol_key.c index b409a357..d24d4aca 100644 --- a/src/protocol_key.c +++ b/src/protocol_key.c @@ -400,7 +400,7 @@ bool ans_key_h(connection_t *c, const char *request) { return true; } - if(!*address && from->address.sa.sa_family != AF_UNSPEC) { + if(!*address && from->address.sa.sa_family != AF_UNSPEC && to->minmtu) { char *address, *port; logger(DEBUG_PROTOCOL, LOG_DEBUG, "Appending reflexive UDP address to ANS_KEY from %s to %s", from->name, to->name); sockaddr2str(&from->address, &address, &port); @@ -418,7 +418,7 @@ bool ans_key_h(connection_t *c, const char *request) { cipher_close(from->outcipher); digest_close(from->outdigest); #endif - from->status.validkey = false; + if (!from->status.sptps) from->status.validkey = false; if(compression < 0 || compression > 11) { logger(DEBUG_ALWAYS, LOG_ERR, "Node %s (%s) uses bogus compression level!", from->name, from->hostname);