chiark / gitweb /
resolved: move resolv.conf to resolved's runtime dir
authorTom Gundersen <teg@jklm.no>
Mon, 2 Jun 2014 13:13:30 +0000 (15:13 +0200)
committerTom Gundersen <teg@jklm.no>
Mon, 2 Jun 2014 13:14:32 +0000 (15:14 +0200)
man/systemd-resolved.service.xml
src/resolve/resolved-manager.c
src/resolve/resolved.c

index cd73cb7..ed1f5a2 100644 (file)
@@ -58,7 +58,7 @@
 
                 <para><command>systemd-networkd</command> is a system
                 service that manages network name resolution. It does so by
-               generating <filename>/run/systemd/network/resolv.conf</filename>,
+               generating <filename>/run/systemd/resolve/resolv.conf</filename>,
                which may be symlinked from <filename>/etc/resolv.conf</filename>.
                The contents is generated from the global settings in
                 <citerefentry><refentrytitle>resolved.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
@@ -67,7 +67,7 @@
                 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                for more details.</para>
 
-                <para>Note that <filename>/run/systemd/network/resolv.conf</filename>
+                <para>Note that <filename>/run/systemd/resolve/resolv.conf</filename>
                 should not be used directly, but only through a symlink from
                <filename>/etc/resolv.conf</filename>.</para>
         </refsect1>
index ae17399..3ed0603 100644 (file)
@@ -30,7 +30,6 @@
 #include "dhcp-lease-internal.h"
 #include "network-internal.h"
 #include "conf-parser.h"
-#include "mkdir.h"
 
 static int set_fallback_dns(Manager *m, const char *string) {
         char *word, *state;
@@ -192,6 +191,7 @@ static void append_dns(FILE *f, void *dns, unsigned char family, unsigned *count
 }
 
 int manager_update_resolv_conf(Manager *m) {
+        const char *path = "/run/systemd/resolve/resolv.conf";
         _cleanup_free_ char *temp_path = NULL;
         _cleanup_fclose_ FILE *f = NULL;
          _cleanup_free_ unsigned *indices = NULL;
@@ -201,7 +201,7 @@ int manager_update_resolv_conf(Manager *m) {
 
         assert(m);
 
-        r = fopen_temporary("/run/systemd/network/resolv.conf", &f, &temp_path);
+        r = fopen_temporary(path, &f, &temp_path);
         if (r < 0)
                 return r;
 
@@ -263,9 +263,9 @@ int manager_update_resolv_conf(Manager *m) {
 
         fflush(f);
 
-        if (ferror(f) || rename(temp_path, "/run/systemd/network/resolv.conf") < 0) {
+        if (ferror(f) || rename(temp_path, path) < 0) {
                 r = -errno;
-                unlink("/run/systemd/network/resolv.conf");
+                unlink(path);
                 unlink(temp_path);
                 return r;
         }
index 82f43d6..2eaff60 100644 (file)
@@ -43,7 +43,7 @@ int main(int argc, char *argv[]) {
         }
 
         /* Always create the directory where resolv.conf will live */
-        r = mkdir_label("/run/systemd/network", 0755);
+        r = mkdir_label("/run/systemd/resolve", 0755);
         if (r < 0)
                 log_error("Could not create runtime directory: %s",
                           strerror(-r));