X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;h=b8fb4f0205d3f174cd04147a5a6c142f76fd3888;hb=d82fcc88f355e3c8144478a860dfae0b299004a9;hp=22a956151f03a520e49f10ffbe6d7af9e068f61d;hpb=ddc6a81a854023e38b563f213aa9a449ee91add8;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index 22a95615..b8fb4f02 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -28,9 +28,10 @@ #include #include -#include "avl_tree.h" +#include "splay_tree.h" #include "conf.h" #include "connection.h" +#include "control.h" #include "device.h" #include "graph.h" #include "logger.h" @@ -46,8 +47,7 @@ char *myport; static struct event device_ev; -bool read_rsa_public_key(connection_t *c) -{ +bool read_rsa_public_key(connection_t *c) { FILE *fp; char *fname; char *key; @@ -147,8 +147,7 @@ bool read_rsa_public_key(connection_t *c) return false; } -bool read_rsa_private_key(void) -{ +bool read_rsa_private_key(void) { FILE *fp; char *fname, *key, *pubkey; struct stat s; @@ -241,8 +240,7 @@ void regenerate_key() { /* Configure node_t myself and set up the local sockets (listen only) */ -bool setup_myself(void) -{ +bool setup_myself(void) { config_t *cfg; subnet_t *subnet; char *name, *hostname, *mode, *afname, *cipher, *digest; @@ -528,10 +526,8 @@ bool setup_myself(void) EV_READ|EV_PERSIST, handle_new_meta_connection, NULL); if(event_add(&listen_socket[listen_sockets].ev_tcp, NULL) < 0) { - logger(LOG_WARNING, _("event_add failed: %s"), strerror(errno)); - close(listen_socket[listen_sockets].tcp); - close(listen_socket[listen_sockets].udp); - continue; + logger(LOG_EMERG, _("event_add failed: %s"), strerror(errno)); + abort(); } event_set(&listen_socket[listen_sockets].ev_udp, @@ -539,11 +535,8 @@ bool setup_myself(void) EV_READ|EV_PERSIST, handle_incoming_vpn_data, NULL); if(event_add(&listen_socket[listen_sockets].ev_udp, NULL) < 0) { - logger(LOG_WARNING, _("event_add failed: %s"), strerror(errno)); - close(listen_socket[listen_sockets].tcp); - close(listen_socket[listen_sockets].udp); - event_del(&listen_socket[listen_sockets].ev_tcp); - continue; + logger(LOG_EMERG, _("event_add failed: %s"), strerror(errno)); + abort(); } ifdebug(CONNECTIONS) { @@ -576,8 +569,7 @@ bool setup_myself(void) /* setup all initial network connections */ -bool setup_network_connections(void) -{ +bool setup_network_connections(void) { cp(); init_connections(); @@ -612,9 +604,8 @@ bool setup_network_connections(void) /* close all open network connections */ -void close_network_connections(void) -{ - avl_node_t *node, *next; +void close_network_connections(void) { + splay_node_t *node, *next; connection_t *c; char *envp[5]; int i;