projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix segmentation fault when trying to connect via a SOCKS5 proxy.
[tinc]
/
src
/
node.c
diff --git
a/src/node.c
b/src/node.c
index
e67b9b9
..
465a48a
100644
(file)
--- a/
src/node.c
+++ b/
src/node.c
@@
-78,8
+78,7
@@
void free_node(node_t *n) {
ecdsa_free(&n->ecdsa);
sptps_stop(&n->sptps);
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(n->hostname)
free(n->hostname);
@@
-129,6
+128,13
@@
void update_node_udp(node_t *n, const sockaddr_t *sa) {
if(sa) {
n->address = *sa;
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);
hash_insert(node_udp_cache, sa, n);
free(n->hostname);
n->hostname = sockaddr2hostname(&n->address);