summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@freyther.de>2013-04-06 10:20:34 +0200
committerLennart Poettering <lennart@poettering.net>2013-04-08 15:30:04 +0200
commit0a20e3c10761378869af7bbef2733e3ae879d0f1 (patch)
tree7dced2df3934685e74ed81518f31f9ac5e94f0de
parentab7d9b674e8eb1388dff4d44def1b661892832e6 (diff)
journald: Do not always record _AUDIT_SESSION and _AUDIT_LOGINUID
When systemd was compiled without audit support, do not collect the audit session and loginuid in the journal. This is saving a couple of syscalls and memory allocations per log message.
-rw-r--r--src/journal/journald-server.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index 9a96689ee7..28ce69dccd 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -555,8 +555,10 @@ static void dispatch_message_real(
assert(n + N_IOVEC_META_FIELDS <= m);
if (ucred) {
+#ifdef HAVE_AUDIT
uint32_t audit;
uid_t loginuid;
+#endif
realuid = ucred->uid;
@@ -596,6 +598,7 @@ static void dispatch_message_real(
IOVEC_SET_STRING(iovec[n++], cmdline);
}
+#ifdef HAVE_AUDIT
r = audit_session_from_pid(ucred->pid, &audit);
if (r >= 0)
if (asprintf(&audit_session, "_AUDIT_SESSION=%lu", (unsigned long) audit) >= 0)
@@ -605,6 +608,7 @@ static void dispatch_message_real(
if (r >= 0)
if (asprintf(&audit_loginuid, "_AUDIT_LOGINUID=%lu", (unsigned long) loginuid) >= 0)
IOVEC_SET_STRING(iovec[n++], audit_loginuid);
+#endif
t = shortened_cgroup_path(ucred->pid);
if (t) {