Fix detection of rejected SOCKS5 proxy requests.
[tinc] / src / graph.c
index e2ef8b1..cca0935 100644 (file)
@@ -287,10 +287,13 @@ static void sssp_bfs(void) {
 
                        subnet_update(n, NULL, n->status.reachable);
 
-                       if(!n->status.reachable)
+                       if(!n->status.reachable) {
                                update_node_udp(n, NULL);
-                       else if(n->connection)
+                               memset(&n->status, 0, sizeof n->status);
+                               n->options = 0;
+                       } else if(n->connection) {
                                send_ans_key(n);
+                       }
                }
        }
 }
@@ -315,7 +318,7 @@ void dump_graph(void) {
        node_t *n;
        edge_t *e;
        char *filename = NULL, *tmpname = NULL;
-       FILE *file, *pipe;
+       FILE *file, *pipe = NULL;
        
        if(!graph_changed || !get_config_string(lookup_config(config_tree, "GraphDumpFile"), &filename))
                return;
@@ -353,7 +356,7 @@ void dump_graph(void) {
 
        fprintf(file, "}\n");   
        
-       if(filename[0] == '|') {
+       if(pipe) {
                pclose(pipe);
        } else {
                fclose(file);