chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
resolved: skip IPv6 LLMNR if IPv6 is not available
[elogind.git]
/
src
/
resolve
/
resolved-manager.c
diff --git
a/src/resolve/resolved-manager.c
b/src/resolve/resolved-manager.c
index a2de2edb48f5a76d2398dc3abbd2ca03bcea352a..84dad92c53eb81cbf99853f130b761ae9cf45c03 100644
(file)
--- a/
src/resolve/resolved-manager.c
+++ b/
src/resolve/resolved-manager.c
@@
-426,23
+426,25
@@
static int manager_llmnr_start(Manager *m) {
if (r < 0)
return r;
if (r < 0)
return r;
- r = manager_llmnr_ipv6_udp_fd(m);
- if (r == -EADDRINUSE)
- goto eaddrinuse;
- if (r < 0)
- return r;
-
r = manager_llmnr_ipv4_tcp_fd(m);
if (r == -EADDRINUSE)
goto eaddrinuse;
if (r < 0)
return r;
r = manager_llmnr_ipv4_tcp_fd(m);
if (r == -EADDRINUSE)
goto eaddrinuse;
if (r < 0)
return r;
- r = manager_llmnr_ipv6_tcp_fd(m);
- if (r == -EADDRINUSE)
- goto eaddrinuse;
- if (r < 0)
- return r;
+ if (socket_ipv6_is_supported()) {
+ r = manager_llmnr_ipv6_udp_fd(m);
+ if (r == -EADDRINUSE)
+ goto eaddrinuse;
+ if (r < 0)
+ return r;
+
+ r = manager_llmnr_ipv6_tcp_fd(m);
+ if (r == -EADDRINUSE)
+ goto eaddrinuse;
+ if (r < 0)
+ return r;
+ }
return 0;
return 0;
@@
-450,6
+452,7
@@
eaddrinuse:
log_warning("There appears to be another LLMNR respondering running. Turning off LLMNR support.");
m->llmnr_support = SUPPORT_NO;
manager_llmnr_stop(m);
log_warning("There appears to be another LLMNR respondering running. Turning off LLMNR support.");
m->llmnr_support = SUPPORT_NO;
manager_llmnr_stop(m);
+
return 0;
}
return 0;
}