chiark / gitweb /
socket: when creating FIFOs, create parent dirs first, and use right access mode
authorLennart Poettering <lennart@poettering.net>
Sun, 4 Apr 2010 20:50:04 +0000 (22:50 +0200)
committerLennart Poettering <lennart@poettering.net>
Sun, 4 Apr 2010 20:50:04 +0000 (22:50 +0200)
socket.c

index afa001f..2a19e97 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -267,7 +267,9 @@ static int socket_open_fds(Socket *s) {
                         struct stat st;
                         assert(p->type == SOCKET_FIFO);
 
-                        if (mkfifo(p->path, 0666 & ~s->exec_context.umask) < 0 && errno != EEXIST) {
+                        mkdir_parents(p->path, s->directory_mode);
+
+                        if (mkfifo(p->path, s->socket_mode) < 0 && errno != EEXIST) {
                                 r = -errno;
                                 goto rollback;
                         }