chiark / gitweb /
journald: set SO_PASSEC only if selinux is enabled
[elogind.git] / src / journal / journald.c
index ad7c655ff4e17678906ede9d29ba77c98b1ec2f6..50f66be9d9c59a79592150b5c8360a8a91019e9a 100644 (file)
@@ -1310,6 +1310,7 @@ finish:
                         free(iovec[j].iov_base);
         }
 
+        free(iovec);
         free(identifier);
         free(message);
 }
@@ -2307,10 +2308,12 @@ static int open_syslog_socket(Server *s) {
                 return -errno;
         }
 
+#ifdef HAVE_SE
         one = 1;
         r = setsockopt(s->syslog_fd, SOL_SOCKET, SO_PASSSEC, &one, sizeof(one));
         if (r < 0)
                 log_warning("SO_PASSSEC failed: %m");
+#endif
 
         one = 1;
         r = setsockopt(s->syslog_fd, SOL_SOCKET, SO_TIMESTAMP, &one, sizeof(one));
@@ -2368,10 +2371,12 @@ static int open_native_socket(Server*s) {
                 return -errno;
         }
 
+#ifdef HAVE_SELINUX
         one = 1;
         r = setsockopt(s->syslog_fd, SOL_SOCKET, SO_PASSSEC, &one, sizeof(one));
         if (r < 0)
                 log_warning("SO_PASSSEC failed: %m");
+#endif
 
         one = 1;
         r = setsockopt(s->native_fd, SOL_SOCKET, SO_TIMESTAMP, &one, sizeof(one));