/*
meta.c -- handle the meta communication
- Copyright (C) 2000-2002 Guus Sliepen <guus@sliepen.warande.net>,
- 2000-2002 Ivo Timmermans <itimmermans@bigfoot.com>
+ Copyright (C) 2000-2002 Guus Sliepen <guus@sliepen.eu.org>,
+ 2000-2002 Ivo Timmermans <ivo@o2w.nl>
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: meta.c,v 1.1.2.23 2002/02/12 14:36:45 guus Exp $
+ $Id: meta.c,v 1.1.2.28 2002/09/09 19:39:58 guus Exp $
*/
#include "config.h"
char *bufp;
int outlen;
char outbuf[MAXBUFSIZE];
-cp
+ cp();
if(debug_lvl >= DEBUG_META)
syslog(LOG_DEBUG, _("Sending %d bytes of metadata to %s (%s)"), length,
c->name, c->hostname);
if(write(c->socket, bufp, length) < 0)
{
- syslog(LOG_ERR, _("Sending meta data to %s (%s) failed: %m"), c->name, c->hostname);
+ syslog(LOG_ERR, _("Sending meta data to %s (%s) failed: %s"), c->name, c->hostname, strerror(errno));
return -1;
}
-cp
+ cp();
return 0;
}
{
avl_node_t *node;
connection_t *c;
-cp
+ cp();
for(node = connection_tree->head; node; node = node->next)
{
c = (connection_t *)node->data;
if(c != from && c->status.active)
send_meta(c, buffer, length);
}
-cp
+ cp();
}
int receive_meta(connection_t *c)
int lenin, reqlen;
int decrypted = 0;
char inbuf[MAXBUFSIZE];
-cp
+ cp();
if(getsockopt(c->socket, SOL_SOCKET, SO_ERROR, &x, &l) < 0)
{
- syslog(LOG_ERR, _("This is a bug: %s:%d: %d:%m %s (%s)"), __FILE__, __LINE__, c->socket,
+ syslog(LOG_ERR, _("This is a bug: %s:%d: %d:%s %s (%s)"), __FILE__, __LINE__, c->socket, strerror(errno),
c->name, c->hostname);
return -1;
}
if(errno==EINTR)
return 0;
else
- syslog(LOG_ERR, _("Metadata socket read error for %s (%s): %m"),
- c->name, c->hostname);
+ syslog(LOG_ERR, _("Metadata socket read error for %s (%s): %s"),
+ c->name, c->hostname, strerror(errno));
return -1;
}
if(reqlen)
{
+ c->reqlen = reqlen;
if(receive_request(c))
return -1;
return -1;
}
- c->last_ping_time = time(NULL);
-cp
+ c->last_ping_time = now;
+ cp();
return 0;
}