/*
+ * $Id: zip.c,v 1.15 2009-12-13 00:31:50 didg Exp $
+ *
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
+#endif /* HAVE_CONFIG_H */
#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#include <sys/param.h>
#include <sys/types.h>
-#include <sys/syslog.h>
+#include <atalk/logger.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <sys/time.h>
+#ifdef TRU64
+#include <sys/mbuf.h>
+#include <net/route.h>
+#endif /* TRU64 */
#include <net/if.h>
#include <net/route.h>
#include <netatalk/endian.h>
#ifdef __svr4__
#include <sys/sockio.h>
-#endif __svr4__
+#endif /* __svr4__ */
#include <atalk/ddp.h>
#include <atalk/zip.h>
struct ziptab *ziptab = NULL, *ziplast = NULL;
-static int zonecheck( rtmp, iface )
- struct rtmptab *rtmp;
- struct interface *iface;
+static int zonecheck(struct rtmptab *rtmp, struct interface *iface)
{
struct list *l;
struct ziptab *czt, *zt;
break;
}
}
- if ( l == 0 ) {
- syslog( LOG_ERR, "zonecheck: %.*s not in zone list", czt->zt_len,
+ if ( l == NULL ) {
+ LOG(log_error, logtype_atalkd, "zonecheck: %.*s not in zone list", czt->zt_len,
czt->zt_name );
return( -1 ); /* configured zone not found in net zones */
}
;
if ( cztcnt != ztcnt ) {
- syslog( LOG_ERR, "zonecheck: %d configured zones, %d zones found",
+ LOG(log_error, logtype_atalkd, "zonecheck: %d configured zones, %d zones found",
cztcnt, ztcnt );
return( -1 ); /* more net zones than configured zones */
}
}
-int zip_packet( ap, from, data, len )
- struct atport *ap;
- struct sockaddr_at *from;
- char *data;
- int len;
+int zip_packet(struct atport *ap,struct sockaddr_at *from, char *data, int len)
{
struct ziphdr zh;
struct atphdr ah;
struct interface *iface;
struct gate *gate;
- struct rtmptab *rtmp;
+ struct rtmptab *rtmp = NULL;
struct list *l;
struct ziptab *zt;
u_short firstnet, lastnet, index, nz;
char *end, zname[ 32 ], packet[ ATP_BUFSIZ ], *nzones, *lastflag;
char *reply, *rend, *ziphdr;
int zlen, n, zipop, rcnt, qcnt, zcnt, zsz;
- extern int debug, stabletimer;
+ extern int stabletimer;
end = data + len;
if ( data >= end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
switch( *data++ ) {
case DDPTYPE_ZIP :
if ( data + sizeof( struct ziphdr ) > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
memcpy( &zh, data, sizeof( struct ziphdr ));
break;
}
}
- if ( rtmp == 0 ) {
+ if ( rtmp == NULL ) {
continue;
}
if ( sendto( ap->ap_fd, packet, reply - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %m" );
+ LOG(log_error, logtype_atalkd, "zip reply sendto: %s",
+ strerror(errno) );
}
reply = packet + 3;
if ( sendto( ap->ap_fd, packet, reply - packet,
0, (struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %m" );
+ LOG(log_error, logtype_atalkd, "zip reply sendto: %s",
+ strerror(errno) );
}
reply = packet + 3;
if ( sendto( ap->ap_fd, packet, reply - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %m" );
+ LOG(log_error, logtype_atalkd, "zip reply sendto: %s",
+ strerror(errno) );
}
reply = packet + 3;
if ( sendto( ap->ap_fd, packet, reply - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip reply sendto: %m" );
+ LOG(log_error, logtype_atalkd, "zip reply sendto: %s",
+ strerror(errno) );
}
}
break;
}
}
if ( gate == NULL ) {
- syslog( LOG_INFO, "zip reply from non-gateway %u.%u",
+ LOG(log_info, logtype_atalkd, "zip reply from non-gateway %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 1;
}
do {
if ( data + sizeof( u_short ) + 1 > end ) { /* + strlen */
- syslog( LOG_INFO, "zip reply short (%d)", len );
+ LOG(log_info, logtype_atalkd, "zip reply short (%d)", len );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
/* XXX */
if ( rtmp->rt_gate == NULL &&
zonecheck( rtmp, gate->g_iface ) != 0 ) {
- syslog( LOG_ERR, "zip_packet seed zonelist mismatch" );
+ LOG(log_error, logtype_atalkd, "zip_packet seed zonelist mismatch" );
return -1;
}
rtmp->rt_flags &= ~RTMPTAB_ZIPQUERY;
/*
* Update head to this rtmp entry.
*/
- if ( rtmp != 0 && gate->g_rt != rtmp ) {
+ if ( rtmp != NULL && gate->g_rt != rtmp ) {
gate->g_rt->rt_prev->rt_next = gate->g_rt;
gate->g_rt = rtmp;
- rtmp->rt_prev->rt_next = 0;
+ rtmp->rt_prev->rt_next = NULL;
}
}
zlen = *data++;
if ( zlen > 32 || zlen <= 0 ) {
- syslog( LOG_INFO, "zip reply bad packet" );
+ LOG(log_info, logtype_atalkd, "zip reply bad packet" );
return 1;
}
if ( data + zlen > end ) {
- syslog( LOG_INFO, "zip reply short (%d)", len );
+ LOG(log_info, logtype_atalkd, "zip reply short (%d)", len );
return 1;
}
memcpy( zname, data, zlen );
* We won't find any rtmp entry if the gateway is no longer
* telling us about the entry.
*/
- if ( rtmp == 0 ) {
- syslog( LOG_INFO, "zip skip reply %u from %u.%u (no rtmp)",
+ if ( rtmp == NULL ) {
+ LOG(log_info, logtype_atalkd, "zip skip reply %u from %u.%u (no rtmp)",
ntohs( firstnet ), ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
/*
* no good if rtmp is the interface's route).
*/
} else if ( rtmp->rt_iprev == NULL && rtmp->rt_prev != NULL ) {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_atalkd,
"zip skip reply %u-%u from %u.%u (rtmp not in use)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
* net to verify our interface's zone(s).
*/
} else if (( rtmp->rt_flags & RTMPTAB_ZIPQUERY ) == 0 ) {
- syslog( LOG_INFO,
+ LOG(log_info, logtype_atalkd,
"zip skip reply %u-%u from %u.%u (no query)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
from->sat_addr.s_node );
} else {
if (addzone( rtmp, zlen, zname ) < 0) {
- syslog(LOG_ERR, "zip_packet: addzone");
+ LOG(log_error, logtype_atalkd, "zip_packet: addzone");
return -1;
}
rtmp->rt_flags |= RTMPTAB_HASZONES;
if ( rtmp && rtmp->rt_flags & RTMPTAB_HASZONES ) {
/* XXX */
- if ( rtmp->rt_gate == 0 &&
+ if ( rtmp->rt_gate == NULL &&
zonecheck( rtmp, gate->g_iface ) != 0 ) {
- syslog( LOG_ERR, "zip_packet seed zonelist mismatch" );
+ LOG(log_error, logtype_atalkd, "zip_packet seed zonelist mismatch" );
return -1;
}
rtmp->rt_flags &= ~RTMPTAB_ZIPQUERY;
}
}
if ( gate == NULL ) {
- syslog( LOG_INFO, "zip ereply from non-gateway %u.%u",
+ LOG(log_info, logtype_atalkd, "zip ereply from non-gateway %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 1;
}
* at the top of the do-while loop, below.
*/
if ( data + sizeof( u_short ) + 1 > end ) { /* + strlen */
- syslog( LOG_INFO, "zip ereply short (%d)", len );
+ LOG(log_info, logtype_atalkd, "zip ereply short (%d)", len );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
}
}
if ( rtmp == NULL ) {
- syslog( LOG_INFO, "zip ereply %u from %u.%u (no rtmp)",
+ LOG(log_info, logtype_atalkd, "zip ereply %u from %u.%u (no rtmp)",
ntohs( firstnet ), ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
return 1;
}
- if ( rtmp->rt_iprev == 0 ) {
- syslog( LOG_INFO,
+ if ( rtmp->rt_iprev == NULL ) {
+ LOG(log_info, logtype_atalkd,
"zip ereply %u-%u from %u.%u (rtmp not in use)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
}
/* update head to *next* rtmp entry */
- if ( rtmp->rt_next != 0 ) {
+ if ( rtmp->rt_next != NULL ) {
gate->g_rt->rt_prev->rt_next = gate->g_rt;
gate->g_rt = rtmp->rt_next;
- rtmp->rt_next = 0;
+ rtmp->rt_next = NULL;
}
}
if (( rtmp->rt_flags & RTMPTAB_ZIPQUERY ) == 0 ) {
- syslog( LOG_INFO, "zip ereply %u-%u from %u.%u (no query)",
+ LOG(log_info, logtype_atalkd, "zip ereply %u-%u from %u.%u (no query)",
ntohs( rtmp->rt_firstnet ),
ntohs( rtmp->rt_lastnet ),
ntohs( from->sat_addr.s_net ),
* a big deal, and it makes the end condition cleaner.
*/
if ( data + sizeof( u_short ) + 1 > end ) { /* + strlen */
- syslog( LOG_INFO, "zip ereply short (%d)", len );
+ LOG(log_info, logtype_atalkd, "zip ereply short (%d)", len );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
/* check route */
if ( firstnet != rtmp->rt_firstnet ) {
- syslog( LOG_INFO, "zip ereply with multiple nets" );
+ LOG(log_info, logtype_atalkd, "zip ereply with multiple nets" );
return 1;
}
zlen = *data++;
if ( zlen > 32 || zlen <= 0 ) {
- syslog( LOG_INFO, "zip ereply bad zone length (%d)", zlen );
+ LOG(log_info, logtype_atalkd, "zip ereply bad zone length (%d)", zlen );
return 1;
}
if ( data + zlen > end ) {
- syslog( LOG_INFO, "zip ereply short (%d)", len );
+ LOG(log_info, logtype_atalkd, "zip ereply short (%d)", len );
return 1;
}
memcpy( zname, data, zlen );
data += zlen;
if (addzone( rtmp, zlen, zname ) < 0) {
- syslog(LOG_ERR, "zip_packet: addzone");
+ LOG(log_error, logtype_atalkd, "zip_packet: addzone");
return -1;
}
} while ( data < end );
if ( n == zh.zh_count ) {
rtmp->rt_flags |= RTMPTAB_HASZONES;
/* XXX */
- if ( rtmp->rt_gate == 0 &&
+ if ( rtmp->rt_gate == NULL &&
zonecheck( rtmp, gate->g_iface ) != 0 ) {
- syslog( LOG_ERR, "zip_packet seed zonelist mismatch" );
+ LOG(log_error, logtype_atalkd, "zip_packet seed zonelist mismatch" );
return -1;
}
rtmp->rt_flags &= ~RTMPTAB_ZIPQUERY;
* Don't answer with bogus information.
*/
if (((iface->i_flags & IFACE_ISROUTER) == 0) ||
- iface->i_rt->rt_zt == 0 ||
+ iface->i_rt->rt_zt == NULL ||
( iface->i_flags & IFACE_CONFIG ) == 0 ) {
return 0;
}
if ( zh.zh_zero != 0 || data + 2 * sizeof( u_short ) > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
memcpy( &lastnet, data, sizeof( u_short ));
data += sizeof( u_short );
if ( firstnet != 0 || lastnet != 0 || data >= end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
zlen = *data++;
if ( zlen < 0 || zlen > 32 ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
memcpy( zname, data, zlen );
break;
}
}
- if ( l == 0 ) {
+ if ( l == NULL ) {
zt = (struct ziptab *)iface->i_rt->rt_zt->l_data;
zh.zh_flags |= ZIPGNI_INVALID;
}
/* multicast */
*data++ = 6; /* sizeof ??? */
if (zone_bcast(zt) < 0) {
- syslog(LOG_ERR, "zip_packet: zone_bcast");
+ LOG(log_error, logtype_atalkd, "zip_packet: zone_bcast");
return -1;
}
memcpy(data, zt->zt_bcast, 6);
if ( sendto( ap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip gni sendto %u.%u: %m",
- ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
+ LOG(log_error, logtype_atalkd, "zip gni sendto %u.%u: %s",
+ ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
+ strerror(errno) );
return 1;
}
break;
/*
* Ignore ZIP GNIReplys which are either late or unsolicited.
*/
- syslog( LOG_DEBUG, "zip gnireply from %u.%u (%s %x)",
+ LOG(log_debug, logtype_atalkd, "zip gnireply from %u.%u (%s %x)",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
iface->i_name, iface->i_flags );
if (( iface->i_flags & ( IFACE_CONFIG|IFACE_PHASE1 )) ||
( iface->i_flags & IFACE_ADDR ) == 0 ) {
- syslog( LOG_DEBUG, "zip ignoring gnireply" );
+ LOG(log_debug, logtype_atalkd, "zip ignoring gnireply" );
return 1;
}
if ( data + 2 * sizeof( u_short ) > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
memcpy( &firstnet, data, sizeof( u_short ));
* default zone is.
*/
if ( data >= end || data + *data > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
if ( *data++ != 0 ) {
- syslog( LOG_INFO, "zip_packet unsolicited zone" );
+ LOG(log_info, logtype_atalkd, "zip_packet unsolicited zone" );
return 1;
}
/* skip multicast (should really check it) */
if ( data >= end || data + *data > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
data += *data + 1;
if ( data >= end || data + *data > end ) {
- syslog( LOG_INFO, "zip_packet malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip_packet malformed packet" );
return 1;
}
* interface structure, not in the zone table. This allows us
* to check that the net is giving us good zones.
*/
- if ( iface->i_flags & IFACE_SEED ) {
+ if ( (iface->i_flags & IFACE_SEED) && iface->i_czt) {
if ( iface->i_czt->zt_len != *data ||
strndiacasecmp( iface->i_czt->zt_name,
data + 1, *data ) != 0 ) {
- syslog( LOG_ERR, "default zone mismatch on %s",
+ LOG(log_error, logtype_atalkd, "default zone mismatch on %s",
iface->i_name );
- syslog( LOG_ERR, "%.*s != %.*s",
+ LOG(log_error, logtype_atalkd, "%.*s != %.*s",
iface->i_czt->zt_len, iface->i_czt->zt_name,
*data, data + 1 );
- syslog( LOG_ERR, "Seed error! Exiting!" );
+ LOG(log_error, logtype_atalkd, "Seed error! Exiting!" );
return -1;
}
}
if (addzone( iface->i_rt, *data, data + 1 ) < 0) {
- syslog(LOG_ERR, "zip_packet: addzone");
+ LOG(log_error, logtype_atalkd, "zip_packet: addzone");
return -1;
}
if ( firstnet != iface->i_rt->rt_firstnet ||
lastnet != iface->i_rt->rt_lastnet ) {
if ( iface->i_flags & IFACE_SEED ) {
- syslog( LOG_ERR, "netrange mismatch on %s",
+ LOG(log_error, logtype_atalkd, "netrange mismatch on %s",
iface->i_name );
- syslog( LOG_ERR, "%u-%u != %u-%u",
+ LOG(log_error, logtype_atalkd, "%u-%u != %u-%u",
ntohs( firstnet ), ntohs( lastnet ),
ntohs( iface->i_rt->rt_firstnet ),
ntohs( iface->i_rt->rt_lastnet ));
- syslog( LOG_ERR, "Seed error! Exiting!" );
+ LOG(log_error, logtype_atalkd, "Seed error! Exiting!" );
return -1;
}
/* add addr to loopback route */
if ( looproute( iface, RTMP_ADD )) { /* -1 or 1 */
- syslog( LOG_ERR,
- "zip_packet: can't route %u.%u to loopback: %m",
+ LOG(log_error, logtype_atalkd,
+ "zip_packet: can't route %u.%u to loopback: %s",
ntohs( iface->i_addr.sat_addr.s_net ),
- iface->i_addr.sat_addr.s_node );
+ iface->i_addr.sat_addr.s_node,
+ strerror(errno) );
return -1;
}
- syslog( LOG_INFO, "zip_packet configured %s from %u.%u",
+ LOG(log_info, logtype_atalkd, "zip_packet configured %s from %u.%u",
iface->i_name, ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
iface->i_flags |= IFACE_CONFIG;
#ifdef DEBUG
printf( "zip notify from %u.%u\n", ntohs( from->sat_addr.s_net ),
from->sat_addr.s_node );
-#endif DEBUG
+#endif /* DEBUG */
break;
default :
- syslog( LOG_INFO, "zip_packet bad zip op from %u.%u\n",
+ LOG(log_info, logtype_atalkd, "zip_packet bad zip op from %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
}
break;
case DDPTYPE_ATP :
if ( data + sizeof( struct atphdr ) > end ) {
- syslog( LOG_INFO, "zip atp malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip atp malformed packet" );
return 1;
}
memcpy( &ah, data, sizeof( struct atphdr ));
data += sizeof( struct atphdr );
if ( ah.atphd_ctrlinfo != ATP_TREQ ) {
- syslog( LOG_INFO, "zip atp bad control" );
+ LOG(log_info, logtype_atalkd, "zip atp bad control" );
return 1;
}
ah.atphd_ctrlinfo = ATP_TRESP | ATP_EOM;
if ( ah.atphd_bitmap != 1 ) {
- syslog( LOG_ERR, "zip atp bad bitmap" );
+ LOG(log_error, logtype_atalkd, "zip atp bad bitmap" );
return 1;
}
ah.atphd_bitmap = 0;
data += sizeof( u_short );
index = ntohs( index );
if ( data != end ) {
- syslog( LOG_INFO, "zip atp malformed packet" );
+ LOG(log_info, logtype_atalkd, "zip atp malformed packet" );
return 1;
}
switch ( zipop ) {
case ZIPOP_GETMYZONE :
if ( index != 0 ) {
- syslog( LOG_INFO, "zip atp gmz bad index" );
+ LOG(log_info, logtype_atalkd, "zip atp gmz bad index" );
return 1;
}
return 0;
}
- if ( iface->i_rt->rt_zt == 0 ) {
+ if ( iface->i_rt->rt_zt == NULL ) {
return 0;
}
zt = (struct ziptab *)iface->i_rt->rt_zt->l_data;
if ( data + 1 + zt->zt_len > end ) {
- syslog( LOG_INFO, "zip atp gmz reply too long" );
+ LOG(log_info, logtype_atalkd, "zip atp gmz reply too long" );
return 1;
}
*data++ = zt->zt_len;
data += zt->zt_len;
}
- *lastflag = ( zt == 0 ); /* Too clever? */
+ *lastflag = ( zt == NULL ); /* Too clever? */
break;
case ZIPOP_GETLOCALZONES :
data += zt->zt_len;
}
- *lastflag = ( l == 0 );
+ *lastflag = ( l == NULL );
break;
default :
- syslog( LOG_INFO, "zip atp bad option" );
+ LOG(log_info, logtype_atalkd, "zip atp bad option" );
return 1;
}
if ( sendto( ap->ap_fd, packet, data - packet, 0,
(struct sockaddr *)from,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip atp sendto %u.%u: %m",
- ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
+ LOG(log_error, logtype_atalkd, "zip atp sendto %u.%u: %s",
+ ntohs( from->sat_addr.s_net ), from->sat_addr.s_node,
+ strerror(errno) );
return 1;
}
}
break;
default :
- syslog( LOG_INFO, "zip_packet bad ddp type from %u.%u\n",
+ LOG(log_info, logtype_atalkd, "zip_packet bad ddp type from %u.%u",
ntohs( from->sat_addr.s_net ), from->sat_addr.s_node );
return 1;
}
return 0;
}
-int zip_getnetinfo( iface )
- struct interface *iface;
+int zip_getnetinfo(struct interface *iface)
{
struct atport *ap;
struct ziphdr zh;
char *data, packet[ 40 ];
u_short net;
- syslog( LOG_INFO, "zip_getnetinfo for %s", iface->i_name );
+ LOG(log_info, logtype_atalkd, "zip_getnetinfo for %s", iface->i_name );
for ( ap = iface->i_ports; ap; ap = ap->ap_next ) {
if ( ap->ap_packet == zip_packet ) {
break;
}
}
- if ( ap == 0 ) {
- syslog( LOG_ERR, "zip_getnetinfo can't find zip socket!" );
+ if ( ap == NULL ) {
+ LOG(log_error, logtype_atalkd, "zip_getnetinfo can't find zip socket!" );
return -1;
}
#ifdef BSD4_4
sat.sat_len = sizeof( struct sockaddr_at );
-#endif BSD4_4
+#endif /* BSD4_4 */
sat.sat_family = AF_APPLETALK;
sat.sat_addr.s_net = 0;
sat.sat_addr.s_node = ATADDR_BCAST;
if ( sendto( ap->ap_fd, packet, data - packet, 0, (struct sockaddr *)&sat,
sizeof( struct sockaddr_at )) < 0 ) {
- syslog( LOG_ERR, "zip_getnetinfo sendto: %m" );
+ LOG(log_error, logtype_atalkd, "zip_getnetinfo sendto: %s", strerror(errno) );
return -1;
}
return 0;
}
- struct ziptab *
-newzt( len, name )
- const int len;
- const char *name;
+struct ziptab *newzt(const int len, const char *name)
{
struct ziptab *zt;
* Insert at the end. Return 1 if a mapping already exists, 0 otherwise.
* -1 on error.
*/
-static int add_list( head, data )
- struct list **head;
- void *data;
+static int add_list(struct list **head, void *data)
{
struct list *l, *l2;
}
}
if (( l = (struct list *)malloc( sizeof( struct list ))) == NULL ) {
- syslog( LOG_ERR, "add_list malloc: %m" );
+ LOG(log_error, logtype_atalkd, "add_list malloc: %s", strerror(errno) );
return -1;
}
return( 0 );
}
-int addzone( rt, len, zone )
- struct rtmptab *rt;
- int len;
- char *zone;
+int addzone(struct rtmptab *rt, int len, char *zone)
{
struct ziptab *zt;
int cc, exists = 0;
}
if ( zt == NULL ) {
if (( zt = newzt( len, zone )) == NULL ) {
- syslog( LOG_ERR, "addzone newzt: %m" );
+ LOG(log_error, logtype_atalkd, "addzone newzt: %s", strerror(errno) );
return -1;
}
if ( ziptab == NULL ) {
if (cc) {
if ( !exists ) {
- syslog( LOG_ERR, "addzone corrupted route/zone mapping" );
+ LOG(log_error, logtype_atalkd, "addzone corrupted route/zone mapping" );
return -1;
}
/*
return 0;
}
if ( exists ) {
- syslog( LOG_ERR, "addzone corrupted zone/route mapping" );
+ LOG(log_error, logtype_atalkd, "addzone corrupted zone/route mapping" );
return -1;
}
return 0;