+static int setup_resolv_conf(const char *dest) {
+ char *where;
+
+ assert(dest);
+
+ if (arg_private_network)
+ return 0;
+
+ /* Fix resolv.conf, if possible */
+ if (asprintf(&where, "%s/etc/resolv.conf", dest) < 0) {
+ log_error("Out of memory");
+ return -ENOMEM;
+ }
+
+ if (mount("/etc/resolv.conf", where, "bind", MS_BIND, NULL) >= 0)
+ mount("/etc/resolv.conf", where, "bind", MS_BIND|MS_REMOUNT|MS_RDONLY, NULL);
+
+ free(where);
+
+ return 0;
+}
+