X-Git-Url: http://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet.c;h=0d374e6e739de3522bdfdc73317d2eb61f979926;hb=3847b78ba5900fe4311e9ef62474e32e1a6750e5;hp=fe272db8c4f26639335edeca495ddbdb451466f5;hpb=6bc5d626a8726fc23365ee705761a3c666a08ad4;p=tinc diff --git a/src/net.c b/src/net.c index fe272db8..0d374e6e 100644 --- a/src/net.c +++ b/src/net.c @@ -1,7 +1,7 @@ /* net.c -- most of the network code Copyright (C) 1998-2005 Ivo Timmermans, - 2000-2012 Guus Sliepen + 2000-2013 Guus Sliepen 2006 Scott Lamb 2011 Loïc Grenié @@ -29,6 +29,7 @@ #include "graph.h" #include "logger.h" #include "meta.h" +#include "names.h" #include "net.h" #include "netutl.h" #include "process.h" @@ -280,29 +281,13 @@ static void periodic_handler(void *data) { } void handle_meta_connection_data(connection_t *c) { - int result; - socklen_t len = sizeof result; - - if(c->status.connecting) { - c->status.connecting = false; - - getsockopt(c->socket, SOL_SOCKET, SO_ERROR, &result, &len); - - if(!result) - finish_connecting(c); - else { - logger(DEBUG_CONNECTIONS, LOG_DEBUG, "Error while connecting to %s (%s): %s", c->name, c->hostname, sockstrerror(result)); - terminate_connection(c, false); - return; - } - } - if (!receive_meta(c)) { terminate_connection(c, c->status.active); return; } } +#ifndef HAVE_MINGW static void sigterm_handler(void *data) { logger(DEBUG_ALWAYS, LOG_NOTICE, "Got %s signal", strsignal(((signal_t *)data)->signum)); event_exit(); @@ -318,6 +303,7 @@ static void sigalrm_handler(void *data) { logger(DEBUG_ALWAYS, LOG_NOTICE, "Got %s signal", strsignal(((signal_t *)data)->signum)); retry(); } +#endif int reload_configuration(void) { char *fname; @@ -451,11 +437,13 @@ int main_loop(void) { signal_t sighup = {0}; signal_t sigterm = {0}; signal_t sigquit = {0}; + signal_t sigint = {0}; signal_t sigalrm = {0}; signal_add(&sighup, sighup_handler, &sighup, SIGHUP); signal_add(&sigterm, sigterm_handler, &sigterm, SIGTERM); signal_add(&sigquit, sigterm_handler, &sigquit, SIGQUIT); + signal_add(&sigint, sigterm_handler, &sigint, SIGINT); signal_add(&sigalrm, sigalrm_handler, &sigalrm, SIGALRM); #endif