]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
socket: create leading directories for socket symlinks
authorLennart Poettering <lennart@poettering.net>
Tue, 26 Sep 2017 16:27:56 +0000 (18:27 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 27 Sep 2017 15:53:00 +0000 (17:53 +0200)
It really doesn't hurt creating prefix directories if necessary, as we
tend to do that for other file nodes we create, too.

Fixes: #6920
src/core/socket.c

index d1d4007588dbcd3553fdc7fbecdc173a034277f9..157a6dbae740fa5b3c097f1eecbf3597d652a26b 100644 (file)
@@ -1175,7 +1175,7 @@ static int fifo_address_create(
 
         assert(path);
 
-        mkdir_parents_label(path, directory_mode);
+        (void) mkdir_parents_label(path, directory_mode);
 
         r = mac_selinux_create_file_prepare(path, S_IFIFO);
         if (r < 0)
@@ -1334,6 +1334,8 @@ static int socket_symlink(Socket *s) {
                 return 0;
 
         STRV_FOREACH(i, s->symlinks) {
+                (void) mkdir_parents_label(*i, s->directory_mode);
+
                 r = symlink_idempotent(p, *i);
                 if (r < 0)
                         log_unit_warning_errno(UNIT(s), r, "Failed to create symlink %s → %s, ignoring: %m", p, *i);