/*
net_socket.c -- Handle various kinds of sockets.
- Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
- 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
+ Copyright (C) 1998-2005 Ivo Timmermans,
+ 2000-2006 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "avl_tree.h"
#include "conf.h"
#include "connection.h"
-#include "event.h"
+#include "tevent.h"
#include "logger.h"
#include "meta.h"
#include "net.h"
void retry_outgoing(outgoing_t *outgoing)
{
- event_t *event;
+ tevent_t *event;
cp();
if(outgoing->timeout > maxtimeout)
outgoing->timeout = maxtimeout;
- event = new_event();
+ event = new_tevent();
event->handler = (event_handler_t) setup_outgoing_connection;
event->time = now + outgoing->timeout;
event->data = outgoing;
- event_add(event);
+ tevent_add(event);
ifdebug(CONNECTIONS) logger(LOG_NOTICE,
_("Trying to re-establish outgoing connection in %d seconds"),
void finish_connecting(connection_t *c)
{
- int option;
-
cp();
ifdebug(CONNECTIONS) logger(LOG_INFO, _("Connected to %s (%s)"), c->name, c->hostname);
void do_outgoing_connection(connection_t *c)
{
char *address, *port;
- int option, result, flags;
+ int result;
cp();
accept a new tcp connect and create a
new connection
*/
-bool handle_new_meta_connection(int sock)
+void handle_new_meta_connection(int sock, short events, void *data)
{
- int option;
connection_t *c;
sockaddr_t sa;
- int fd, len = sizeof(sa);
+ int fd;
+ socklen_t len = sizeof(sa);
cp();
if(fd < 0) {
logger(LOG_ERR, _("Accepting a new connection failed: %s"),
strerror(errno));
- return false;
}
sockaddrunmap(&sa);
c->allow_request = ID;
send_id(c);
-
- return true;
}
void try_outgoing_connections(void)