diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-08-25 19:37:36 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-08-25 19:50:05 +0200 |
commit | 50f74deea32476c3e19cda870857782576587d94 (patch) | |
tree | 3f58c142f5755ce610738ada370ef863039ca414 | |
parent | e0973af1a2384de1305b99e4ad54a6344bfb1e86 (diff) |
sd-daemon: drop SCM_CREDENTIALS passing since it is redundant, the kernel fills this in anyway
-rw-r--r-- | fixme | 6 | ||||
-rw-r--r-- | src/sd-daemon.c | 17 |
2 files changed, 6 insertions, 17 deletions
@@ -80,12 +80,18 @@ * add RefuseManualIsolate= (default on?) +* nofail + * add systemctl switch to dump transaction without executing it * shell wenn fsck im arsch is * system.conf/session.conf brauch ne man page +* sd-daemon ohne SCM_CREDENTIALS bitte + +* exec /sbin/poweroff als PID 1 und shutdown + External: * make sure MountOnPlug und MountAuto und SwapOnPlug is off in Fedora diff --git a/src/sd-daemon.c b/src/sd-daemon.c index 9b4e010327..9c23b917f9 100644 --- a/src/sd-daemon.c +++ b/src/sd-daemon.c @@ -332,11 +332,6 @@ int sd_notify(int unset_environment, const char *state) { struct msghdr msghdr; struct iovec iovec; union sockaddr_union sockaddr; - struct ucred *ucred; - union { - struct cmsghdr cmsghdr; - uint8_t buf[CMSG_SPACE(sizeof(struct ucred))]; - } control; const char *e; if (!state) { @@ -369,16 +364,6 @@ int sd_notify(int unset_environment, const char *state) { iovec.iov_base = (char*) state; iovec.iov_len = strlen(state); - memset(&control, 0, sizeof(control)); - control.cmsghdr.cmsg_level = SOL_SOCKET; - control.cmsghdr.cmsg_type = SCM_CREDENTIALS; - control.cmsghdr.cmsg_len = CMSG_LEN(sizeof(struct ucred)); - - ucred = (struct ucred*) CMSG_DATA(&control.cmsghdr); - ucred->pid = getpid(); - ucred->uid = getuid(); - ucred->gid = getgid(); - memset(&msghdr, 0, sizeof(msghdr)); msghdr.msg_name = &sockaddr; msghdr.msg_namelen = sizeof(sa_family_t) + strlen(e); @@ -388,8 +373,6 @@ int sd_notify(int unset_environment, const char *state) { msghdr.msg_iov = &iovec; msghdr.msg_iovlen = 1; - msghdr.msg_control = &control; - msghdr.msg_controllen = control.cmsghdr.cmsg_len; if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) { r = -errno; |