chiark / gitweb /
sd-daemon: drop SCM_CREDENTIALS passing since it is redundant, the kernel fills this...
authorLennart Poettering <lennart@poettering.net>
Wed, 25 Aug 2010 17:37:36 +0000 (19:37 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 25 Aug 2010 17:50:05 +0000 (19:50 +0200)
fixme
src/sd-daemon.c

diff --git a/fixme b/fixme
index 56efcafefa4124e5eb356b28bf4c3d7b4e68f16e..08fa5d4a85a7a10fa640dec95194d8bd42c50fb6 100644 (file)
--- a/fixme
+++ b/fixme
 
 * 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
index 9b4e010327f7c72f0d41449d2d28bce2c4ea72f1..9c23b917f90a2a120992f7abe80f82c295353979 100644 (file)
@@ -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;