X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshutdownd.c;h=b4052d4933b94b241d5927fa41934e07abc30e68;hp=49ab8863e4156421461434c5af870984ea312ca4;hb=c9d8629baa09f853fbcc44972c9748e70562270c;hpb=30923233b34e23ed1b3ffa7317f6219f695fec2f diff --git a/src/shutdownd.c b/src/shutdownd.c index 49ab8863e..b4052d493 100644 --- a/src/shutdownd.c +++ b/src/shutdownd.c @@ -29,11 +29,12 @@ #include #include +#include + #include "shutdownd.h" #include "log.h" #include "macro.h" #include "util.h" -#include "sd-daemon.h" #include "utmp-wtmp.h" static int read_packet(int fd, struct shutdownd_command *_c) { @@ -173,7 +174,6 @@ int main(int argc, char *argv[]) { }; int r = EXIT_FAILURE, n_fds; - int one = 1; struct shutdownd_command c; struct pollfd pollfd[_FD_MAX]; bool exec_shutdown = false, unlink_nologin = false, failed = false; @@ -189,10 +189,12 @@ int main(int argc, char *argv[]) { return EXIT_FAILURE; } - log_set_target(LOG_TARGET_SYSLOG_OR_KMSG); + log_set_target(LOG_TARGET_AUTO); log_parse_environment(); log_open(); + umask(0022); + if ((n_fds = sd_listen_fds(true)) < 0) { log_error("Failed to read listening file descriptors from environment: %s", strerror(-r)); return EXIT_FAILURE; @@ -203,11 +205,6 @@ int main(int argc, char *argv[]) { return EXIT_FAILURE; } - if (setsockopt(SD_LISTEN_FDS_START, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one)) < 0) { - log_error("SO_PASSCRED failed: %m"); - return EXIT_FAILURE; - } - zero(c); zero(pollfd);