X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournald-audit.c;h=c2f1545cc9b0a2c89b2e3e92f1826bce31bd3f8c;hb=fc07d5d3a982e59d984d6be54342a18028faf7be;hp=341d74815d5826116ef16b355e00a3695c375c62;hpb=124aff6251c095367ce1323a21fa23235cbb0490;p=elogind.git diff --git a/src/journal/journald-audit.c b/src/journal/journald-audit.c index 341d74815..c2f1545cc 100644 --- a/src/journal/journald-audit.c +++ b/src/journal/journald-audit.c @@ -206,7 +206,7 @@ static int map_generic_field(const char *prefix, const char **p, struct iovec ** return r; } -/* Kernel fields are those occuring in the audit string before +/* Kernel fields are those occurring in the audit string before * msg='. All of these fields are trusted, hence carry the "_" prefix. * We try to translate the fields we know into our native names. The * other's are generically mapped to _AUDIT_FIELD_XYZ= */ @@ -240,7 +240,7 @@ static const MapField map_fields_kernel[] = { {} }; -/* Userspace fields are thos occuring in the audit string after +/* Userspace fields are those occurring in the audit string after * msg='. All of these fields are untrusted, hence carry no "_" * prefix. We map the fields we don't know to AUDIT_FIELD_XYZ= */ static const MapField map_fields_userspace[] = { @@ -308,10 +308,8 @@ static int map_all_fields( continue; r = m->map(m->journal_field, &v, iov, n_iov_allocated, n_iov); - if (r < 0) { - log_debug("Failed to parse audit array: %s", strerror(-r)); - return r; - } + if (r < 0) + return log_debug_errno(r, "Failed to parse audit array: %m"); if (r > 0) { mapped = true; @@ -322,10 +320,8 @@ static int map_all_fields( if (!mapped) { r = map_generic_field(prefix, &p, iov, n_iov_allocated, n_iov); - if (r < 0) { - log_debug("Failed to parse audit array: %s", strerror(-r)); - return r; - } + if (r < 0) + return log_debug_errno(r, "Failed to parse audit array: %m"); if (r == 0) { /* Couldn't process as generic field, let's just skip over it */ @@ -364,7 +360,7 @@ static void process_audit_string(Server *s, int type, const char *data, size_t s if (!p) return; - if (sscanf(p, "(%" PRIi64 ".%" PRIi64 ":%" PRIi64 "):%n", + if (sscanf(p, "(%" PRIu64 ".%" PRIu64 ":%" PRIu64 "):%n", &seconds, &msec, &id, @@ -527,35 +523,29 @@ int server_open_audit(Server *s) { if (errno == EAFNOSUPPORT || errno == EPROTONOSUPPORT) log_debug("Audit not supported in the kernel."); else - log_warning("Failed to create audit socket, ignoring: %m"); + log_warning_errno(errno, "Failed to create audit socket, ignoring: %m"); return 0; } r = bind(s->audit_fd, &sa.sa, sizeof(sa.nl)); - if (r < 0) { - log_error("Failed to join audit multicast group: %m"); - return -errno; - } + if (r < 0) + return log_error_errno(errno, "Failed to join audit multicast group: %m"); } else fd_nonblock(s->audit_fd, 1); r = setsockopt(s->audit_fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)); - if (r < 0) { - log_error("Failed to set SO_PASSCRED on audit socket: %m"); - return -errno; - } + if (r < 0) + return log_error_errno(errno, "Failed to set SO_PASSCRED on audit socket: %m"); - r = sd_event_add_io(s->event, &s->audit_event_source, s->audit_fd, EPOLLIN, process_datagram, s); - if (r < 0) { - log_error("Failed to add audit fd to event loop: %s", strerror(-r)); - return r; - } + r = sd_event_add_io(s->event, &s->audit_event_source, s->audit_fd, EPOLLIN, server_process_datagram, s); + if (r < 0) + return log_error_errno(r, "Failed to add audit fd to event loop: %m"); /* We are listening now, try to enable audit */ r = enable_audit(s->audit_fd, true); if (r < 0) - log_warning("Failed to issue audit enable call: %s", strerror(-r)); + log_warning_errno(r, "Failed to issue audit enable call: %m"); return 0; }