]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: also disable stub listener on EPERM 4323/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 9 Oct 2016 19:04:59 +0000 (15:04 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 10 Oct 2016 01:22:23 +0000 (21:22 -0400)
When running in a user namespace without private networking, resolved would
fail to start. There isn't much difference between EADDRINUSE and EPERM,
so treat them the same, except for the warning message text.

src/resolve/resolved-dns-stub.c

index 2430949525448a2635960f1d13bf0aff624f22a1..b1c570cee6effae27390aea14e1a7a856078db71 100644 (file)
@@ -511,9 +511,15 @@ int manager_dns_stub_start(Manager *m) {
                 r = manager_dns_stub_tcp_fd(m);
         }
 
-        if (r == -EADDRINUSE) {
-                log_warning("Another process is already listening on %s socket 127.0.0.53:53.\n"
-                            "Turning off local DNS stub support.", t);
+        if (IN_SET(r, -EADDRINUSE, -EPERM)) {
+                if (r == -EADDRINUSE)
+                        log_warning_errno(r,
+                                          "Another process is already listening on %s socket 127.0.0.53:53.\n"
+                                          "Turning off local DNS stub support.", t);
+                else
+                        log_warning_errno(r,
+                                          "Failed to listen on %s socket 127.0.0.53:53: %m.\n"
+                                          "Turning off local DNS stub support.", t);
                 manager_dns_stub_stop(m);
         } else if (r < 0)
                 return log_error_errno(r, "Failed to listen on %s socket 127.0.0.53:53: %m", t);