X-Git-Url: http://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_packet.c;h=dc31fd7acd1c17e8bfb5a38f4eb6e357b3f19200;hb=6ec4596557d658f6c15c2cb9a96152c8c476118a;hp=c61bc60a898e9d55f613c860af0f0a63b9e79df0;hpb=44a24f63acc70d19904e5540986b8301b3c9b882;p=tinc diff --git a/src/net_packet.c b/src/net_packet.c index c61bc60a..dc31fd7a 100644 --- a/src/net_packet.c +++ b/src/net_packet.c @@ -151,7 +151,7 @@ static void send_mtu_probe_handler(int fd, short events, void *data) { } end: - event_add(&n->mtuevent, &(struct timeval){timeout, 0}); + event_add(&n->mtuevent, &(struct timeval){timeout, rand() % 100000}); } void send_mtu_probe(node_t *n) { @@ -674,9 +674,11 @@ bool receive_sptps_record(void *handle, uint8_t type, const char *data, uint16_t node_t *from = handle; if(type == SPTPS_HANDSHAKE) { - from->status.validkey = true; - from->status.waitingforkey = false; - logger(DEBUG_META, LOG_INFO, "SPTPS key exchange with %s (%s) succesful", from->name, from->hostname); + if(!from->status.validkey) { + from->status.validkey = true; + from->status.waitingforkey = false; + logger(DEBUG_META, LOG_INFO, "SPTPS key exchange with %s (%s) succesful", from->name, from->hostname); + } return true; }