[systemd-commits] 3 commits - man/systemd.exec.xml src/ask-password-api.c src/main.c src/manager.c TODO units/systemd-shutdownd.socket
Lennart Poettering
lennart at kemper.freedesktop.org
Mon Aug 1 13:42:26 PDT 2011
TODO | 3 +++
man/systemd.exec.xml | 2 +-
src/ask-password-api.c | 14 ++++++++++++--
src/main.c | 2 +-
src/manager.c | 9 +++++++--
units/systemd-shutdownd.socket | 1 +
6 files changed, 25 insertions(+), 6 deletions(-)
New commits:
commit 7aaa27f2196a96411006fb8afa5718ed0ea88544
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Aug 1 22:42:19 2011 +0200
main: fix reexec
diff --git a/src/main.c b/src/main.c
index 3409b7f..1ff6184 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1036,8 +1036,8 @@ int main(int argc, char *argv[]) {
for (j = 1; j < argc; j++)
if (streq(argv[j], "--deserialize")) {
- break;
is_reexec = true;
+ break;
}
/* If we get started via the /sbin/init symlink then we are
commit 1d6702e8d3877c0bebf3ac817dc45ff72f5ecfa9
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Aug 1 22:42:07 2011 +0200
umask: set umask of a number of sockets by default, even though we check creds on connections
diff --git a/TODO b/TODO
index dc1029c..eb89df5 100644
--- a/TODO
+++ b/TODO
@@ -19,6 +19,9 @@ Bugfixes:
Features:
+* allow Type=simple with PIDFile=
+ https://bugzilla.redhat.com/show_bug.cgi?id=723942
+
* generator dir is 666?
* set access mode of /run/systemd/{private,notify} to 666, not 777
diff --git a/src/ask-password-api.c b/src/ask-password-api.c
index 04d5623..f57105c 100644
--- a/src/ask-password-api.c
+++ b/src/ask-password-api.c
@@ -250,6 +250,7 @@ static int create_socket(char **name) {
} sa;
int one = 1, r;
char *c;
+ mode_t u;
assert(name);
@@ -262,7 +263,11 @@ static int create_socket(char **name) {
sa.un.sun_family = AF_UNIX;
snprintf(sa.un.sun_path, sizeof(sa.un.sun_path)-1, "/run/systemd/ask-password/sck.%llu", random_ull());
- if (bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path)) < 0) {
+ u = umask(0177);
+ r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
+ umask(u);
+
+ if (r < 0) {
r = -errno;
log_error("bind() failed: %m");
goto fail;
@@ -310,6 +315,7 @@ int ask_password_agent(
int socket_fd = -1, signal_fd = -1;
sigset_t mask, oldmask;
struct pollfd pollfd[_FD_MAX];
+ mode_t u;
assert(_passphrases);
@@ -319,7 +325,11 @@ int ask_password_agent(
mkdir_p("/run/systemd/ask-password", 0755);
- if ((fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY)) < 0) {
+ u = umask(0022);
+ fd = mkostemp(temp, O_CLOEXEC|O_CREAT|O_WRONLY);
+ umask(u);
+
+ if (fd < 0) {
log_error("Failed to create password file: %m");
r = -errno;
goto finish;
diff --git a/src/manager.c b/src/manager.c
index 69dbec4..a189479 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -76,7 +76,8 @@ static int manager_setup_notify(Manager *m) {
struct sockaddr_un un;
} sa;
struct epoll_event ev;
- int one = 1;
+ int one = 1, r;
+ mode_t u;
assert(m);
@@ -99,7 +100,11 @@ static int manager_setup_notify(Manager *m) {
if (sa.un.sun_path[0] == '@')
sa.un.sun_path[0] = 0;
- if (bind(m->notify_watch.fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)) < 0) {
+ u = umask(0111);
+ r = bind(m->notify_watch.fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1));
+ umask(u);
+
+ if (r < 0) {
log_error("bind() failed: %m");
return -errno;
}
diff --git a/units/systemd-shutdownd.socket b/units/systemd-shutdownd.socket
index b30a665..bc0358a 100644
--- a/units/systemd-shutdownd.socket
+++ b/units/systemd-shutdownd.socket
@@ -14,3 +14,4 @@ Before=sockets.target
[Socket]
ListenDatagram=/run/systemd/shutdownd
+SocketMode=0600
commit 260d370833ba5449f77d4184a8eb80e5501be900
Author: Lennart Poettering <lennart at poettering.net>
Date: Mon Aug 1 22:37:45 2011 +0200
man: document that we default to 022 as umask
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index b9a37da..99a91b3 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -251,7 +251,7 @@
octal notation. See
<citerefentry><refentrytitle>umask</refentrytitle><manvolnum>2</manvolnum></citerefentry>
for details. Defaults to
- 0002.</para></listitem>
+ 0022.</para></listitem>
</varlistentry>
<varlistentry>
More information about the systemd-commits
mailing list