]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journald-audit: apply new Audit= setting on reload
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 15 Jul 2025 16:24:32 +0000 (01:24 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 18 Jul 2025 06:27:37 +0000 (15:27 +0900)
src/journal/journald-audit.c
src/journal/journald-audit.h
src/journal/journald-config.c

index 05374f3329e5f6eca71b30c962d84a5ac41a4726..6f08875ca303f7459f20dca06f246ee5a97771c3 100644 (file)
@@ -556,3 +556,15 @@ int manager_open_audit(Manager *m) {
         (void) manager_set_kernel_audit(m);
         return 0;
 }
+
+void manager_reset_kernel_audit(Manager *m, int old_set_audit) {
+        assert(m);
+
+        if (m->audit_fd < 0)
+                return;
+
+        if (m->config.set_audit == old_set_audit)
+                return;
+
+        (void) manager_set_kernel_audit(m);
+}
index 17ba2efbbb65bf85b551249b75977be9b0c45d84..1f1b778e372f147836c8c59fac40f7407ee43bba 100644 (file)
@@ -10,3 +10,4 @@ void manager_process_audit_message(Manager *m, const void *buffer, size_t buffer
 void process_audit_string(Manager *m, int type, const char *data, size_t size);
 
 int manager_open_audit(Manager *m);
+void manager_reset_kernel_audit(Manager *m, int old_set_audit);
index a2275a173ef1aad41e375a1badb9393430479389..5e6b0727516ea3183db1e5fa4328148b4332c974 100644 (file)
@@ -5,6 +5,7 @@
 #include "conf-parser.h"
 #include "creds-util.h"
 #include "daemon-util.h"
+#include "journald-audit.h"
 #include "journald-config.h"
 #include "journald-kmsg.h"
 #include "journald-manager.h"
@@ -364,6 +365,7 @@ int manager_dispatch_reload_signal(sd_event_source *s, const struct signalfd_sig
         manager_reload_config(m);
 
         (void) manager_reopen_dev_kmsg(m, old.read_kmsg);
+        manager_reset_kernel_audit(m, old.set_audit);
 
         r = manager_reload_journals(m);
         if (r < 0)