/*
node.c -- node tree management
- Copyright (C) 2001-2011 Guus Sliepen <guus@tinc-vpn.org>,
+ Copyright (C) 2001-2012 Guus Sliepen <guus@tinc-vpn.org>,
2001-2005 Ivo Timmermans
This program is free software; you can redistribute it and/or modify
#include "utils.h"
#include "xalloc.h"
-splay_tree_t *node_tree; /* Known nodes, sorted by name */
+splay_tree_t *node_tree;
static hash_t *node_udp_cache;
node_t *myself;
ecdsa_free(&n->ecdsa);
sptps_stop(&n->sptps);
- if(timeout_initialized(&n->mtuevent))
- event_del(&n->mtuevent);
-
+ timeout_del(&n->mtutimeout);
+
if(n->hostname)
free(n->hostname);
if(sa) {
n->address = *sa;
+ n->sock = 0;
+ for(int i = 0; i < listen_sockets; i++) {
+ if(listen_socket[i].sa.sa.sa_family == sa->sa.sa_family) {
+ n->sock = i;
+ break;
+ }
+ }
hash_insert(node_udp_cache, sa, n);
free(n->hostname);
n->hostname = sockaddr2hostname(&n->address);