X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgraph.c;h=216f9de2754d054213bc08ee25892fba171bc6d9;hb=103543aa2c15d9f1e2aa313a2e593a7524cce484;hp=06bf36d793cc43e6d76bba2fee33df75b5f26c33;hpb=edebf579f2ea29e6e84360cb13731f5858a1555b;p=tinc diff --git a/src/graph.c b/src/graph.c index 06bf36d7..216f9de2 100644 --- a/src/graph.c +++ b/src/graph.c @@ -1,6 +1,6 @@ /* graph.c -- graph algorithms - Copyright (C) 2001-2009 Guus Sliepen , + Copyright (C) 2001-2010 Guus Sliepen , 2001-2005 Ivo Timmermans This program is free software; you can redistribute it and/or modify @@ -53,6 +53,7 @@ #include "netutl.h" #include "node.h" #include "process.h" +#include "protocol.h" #include "subnet.h" #include "utils.h" #include "xalloc.h" @@ -346,7 +347,7 @@ void check_reachability() { /* TODO: only clear status.validkey if node is unreachable? */ n->status.validkey = false; - n->status.waitingforkey = false; + n->last_req_key = 0; n->maxmtu = MTU; n->minmtu = 0; @@ -378,6 +379,11 @@ void check_reachability() { free(envp[i]); subnet_update(n, NULL, n->status.reachable); + + if(!n->status.reachable) + update_node_udp(n, NULL); + else if(n->connection) + send_ans_key(n); } } }