36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
From 413b140ae639d38ffcc125dfc1ef7303f08abebd Mon Sep 17 00:00:00 2001
|
|
From: Beniamino Galvani <bgalvani@redhat.com>
|
|
Date: Tue, 14 Feb 2023 11:39:07 +0100
|
|
Subject: [PATCH] device: skip DNS resolution for tentative IPv6 addresses
|
|
|
|
A tentative IPv6 address can still fail DAD, so don't use it to
|
|
resolve the hostname via DNS. Furthermore, tentative addresses can't
|
|
be used to contact the nameserver and so the resolution will fail if
|
|
there is no other valid IPv6 address. Wait that the address becomes
|
|
non-tentative.
|
|
|
|
(cherry picked from commit 4138be6a5a508af66b3b79c0eaeb43e3437ee345)
|
|
(cherry picked from commit 0ebd75381963abc2fb75d39ab44367139db0e34b)
|
|
(cherry picked from commit 26d5ad46806a2dc69238116796be0fbb2b7c273f)
|
|
---
|
|
src/core/devices/nm-device.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c
|
|
index 461f57b5c1..9af4bf8988 100644
|
|
--- a/src/core/devices/nm-device.c
|
|
+++ b/src/core/devices/nm-device.c
|
|
@@ -17117,6 +17117,9 @@ get_address_for_hostname_dns_lookup(NMDevice *self, int addr_family)
|
|
return g_inet_address_new_from_bytes(addr->address_ptr, G_SOCKET_FAMILY_IPV4);
|
|
}
|
|
|
|
+ if (addr->n_ifa_flags & IFA_F_TENTATIVE)
|
|
+ continue;
|
|
+
|
|
/* For IPv6 prefer, in order:
|
|
* - !link-local, !deprecated
|
|
* - !link-local, deprecated
|
|
--
|
|
2.39.1
|
|
|