Add generic host-up and host-down scripts.
[tinc] / src / graph.c
index f6ce90d..2fc3b74 100644 (file)
@@ -1,7 +1,7 @@
 /*
     graph.c -- graph algorithms
-    Copyright (C) 2001-2004 Guus Sliepen <guus@tinc-vpn.org>,
-                  2001-2004 Ivo Timmermans <ivo@tinc-vpn.org>
+    Copyright (C) 2001-2006 Guus Sliepen <guus@tinc-vpn.org>,
+                  2001-2005 Ivo Timmermans
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -226,7 +226,9 @@ void sssp_bfs(void)
                                        free(e->to->hostname);
 
                                e->to->hostname = sockaddr2hostname(&e->to->address);
-                               avl_insert_node(node_udp_tree, node);
+
+                               if(node)
+                                       avl_insert_node(node_udp_tree, node);
 
                                if(e->to->options & OPTION_PMTU_DISCOVERY) {
                                        e->to->mtuprobes = 0;
@@ -281,6 +283,8 @@ void sssp_bfs(void)
                        asprintf(&envp[5], "REMOTEPORT=%s", port);
                        envp[6] = NULL;
 
+                       execute_script(n->status.reachable ? "host-up" : "host-down", envp);
+
                        asprintf(&name,
                                         n->status.reachable ? "hosts/%s-up" : "hosts/%s-down",
                                         n->name);