From 986d572418b1abec267571087f18b3433af47071 Mon Sep 17 00:00:00 2001
From: Chris Morin <cmtm@google.com>
Date: Wed, 12 Dec 2018 19:59:27 -0800
Subject: [PATCH] journal: support forwarding to syslog without CAP_SETUID and
 CAP_SETGID

Journald can forward messages to syslog when CAP_SYS_ADMIN is missing,
but not when CAP_SETUID or CAP_SETGID are missing. Prevent journald from
forging UNIX credentials at all when the first forwarding attempt fails.
This allows forwarding to work when journald has none of [CAP_SYS_ADMIN,
CAP_SETUID, CAP_SETGID].
---
 src/journal/journald-syslog.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/journal/journald-syslog.c b/src/journal/journald-syslog.c
index a60a259bc4..e8b6915335 100644
--- a/src/journal/journald-syslog.c
+++ b/src/journal/journald-syslog.c
@@ -75,15 +75,13 @@ static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned
         }
 
         if (ucred && IN_SET(errno, ESRCH, EPERM)) {
-                struct ucred u;
 
-                /* Hmm, presumably the sender process vanished
-                 * by now, or we don't have CAP_SYS_AMDIN, so
-                 * let's fix it as good as we can, and retry */
+                /* Hmm, presumably the sender process vanished by now, or we
+                 * don't have one of [CAP_SYS_AMDIN, CAP_SETUID, CAP_SETGID],
+                 * don't send any UNIX credentials */
 
-                u = *ucred;
-                u.pid = getpid_cached();
-                memcpy(CMSG_DATA(cmsg), &u, sizeof(struct ucred));
+                msghdr.msg_control = NULL;
+                msghdr.msg_controllen = 0;
 
                 if (sendmsg(s->syslog_fd, &msghdr, MSG_NOSIGNAL) >= 0)
                         return;
-- 
2.21.0.1020.gf2820cf01a-goog

