Let's keep the ifdeffery for the include in one place.
#include <errno.h>
#include "audit-fd.h"
-
-#if HAVE_AUDIT
-# include <stdbool.h>
-
-# include "libaudit-util.h"
-# include "capability-util.h"
+#include "capability-util.h"
+#include "libaudit-util.h"
static bool initialized = false;
static int audit_fd = -EBADF;
-#endif
int get_core_audit_fd(void) {
-#if HAVE_AUDIT
if (!initialized) {
if (have_effective_cap(CAP_AUDIT_WRITE) <= 0)
audit_fd = -EPERM;
}
return audit_fd;
-#else
- return -EAFNOSUPPORT;
-#endif
}
void close_core_audit_fd(void) {
-#if HAVE_AUDIT
close_audit_fd(audit_fd);
initialized = true;
audit_fd = -ECONNRESET;
-#endif
}
#include <sys/wait.h>
#include <unistd.h>
-#if HAVE_AUDIT
-#include <libaudit.h>
-#endif
-
#include "sd-daemon.h"
#include "sd-messages.h"
#include "sd-path.h"
#include "io-util.h"
#include "iovec-util.h"
#include "label-util.h"
+#include "libaudit-util.h"
#include "load-fragment.h"
#include "locale-setup.h"
#include "log.h"
#include <errno.h>
#include <selinux/avc.h>
#include <selinux/selinux.h>
-#if HAVE_AUDIT
-#include <libaudit.h>
-#endif
#include "sd-bus.h"
#include "bus-util.h"
#include "errno-util.h"
#include "format-util.h"
+#include "libaudit-util.h"
#include "log.h"
#include "path-util.h"
#include "selinux-util.h"
#include <stdio.h>
#include <sys/socket.h>
-#if HAVE_AUDIT
-# include <libaudit.h>
-#endif
-
#include "fd-util.h"
#include "iovec-util.h"
#include "libaudit-util.h"
}
int open_audit_fd_or_warn(void) {
- int fd = -EBADF;
-
#if HAVE_AUDIT
/* If the kernel lacks netlink or audit support, don't worry about it. */
- fd = audit_open();
+ int fd = audit_open();
if (fd < 0)
return log_full_errno(ERRNO_IS_NOT_SUPPORTED(errno) ? LOG_DEBUG : LOG_WARNING,
errno, "Failed to connect to audit log, ignoring: %m");
-#endif
+
return fd;
+#else
+ return log_debug_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "libaudit support not compiled in");
+#endif
}
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
+#if HAVE_AUDIT
+# include <libaudit.h>
+#endif
+
#include <stdbool.h>
bool use_audit(void);
#include <stdlib.h>
#include <sys/stat.h>
-#if HAVE_AUDIT
-# include <libaudit.h>
-#endif
-
#include "alloc-util.h"
#include "build.h"
#include "chase.h"
#include <sys/stat.h>
-#if HAVE_AUDIT
-# include <libaudit.h>
-#endif
-
#include "sd-bus.h"
#include "alloc-util.h"