From 1b89cfc42684897c9201f197e31e7779bf9218c2 Mon Sep 17 00:00:00 2001 From: christos Date: Sun, 20 Apr 2003 00:17:22 +0000 Subject: [PATCH] PR/3343: Jonathan Stone: Errors and warnings to stderr if interactive --- common/Makefile | 4 ++-- common/device.c | 55 ++++++++++++++++++----------------------------- common/loop-bsd.c | 32 +++++++++++---------------- common/pf.c | 27 ++++++++++++----------- 4 files changed, 49 insertions(+), 69 deletions(-) diff --git a/common/Makefile b/common/Makefile index 82182a4..a1e7132 100644 --- a/common/Makefile +++ b/common/Makefile @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.5 2002/09/18 13:31:54 lukem Exp $ +# $NetBSD: Makefile,v 1.6 2003/04/20 00:17:22 christos Exp $ NOLINT= # defined NOPIC= # defined NOPROFILE= # defined LIB= common -SRCS= cmp.c device.c dl.c file.c get.c loop-bsd.c mopdef.c nma.c pf.c \ +SRCS= cmp.c device.c dl.c file.c get.c log.c loop-bsd.c mopdef.c nma.c pf.c \ print.c put.c rc.c version.c CLEANFILES= version.c diff --git a/common/device.c b/common/device.c index f27098f..f3fe91a 100644 --- a/common/device.c +++ b/common/device.c @@ -1,4 +1,4 @@ -/* $NetBSD: device.c,v 1.5 2002/08/22 07:18:42 itojun Exp $ */ +/* $NetBSD: device.c,v 1.6 2003/04/20 00:17:22 christos Exp $ */ /* * Copyright (c) 1993-95 Mats O Jansson. All rights reserved. @@ -31,7 +31,7 @@ #include #ifndef lint -__RCSID("$NetBSD: device.c,v 1.5 2002/08/22 07:18:42 itojun Exp $"); +__RCSID("$NetBSD: device.c,v 1.6 2003/04/20 00:17:22 christos Exp $"); #endif #include "os.h" @@ -39,6 +39,7 @@ __RCSID("$NetBSD: device.c,v 1.5 2002/08/22 07:18:42 itojun Exp $"); #include "device.h" #include "mopdef.h" #include "pf.h" +#include "log.h" struct if_info *iflist; /* Interface List */ @@ -66,18 +67,14 @@ deviceEthAddr(ifname, eaddr) and find the right one. */ /* Use datagram socket to get Ethernet address. */ - if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - syslog(LOG_ERR, "deviceEthAddr: socket: %m"); - exit(1); - } + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) + mopLogErr("deviceEthAddr: socket"); ifc.ifc_len = sizeof(inbuf); ifc.ifc_buf = inbuf; if (ioctl(fd, SIOCGIFCONF, (caddr_t)&ifc) < 0 || - ifc.ifc_len < sizeof(struct ifreq)) { - syslog(LOG_ERR, "deviceEthAddr: SIOGIFCONF: %m"); - exit(1); - } + ifc.ifc_len < sizeof(struct ifreq)) + mopLogErr("deviceEthAddr: SIOGIFCONF"); ifr = ifc.ifc_req; for (i = 0; i < ifc.ifc_len; i += len, ifr = (struct ifreq *)((caddr_t)ifr + len)) { @@ -92,8 +89,7 @@ deviceEthAddr(ifname, eaddr) } } - syslog(LOG_ERR, "deviceEthAddr: Never saw interface `%s'!", ifname); - exit(1); + mopLogErrX("deviceEthAddr: Never saw interface `%s'!", ifname); } #endif /* DEV_NEW_CONF */ @@ -124,10 +120,8 @@ deviceOpen(ifname, proto, trans) if (tmp.fd != -1) { p = (struct if_info *)malloc(sizeof(*p)); - if (p == 0) { - syslog(LOG_ERR, "deviceOpen: malloc: %m"); - exit(1); - } + if (p == 0) + mopLogErr("deviceOpen: malloc"); p->next = iflist; iflist = p; @@ -196,7 +190,8 @@ deviceInitOne(ifname) } } - syslog(LOG_INFO, "Initialized %s", interface); + if (!mopInteractive) + syslog(LOG_INFO, "Initialized %s", interface); /* Ok, get transport information */ @@ -260,18 +255,14 @@ deviceInitAll() int fd; int i, len; - if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - syslog(LOG_ERR, "deviceInitAll: socket: %m"); - exit(1); - } + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) + mopLogErr("deviceInitAll: socket"); ifc.ifc_len = sizeof(inbuf); ifc.ifc_buf = inbuf; if (ioctl(fd, SIOCGIFCONF, (caddr_t)&ifc) < 0 || - ifc.ifc_len < sizeof(struct ifreq)) { - syslog(LOG_ERR, "deviceInitAll: SIOCGIFCONF: %m"); - exit(1); - } + ifc.ifc_len < sizeof(struct ifreq)) + mopLogErr("deviceInitAll: SIOCGIFCONF"); ifr = ifc.ifc_req; for (i = 0; i < ifc.ifc_len; i += len, ifr = (struct ifreq *)((caddr_t)ifr + len)) { @@ -281,7 +272,7 @@ deviceInitAll() sdl->sdl_alen != 6) continue; if (ioctl(fd, SIOCGIFFLAGS, (caddr_t)ifr) < 0) { - syslog(LOG_ERR, "deviceInitAll: SIOCGIFFLAGS: %m"); + mopLogWarn("deviceInitAll: SIOCGIFFLAGS"); continue; } if ((ifr->ifr_flags & @@ -296,17 +287,13 @@ deviceInitAll() struct ifreq ibuf[8], *ifrp; struct ifconf ifc; - if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - syslog(LOG_ERR, "deviceInitAll: old socket: %m"); - exit(1); - } + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) + mopLogErr("deviceInitAll: old socket"); ifc.ifc_len = sizeof ibuf; ifc.ifc_buf = (caddr_t)ibuf; if (ioctl(fd, SIOCGIFCONF, (char *)&ifc) < 0 || - ifc.ifc_len < sizeof(struct ifreq)) { - syslog(LOG_ERR, "deviceInitAll: old SIOCGIFCONF: %m"); - exit(1); - } + ifc.ifc_len < sizeof(struct ifreq)) + mopLogErr("deviceInitAll: old SIOCGIFCONF"); ifrp = ibuf; n = ifc.ifc_len / sizeof(*ifrp); for (; --n >= 0; ++ifrp) { diff --git a/common/loop-bsd.c b/common/loop-bsd.c index 1a4a250..0175796 100644 --- a/common/loop-bsd.c +++ b/common/loop-bsd.c @@ -1,4 +1,4 @@ -/* $NetBSD: loop-bsd.c,v 1.6 2002/09/20 14:16:03 mycroft Exp $ */ +/* $NetBSD: loop-bsd.c,v 1.7 2003/04/20 00:17:22 christos Exp $ */ /* * Copyright (c) 1993-95 Mats O Jansson. All rights reserved. @@ -31,7 +31,7 @@ #include #ifndef lint -__RCSID("$NetBSD: loop-bsd.c,v 1.6 2002/09/20 14:16:03 mycroft Exp $"); +__RCSID("$NetBSD: loop-bsd.c,v 1.7 2003/04/20 00:17:22 christos Exp $"); #endif #include @@ -50,6 +50,7 @@ __RCSID("$NetBSD: loop-bsd.c,v 1.6 2002/09/20 14:16:03 mycroft Exp $"); #include "common.h" #include "device.h" #include "mopdef.h" +#include "log.h" int mopOpenRC(p, trans) @@ -112,21 +113,15 @@ Loop() int bufsize; struct if_info *ii; - if (iflist == 0) { - syslog(LOG_ERR, "no interfaces"); - exit(0); - } + if (iflist == 0) + mopLogErrX("no interfaces"); if (iflist->fd != -1) { - if (ioctl(iflist->fd, BIOCGBLEN, (caddr_t) & bufsize) < 0) { - syslog(LOG_ERR, "BIOCGBLEN: %m"); - exit(0); - } + if (ioctl(iflist->fd, BIOCGBLEN, (caddr_t) & bufsize) < 0) + mopLogErr("BIOCGBLEN"); } buf = (u_char *) malloc((unsigned) bufsize); - if (buf == 0) { - syslog(LOG_ERR, "malloc: %m"); - exit(0); - } + if (buf == 0) + mopLogErr("malloc"); /* * Find the highest numbered file descriptor for select(). * Initialize the set of descriptors to listen to. @@ -140,10 +135,8 @@ Loop() set[m].events = POLLIN; } for (;;) { - if (poll(set, n, INFTIM) < 0) { - syslog(LOG_ERR, "poll: %m"); - exit(0); - } + if (poll(set, n, INFTIM) < 0) + mopLogErr("poll"); for (ii = iflist, m = 0; ii; ii = ii->next, m++) { if (!(set[m].revents & POLLIN)) continue; @@ -161,8 +154,7 @@ Loop() (void) lseek(ii->fd, 0, 0); goto again; } - syslog(LOG_ERR, "read: %m"); - exit(0); + mopLogErr("read"); } /* Loop through the packet(s) */ #define bhp ((struct bpf_hdr *)bp) diff --git a/common/pf.c b/common/pf.c index 2faa13d..7fed35f 100644 --- a/common/pf.c +++ b/common/pf.c @@ -1,4 +1,4 @@ -/* $NetBSD: pf.c,v 1.7 2002/08/22 07:18:42 itojun Exp $ */ +/* $NetBSD: pf.c,v 1.8 2003/04/20 00:17:22 christos Exp $ */ /* * Copyright (c) 1993-95 Mats O Jansson. All rights reserved. @@ -35,7 +35,7 @@ #include #ifndef lint -__RCSID("$NetBSD: pf.c,v 1.7 2002/08/22 07:18:42 itojun Exp $"); +__RCSID("$NetBSD: pf.c,v 1.8 2003/04/20 00:17:22 christos Exp $"); #endif #include "os.h" @@ -45,6 +45,7 @@ __RCSID("$NetBSD: pf.c,v 1.7 2002/08/22 07:18:42 itojun Exp $"); #include "mopdef.h" #include "pf.h" +#include "log.h" /* * Variables @@ -104,35 +105,35 @@ pfInit(interface, mode, protocol, typ) } while (fd < 0 && errno == EBUSY); if (fd < 0) { - syslog(LOG_ERR,"pfInit: open %s: %m", device); + mopLogWarn("pfInit: open %s", device); return(-1); } /* Set immediate mode so packets are processed as they arrive. */ immediate = 1; if (ioctl(fd, BIOCIMMEDIATE, &immediate) < 0) { - syslog(LOG_ERR,"pfInit: BIOCIMMEDIATE: %m"); + mopLogWarn("pfInit: BIOCIMMEDIATE"); return(-1); } (void) strncpy(ifr.ifr_name, interface, sizeof ifr.ifr_name); if (ioctl(fd, BIOCSETIF, (caddr_t) & ifr) < 0) { - syslog(LOG_ERR,"pfInit: BIOCSETIF: %m"); + mopLogWarn("pfInit: BIOCSETIF"); return(-1); } /* Check that the data link layer is an Ethernet; this code won't work * with anything else. */ if (ioctl(fd, BIOCGDLT, (caddr_t) & dlt) < 0) { - syslog(LOG_ERR,"pfInit: BIOCGDLT: %m"); + mopLogWarn("pfInit: BIOCGDLT"); return(-1); } if (dlt != DLT_EN10MB) { - syslog(LOG_ERR,"pfInit: %s is not ethernet", device); + mopLogWarnX("pfInit: %s is not ethernet", device); return(-1); } if (promisc) { /* Set promiscuous mode. */ if (ioctl(fd, BIOCPROMISC, (caddr_t)0) < 0) { - syslog(LOG_ERR,"pfInit: BIOCPROMISC: %m"); + mopLogWarn("pfInit: BIOCPROMISC"); return(-1); } } @@ -141,7 +142,7 @@ pfInit(interface, mode, protocol, typ) insns[3].k = protocol; if (ioctl(fd, BIOCSETF, (caddr_t) & filter) < 0) { - syslog(LOG_ERR,"pfInit: BIOCSETF: %m"); + mopLogWarn("pfInit: BIOCSETF"); return(-1); } return(fd); @@ -169,11 +170,11 @@ pfAddMulti(s, interface, addr) * */ if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - syslog(LOG_ERR, "pfAddMulti: socket: %m"); + mopLogWarn("pfAddMulti: socket"); return(-1); } if (ioctl(fd, SIOCADDMULTI, (caddr_t)&ifr) < 0) { - syslog(LOG_ERR, "pfAddMulti: SIOCADDMULTI: %m"); + mopLogWarn("pfAddMulti: SIOCADDMULTI"); close(fd); return(-1); } @@ -204,11 +205,11 @@ pfDelMulti(s, interface, addr) * */ if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { - syslog(LOG_ERR, "pfDelMulti: socket: %m"); + mopLogWarn("pfDelMulti: socket"); return(-1); } if (ioctl(fd, SIOCDELMULTI, (caddr_t)&ifr) < 0) { - syslog(LOG_ERR, "pfAddMulti: SIOCDELMULTI: %m"); + mopLogWarn("pfAddMulti: SIOCDELMULTI"); close(fd); return(-1); }