From: Christian Hesse Date: Wed, 9 Nov 2016 03:01:26 +0000 (+0100) Subject: nspawn: fix condition for mounting resolv.conf (#4622) X-Git-Tag: v233~442 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7debb05dbe1f157e5f07c9bffa98fbe33e1b514e;p=thirdparty%2Fsystemd.git nspawn: fix condition for mounting resolv.conf (#4622) The file /usr/lib/systemd/resolv.conf can be stale, it does not tell us whether or not systemd-resolved is running or not. So check for /run/systemd/resolve/resolv.conf as well, which is created at runtime and hence is a better indication. --- diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index c8b18bcb88c..9b9ae909c93 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -1309,7 +1309,8 @@ static int setup_resolv_conf(const char *dest) { /* Fix resolv.conf, if possible */ where = prefix_roota(dest, "/etc/resolv.conf"); - if (access("/usr/lib/systemd/resolv.conf", F_OK) >= 0) { + if (access("/run/systemd/resolve/resolv.conf", F_OK) >= 0 && + access("/usr/lib/systemd/resolv.conf", F_OK) >= 0) { /* resolved is enabled on the host. In this, case bind mount its static resolv.conf file into the * container, so that the container can use the host's resolver. Given that network namespacing is * disabled it's only natural of the container also uses the host's resolver. It also has the big