/*
net_socket.c -- Handle various kinds of sockets.
- Copyright (C) 1998-2002 Ivo Timmermans <itimmermans@bigfoot.com>,
- 2000-2002 Guus Sliepen <guus@sliepen.warande.net>
+ Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl>,
+ 2000-2002 Guus Sliepen <guus@sliepen.eu.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
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: net_socket.c,v 1.1.2.15 2002/06/13 16:12:40 guus Exp $
+ $Id: net_socket.c,v 1.1.2.19 2002/09/09 19:39:59 guus Exp $
*/
#include "config.h"
char *interface;
struct ifreq ifr;
#endif
-cp
- if((nfd = socket(sa->sa.sa_family, SOCK_STREAM, IPPROTO_TCP)) < 0)
+ cp();
+ nfd = socket(sa->sa.sa_family, SOCK_STREAM, IPPROTO_TCP);
+
+ if(nfd < 0)
{
syslog(LOG_ERR, _("Creating metasocket failed: %s"), strerror(errno));
return -1;
syslog(LOG_ERR, _("System call `%s' failed: %s"), "listen", strerror(errno));
return -1;
}
-cp
+ cp();
return nfd;
}
char *interface;
struct ifreq ifr;
#endif
-cp
- if((nfd = socket(sa->sa.sa_family, SOCK_DGRAM, IPPROTO_UDP)) < 0)
+ cp();
+ nfd = socket(sa->sa.sa_family, SOCK_DGRAM, IPPROTO_UDP);
+
+ if(nfd < 0)
{
syslog(LOG_ERR, _("Creating UDP socket failed: %s"), strerror(errno));
return -1;
free(addrstr);
return -1;
}
-cp
+ cp();
return nfd;
}
void retry_outgoing(outgoing_t *outgoing)
{
event_t *event;
-cp
+ cp();
outgoing->timeout += 5;
if(outgoing->timeout > maxtimeout)
outgoing->timeout = maxtimeout;
if(debug_lvl >= DEBUG_CONNECTIONS)
syslog(LOG_NOTICE, _("Trying to re-establish outgoing connection in %d seconds"), outgoing->timeout);
-cp
+ cp();
}
int setup_outgoing_socket(connection_t *c)
{
int option;
-cp
+ cp();
if(debug_lvl >= DEBUG_CONNECTIONS)
syslog(LOG_INFO, _("Trying to connect to %s (%s)"), c->name, c->hostname);
if(debug_lvl >= DEBUG_CONNECTIONS)
syslog(LOG_INFO, _("Connected to %s (%s)"), c->name, c->hostname);
-cp
+ cp();
return 0;
}
void finish_connecting(connection_t *c)
{
-cp
+ cp();
if(debug_lvl >= DEBUG_CONNECTIONS)
syslog(LOG_INFO, _("Connected to %s (%s)"), c->name, c->hostname);
c->last_ping_time = now;
send_id(c);
-cp
+ cp();
}
void do_outgoing_connection(connection_t *c)
{
char *address, *port;
int option, result, flags;
-cp
+ cp();
begin:
if(!c->outgoing->ai)
{
finish_connecting(c);
return;
-cp
+ cp();
}
void setup_outgoing_connection(outgoing_t *outgoing)
{
connection_t *c;
node_t *n;
-cp
+ cp();
n = lookup_node(outgoing->name);
if(n)
connection_t *c;
sockaddr_t sa;
int fd, len = sizeof(sa);
-cp
- if((fd = accept(sock, &sa.sa, &len)) < 0)
+ cp();
+ fd = accept(sock, &sa.sa, &len);
+
+ if(fd < 0)
{
syslog(LOG_ERR, _("Accepting a new connection failed: %s"), strerror(errno));
return -1;
c->allow_request = ID;
send_id(c);
-cp
+ cp();
return 0;
}
static config_t *cfg = NULL;
char *name;
outgoing_t *outgoing;
-cp
+ cp();
for(cfg = lookup_config(config_tree, "ConnectTo"); cfg; cfg = lookup_config_next(config_tree, cfg))
{
get_config_string(cfg, &name);