summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/syslogd/syslogd.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c
index d8f0638411c..5685fc09b63 100644
--- a/usr.sbin/syslogd/syslogd.c
+++ b/usr.sbin/syslogd/syslogd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: syslogd.c,v 1.86 2004/12/20 20:59:19 otto Exp $ */
+/* $OpenBSD: syslogd.c,v 1.87 2004/12/21 23:09:32 danh Exp $ */
/*
* Copyright (c) 1983, 1988, 1993, 1994
@@ -39,7 +39,7 @@ static const char copyright[] =
#if 0
static const char sccsid[] = "@(#)syslogd.c 8.3 (Berkeley) 4/4/94";
#else
-static const char rcsid[] = "$OpenBSD: syslogd.c,v 1.86 2004/12/20 20:59:19 otto Exp $";
+static const char rcsid[] = "$OpenBSD: syslogd.c,v 1.87 2004/12/21 23:09:32 danh Exp $";
#endif
#endif /* not lint */
@@ -855,8 +855,18 @@ fprintlog(struct filed *f, int flags, char *msg)
if (sendto(pfd[PFD_INET].fd, line, l, 0,
(struct sockaddr *)&f->f_un.f_forw.f_addr,
f->f_un.f_forw.f_addr.ss_len) != l) {
- f->f_type = F_UNUSED;
- logerror("sendto");
+ switch (errno) {
+ case EHOSTDOWN:
+ case EHOSTUNREACH:
+ case ENETDOWN:
+ case ENOBUFS:
+ /* silently dropped */
+ break;
+ default:
+ f->f_type = F_UNUSED;
+ logerror("sendto");
+ break;
+ }
}
break;