diff options
author | Tom Gundersen <teg@jklm.no> | 2014-06-02 15:13:30 +0200 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-06-02 15:14:32 +0200 |
commit | b686acb27ea4de042320fa196cfb14e08f30165b (patch) | |
tree | a78a60a5c96c069cf22cb75e25c80324aca49a1e | |
parent | 01501939d5f608541c1ea98fe2da84d841f9c9bc (diff) |
resolved: move resolv.conf to resolved's runtime dir
-rw-r--r-- | man/systemd-resolved.service.xml | 4 | ||||
-rw-r--r-- | src/resolve/resolved-manager.c | 8 | ||||
-rw-r--r-- | src/resolve/resolved.c | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/man/systemd-resolved.service.xml b/man/systemd-resolved.service.xml index cd73cb73c7..ed1f5a2365 100644 --- a/man/systemd-resolved.service.xml +++ b/man/systemd-resolved.service.xml @@ -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> diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c index ae173991da..3ed0603f9b 100644 --- a/src/resolve/resolved-manager.c +++ b/src/resolve/resolved-manager.c @@ -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; } diff --git a/src/resolve/resolved.c b/src/resolve/resolved.c index 82f43d6803..2eaff60fce 100644 --- a/src/resolve/resolved.c +++ b/src/resolve/resolved.c @@ -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)); |