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: don't resolve the hostname "gateway" with LLMNR, leave that to nss-myhostname
[elogind.git]
/
src
/
resolve
/
resolved-dns-scope.c
diff --git
a/src/resolve/resolved-dns-scope.c
b/src/resolve/resolved-dns-scope.c
index a3631f08a80248baffd1a691d99e9141cbbbd294..a43359f8c59c0d28939135565c5dddb79df7e2cb 100644
(file)
--- a/
src/resolve/resolved-dns-scope.c
+++ b/
src/resolve/resolved-dns-scope.c
@@
-334,7
+334,8
@@
DnsScopeMatch dns_scope_good_domain(DnsScope *s, int ifindex, uint64_t flags, co
if (s->protocol == DNS_PROTOCOL_LLMNR) {
if (dns_name_endswith(domain, "in-addr.arpa") > 0 ||
dns_name_endswith(domain, "ip6.arpa") > 0 ||
if (s->protocol == DNS_PROTOCOL_LLMNR) {
if (dns_name_endswith(domain, "in-addr.arpa") > 0 ||
dns_name_endswith(domain, "ip6.arpa") > 0 ||
- dns_name_single_label(domain) > 0)
+ (dns_name_single_label(domain) > 0 &&
+ dns_name_equal(domain, "gateway") <= 0)) /* don't resolve "gateway" with LLMNR, let nss-myhostname handle this */
return DNS_SCOPE_MAYBE;
return DNS_SCOPE_NO;
return DNS_SCOPE_MAYBE;
return DNS_SCOPE_NO;
@@
-721,10
+722,8
@@
int dns_scope_notify_conflict(DnsScope *scope, DnsResourceRecord *rr) {
r = ordered_hashmap_put(scope->conflict_queue, rr->key, rr);
if (r == -EEXIST || r == 0)
return 0;
r = ordered_hashmap_put(scope->conflict_queue, rr->key, rr);
if (r == -EEXIST || r == 0)
return 0;
- if (r < 0) {
- log_debug_errno(r, "Failed to queue conflicting RR: %m");
- return r;
- }
+ if (r < 0)
+ return log_debug_errno(r, "Failed to queue conflicting RR: %m");
dns_resource_record_ref(rr);
dns_resource_record_ref(rr);
@@
-740,10
+739,8
@@
int dns_scope_notify_conflict(DnsScope *scope, DnsResourceRecord *rr) {
now(clock_boottime_or_monotonic()) + jitter,
LLMNR_JITTER_INTERVAL_USEC,
on_conflict_dispatch, scope);
now(clock_boottime_or_monotonic()) + jitter,
LLMNR_JITTER_INTERVAL_USEC,
on_conflict_dispatch, scope);
- if (r < 0) {
- log_debug_errno(r, "Failed to add conflict dispatch event: %m");
- return r;
- }
+ if (r < 0)
+ return log_debug_errno(r, "Failed to add conflict dispatch event: %m");
return 0;
}
return 0;
}