[Midnightbsd-cvs] [MidnightBSD/src] 29b641: syslogd: import the FreeBSD stable/15 version

Lucas Holt noreply at github.com
Tue Sep 29 16:40:37 EDT 2026


  Branch: refs/heads/syslogd-freebsd15
  Home:   https://github.com/MidnightBSD/src
  Commit: 29b641e12140038d6600cdd9d6a04e55b840d535
      https://github.com/MidnightBSD/src/commit/29b641e12140038d6600cdd9d6a04e55b840d535
  Author: Lucas Holt <luke at foolishgames.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M libexec/talkd/announce.c
    M usr.bin/wall/ttymsg.c
    M usr.bin/wall/ttymsg.h
    M usr.bin/wall/wall.c
    M usr.sbin/syslogd/Makefile
    M usr.sbin/syslogd/Makefile.depend
    M usr.sbin/syslogd/pathnames.h
    M usr.sbin/syslogd/syslog.conf.5
    M usr.sbin/syslogd/syslogd.8
    M usr.sbin/syslogd/syslogd.c
    A usr.sbin/syslogd/syslogd.h
    A usr.sbin/syslogd/syslogd_cap.c
    A usr.sbin/syslogd/syslogd_cap.h
    A usr.sbin/syslogd/syslogd_cap_config.c
    A usr.sbin/syslogd/syslogd_cap_log.c
    M usr.sbin/syslogd/tests/Makefile
    A usr.sbin/syslogd/tests/syslogd_basic_format_test.sh
    A usr.sbin/syslogd/tests/syslogd_format_test_common.sh
    A usr.sbin/syslogd/tests/syslogd_forwarded_format_test.sh
    A usr.sbin/syslogd/tests/syslogd_relayed_format_test.sh
    M usr.sbin/syslogd/tests/syslogd_test.sh
    A usr.sbin/syslogd/tests/syslogd_test_common.sh

  Log Message:
  -----------
  syslogd: import the FreeBSD stable/15 version

Replace our FreeBSD 13-era syslogd with the FreeBSD stable/15 code.
This brings the process-descriptor based pipe handling, libcasper
sandboxing (capability mode when MK_CASPER is enabled), the
rfc3164-strict output format, graceful termination of pipe children,
forwarding socket fixes, and the expanded regression test suite.

It includes the fix for FreeBSD-EN-26:23.syslogd, which stops syslogd
from leaking a process descriptor for each pipe destination on every
SIGHUP reload, and the test that catches that regression.

Local deviations from upstream:

- socksetup(): the upstream code sets unix socket permissions with
  fchmod(2) before bind(2).  Our kernel does not yet support fchmod on
  unix sockets (FreeBSD bfd03046d187), so fall back to chmod(2) on the
  bound path when fchmod fails with EINVAL.  Without this syslogd
  cannot create its local sockets and refuses to start.
- tests/Makefile: Kyua 0.13 does not know the "jail" execenv used
  upstream, so the tests are marked is_exclusive instead, as FreeBSD
  did before the execenv conversion.
- Makefile: keep the ftpd syslog.d fragment, which FreeBSD dropped
  along with ftpd(8).

ttymsg() changed signature upstream (returns int, takes a bool that
controls the "messages disabled" check), so usr.bin/wall/ttymsg.[ch]
are updated to match and the callers in wall(1) and ntalkd(8) are
adjusted.  Our local wall.c overflow fix is retained.

Built syslogd (with and without WITH_CASPER), wall and ntalkd on
amd64.  Ran the syslogd Kyua tests that do not need jails or extra
interfaces against the new binary: 14/14 pass, including
pipe_action_reload, which checks for leaked process descriptors.

AI-Assisted-by: Claude Fable 5.1
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
Signed-off-by: Lucas Holt <luke at foolishgames.com>



To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/src/settings/notifications


More information about the Midnightbsd-cvs mailing list