Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Nov 2020 17:18:45 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r367455 - head/usr.sbin/syslogd
Message-ID:  <202011071718.0A7HIjDY003915@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Sat Nov  7 17:18:44 2020
New Revision: 367455
URL: https://svnweb.freebsd.org/changeset/base/367455

Log:
  syslogd: Stop trying to send remote messages through special sockets
  
  Specifically this was causing the /dev/klog fd and the signal pipe
  handling fd to get a sendmsg(2) called on them and always returned
  [ENOTSOCK].
  
  r310350 combined these sockets into the main socket list and properly
  skipped AF_UNSPEC at the sendmsg(2) call but later in r344739 it was
  broken such that these special sockets were no longer excluded since
  the AF_UNSPEC check specifically excluded these special sockets. Only
  these special sockets have sl_sa = NULL. The sl_family checks should
  be redundant now but are left in case of future changes so the intent
  is clearer.
  
  MFC after:	2 weeks

Modified:
  head/usr.sbin/syslogd/syslogd.c

Modified: head/usr.sbin/syslogd/syslogd.c
==============================================================================
--- head/usr.sbin/syslogd/syslogd.c	Sat Nov  7 16:58:38 2020	(r367454)
+++ head/usr.sbin/syslogd/syslogd.c	Sat Nov  7 17:18:44 2020	(r367455)
@@ -1871,9 +1871,9 @@ fprintlog_write(struct filed *f, struct iovlist *il, i
 			STAILQ_FOREACH(sl, &shead, next) {
 				if (sl->sl_socket < 0)
 					continue;
-				if (sl->sl_sa != NULL &&
-				    (sl->sl_family == AF_LOCAL ||
-				     sl->sl_family == AF_UNSPEC))
+				if (sl->sl_sa == NULL ||
+				    sl->sl_family == AF_UNSPEC ||
+				    sl->sl_family == AF_LOCAL) {
 					continue;
 				lsent = sendmsg(sl->sl_socket, &msghdr, 0);
 				if (lsent == (ssize_t)il->totalsize)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011071718.0A7HIjDY003915>