X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgraph.c;h=977262379b65eaaa09cdcbce24ad533e3ed8ddc0;hp=c8430d8251552b2a4bafb5d68144a211c651d182;hb=ed14ef93b47622ba13099dfc6be5335222e987a6;hpb=a227843b739d279b63adcf3736ebb03d856080c4 diff --git a/src/graph.c b/src/graph.c index c8430d82..97726237 100644 --- a/src/graph.c +++ b/src/graph.c @@ -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" @@ -241,17 +242,17 @@ void sssp_bfs(void) { n->status.reachable = !n->status.reachable; if(n->status.reachable) { - ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became reachable"), + ifdebug(TRAFFIC) logger(LOG_DEBUG, "Node %s (%s) became reachable", n->name, n->hostname); } else { - ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Node %s (%s) became unreachable"), + ifdebug(TRAFFIC) logger(LOG_DEBUG, "Node %s (%s) became unreachable", n->name, n->hostname); } /* 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; @@ -286,6 +287,11 @@ void sssp_bfs(void) { 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); } } }