When syslogd is sending messages via UDP to a remote loghost, it
authorbluhm <bluhm@openbsd.org>
Thu, 16 Mar 2023 18:22:08 +0000 (18:22 +0000)
committerbluhm <bluhm@openbsd.org>
Thu, 16 Mar 2023 18:22:08 +0000 (18:22 +0000)
stops if there is a permanent error.  Add EACCES generated by pf
to the list of transient errors.  This restores pre-6.5 behavior
and continues logging after pf.conf has been fixed.
OK millert@ deraadt@ mvs@

usr.sbin/syslogd/syslogd.c

index 6b07949..289c3cb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: syslogd.c,v 1.276 2022/12/28 21:30:19 jmc Exp $       */
+/*     $OpenBSD: syslogd.c,v 1.277 2023/03/16 18:22:08 bluhm Exp $     */
 
 /*
  * Copyright (c) 2014-2021 Alexander Bluhm <bluhm@genua.de>
@@ -1950,6 +1950,7 @@ fprintlog(struct filed *f, int flags, char *msg)
                msghdr.msg_iovlen = IOVCNT;
                if (sendmsg(f->f_file, &msghdr, 0) == -1) {
                        switch (errno) {
+                       case EACCES:
                        case EADDRNOTAVAIL:
                        case EHOSTDOWN:
                        case EHOSTUNREACH: