#include "log.h"
#include "list.h"
#include "sd-daemon.h"
+#include "tcpwrap.h"
#define STREAM_BUFFER 2048
#define STREAMS_MAX 256
return -EINVAL;
}
- snprintf(header_pid, sizeof(header_pid), "[%llu]: ", (unsigned long long) s->pid);
+ snprintf(header_pid, sizeof(header_pid), "[%lu]: ", (unsigned long) s->pid);
char_array_0(header_pid);
zero(iovec);
return 0;
}
+ if (!socket_tcpwrap(fd, "systemd-logger")) {
+ close_nointr_nofail(fd);
+ return 0;
+ }
+
if (!(stream = new0(Stream, 1))) {
close_nointr_nofail(fd);
return -ENOMEM;
/* /dev/kmsg logging is strictly optional */
if ((s->kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC)) < 0)
- log_debug("Failed to open /dev/kmsg for logging, disabling kernel log buffer support: %s", strerror(errno));
+ log_warning("Failed to open /dev/kmsg for logging, disabling kernel log buffer support: %s", strerror(errno));
return 0;
Server server;
int r = 3, n;
+ if (getppid() != 1) {
+ log_error("This program should be invoked by init only.");
+ return 1;
+ }
+
+ if (argc > 1) {
+ log_error("This program does not take arguments.");
+ return 1;
+ }
+
log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
log_parse_environment();
- log_info("systemd-logger running as pid %llu", (unsigned long long) getpid());
+ log_info("systemd-logger running as pid %lu", (unsigned long) getpid());
if ((n = sd_listen_fds(true)) < 0) {
log_error("Failed to read listening file descriptors from environment: %s", strerror(-r));
server_done(&server);
- log_info("systemd-logger stopped as pid %llu", (unsigned long long) getpid());
+ log_info("systemd-logger stopped as pid %lu", (unsigned long) getpid());
return r;
}