]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journald: handle more gracefully when bind() fails on audit sockets
authorLennart Poettering <lennart@poettering.net>
Wed, 20 May 2015 12:37:21 +0000 (14:37 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 20 May 2015 12:38:25 +0000 (14:38 +0200)
src/journal/journald-audit.c

index 64395e11486b0d042cbf57abc9f371ab2910ae9a..83c3332abf20b0de114190bb1c798d85f37a79fb 100644 (file)
@@ -534,9 +534,14 @@ int server_open_audit(Server *s) {
                         return 0;
                 }
 
-                r = bind(s->audit_fd, &sa.sa, sizeof(sa.nl));
-                if (r < 0)
-                        return log_error_errno(errno, "Failed to join audit multicast group: %m");
+                if (bind(s->audit_fd, &sa.sa, sizeof(sa.nl)) < 0) {
+                        log_warning_errno(errno,
+                                          "Failed to join audit multicast group. "
+                                          "The kernel is probably too old or multicast reading is not supported. "
+                                          "Ignoring: %m");
+                        s->audit_fd = safe_close(s->audit_fd);
+                        return 0;
+                }
         } else
                 fd_nonblock(s->audit_fd, 1);