X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_socket.c;h=287d68887fde45ecaa6e4d9b4aa1b6beed054861;hb=ddc6a81a854023e38b563f213aa9a449ee91add8;hp=9cb2ecd0fe1a0d85a567696bd769cff673a59fc5;hpb=ee7844905f63872e12cd12f5a3d1a62220594831;p=tinc diff --git a/src/net_socket.c b/src/net_socket.c index 9cb2ecd0..287d6888 100644 --- a/src/net_socket.c +++ b/src/net_socket.c @@ -25,7 +25,6 @@ #include "avl_tree.h" #include "conf.h" #include "connection.h" -#include "tevent.h" #include "logger.h" #include "meta.h" #include "net.h" @@ -234,10 +233,11 @@ int setup_vpn_in_socket(const sockaddr_t *sa) return nfd; } -void retry_outgoing(outgoing_t *outgoing) -{ - tevent_t *event; +static void retry_outgoing_handler(int fd, short events, void *data) { + do_outgoing_connection(data); +} +void retry_outgoing(outgoing_t *outgoing) { cp(); outgoing->timeout += 5; @@ -245,11 +245,8 @@ void retry_outgoing(outgoing_t *outgoing) if(outgoing->timeout > maxtimeout) outgoing->timeout = maxtimeout; - event = new_tevent(); - event->handler = (event_handler_t) setup_outgoing_connection; - event->time = now + outgoing->timeout; - event->data = outgoing; - tevent_add(event); + timeout_set(&outgoing->ev, retry_outgoing_handler, outgoing); + event_add(&outgoing->ev, &(struct timeval){outgoing->timeout, 0}); ifdebug(CONNECTIONS) logger(LOG_NOTICE, _("Trying to re-establish outgoing connection in %d seconds"), @@ -264,7 +261,8 @@ void finish_connecting(connection_t *c) configure_tcp(c); - c->last_ping_time = now; + c->last_ping_time = time(NULL); + c->status.connecting = false; send_id(c); } @@ -393,7 +391,7 @@ void setup_outgoing_connection(outgoing_t *outgoing) } c->outgoing = outgoing; - c->last_ping_time = now; + c->last_ping_time = time(NULL); connection_add(c); @@ -439,7 +437,7 @@ void handle_new_meta_connection(int sock, short events, void *data) c->address = sa; c->hostname = sockaddr2hostname(&sa); c->socket = fd; - c->last_ping_time = now; + c->last_ping_time = time(NULL); ifdebug(CONNECTIONS) logger(LOG_NOTICE, _("Connection from %s"), c->hostname);