]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: create stub-resolv.conf symlink with correct security label
authorOndrej Mosnacek <omosnace@redhat.com>
Mon, 14 Dec 2020 15:36:27 +0000 (16:36 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 16 Dec 2020 13:31:40 +0000 (14:31 +0100)
Use symlink_atomic_label() instead of symlink_atomic() as the symlink
may need a different label than the parent directory.

Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
(cherry picked from commit 7b87bece5ded3e8f068df8402901198c069ab5cf)

src/resolve/resolved-resolv-conf.c

index 6fd9959daf130e7177ba940592ace82bd425a9e3..fce5c9b0360c076c640bfbfc3649a05b9aea2103 100644 (file)
@@ -10,6 +10,7 @@
 #include "fd-util.h"
 #include "fileio.h"
 #include "fs-util.h"
+#include "label.h"
 #include "ordered-set.h"
 #include "resolved-conf.h"
 #include "resolved-dns-server.h"
@@ -363,7 +364,7 @@ int manager_write_resolv_conf(Manager *m) {
                         r = log_error_errno(errno, "Failed to move new %s into place: %m", PRIVATE_STUB_RESOLV_CONF);
 
         } else {
-                r = symlink_atomic(basename(PRIVATE_UPLINK_RESOLV_CONF), PRIVATE_STUB_RESOLV_CONF);
+                r = symlink_atomic_label(basename(PRIVATE_UPLINK_RESOLV_CONF), PRIVATE_STUB_RESOLV_CONF);
                 if (r < 0)
                         log_error_errno(r, "Failed to symlink %s: %m", PRIVATE_STUB_RESOLV_CONF);
         }