Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Nov 2020 09:54:22 -0800
From:      Cy Schubert <Cy.Schubert@cschubert.com>
To:        Bryan Drewery <bdrewery@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r367455 - head/usr.sbin/syslogd
Message-ID:  <202011071754.0A7HsMN5063934@slippy.cwsent.com>
In-Reply-To: <202011071718.0A7HIjDY003915@repo.freebsd.org>
References:  <202011071718.0A7HIjDY003915@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <202011071718.0A7HIjDY003915@repo.freebsd.org>, Bryan Drewery 
writes
:
> 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	(r36745
> 4)
> +++ head/usr.sbin/syslogd/syslogd.c	Sat Nov  7 17:18:44 2020	(r36745
> 5)
> @@ -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) {

The extraneous left brace broke the build.

>  					continue;
>  				lsent = sendmsg(sl->sl_socket, &msghdr, 0);
>  				if (lsent == (ssize_t)il->totalsize)
>


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

	The need of the many outweighs the greed of the few.






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