From eff05270986a13e7de93ae16311f654d3f7c166f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 24 Dec 2013 15:53:04 +0100 Subject: util: unify SO_PEERCRED/SO_PEERSEC invocations Introduce new call getpeercred() which internally just uses SO_PEERCRED but checks if the returned data is actually useful due to namespace quirks. --- src/journal/journald-stream.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/journal') diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c index aba9054b27..c032ee4a0e 100644 --- a/src/journal/journald-stream.c +++ b/src/journal/journald-stream.c @@ -354,7 +354,6 @@ static int stdout_stream_new(sd_event_source *es, int listen_fd, uint32_t revent Server *s = userdata; StdoutStream *stream; int fd, r; - socklen_t len; assert(s); @@ -386,8 +385,8 @@ static int stdout_stream_new(sd_event_source *es, int listen_fd, uint32_t revent stream->fd = fd; - len = sizeof(stream->ucred); - if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &stream->ucred, &len) < 0) { + r = getpeercred(fd, &stream->ucred); + if (r < 0) { log_error("Failed to determine peer credentials: %m"); goto fail; } -- cgit v1.2.3-54-g00ecf