[PATCH v2 4/5] gresolv: Use compile time defined DNS with lookup + UDP connect
Jussi Laakkonen <[email protected]> Sat, 9 May 2026 16:47:37 +0300
| Newsgroups | dev.linux.lists.connman |
|---|---|
| Message-ID | <[email protected]> |
Drop use of hardcoded DNS servers and use the ones defined in compile
time. This makes systemd-resolved use to work better.
---
gweb/gresolv.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/gweb/gresolv.c b/gweb/gresolv.c
index 8101d718..7bfb4ad8 100644
--- a/gweb/gresolv.c
+++ b/gweb/gresolv.c
@@ -809,7 +809,7 @@ static int connect_udp_channel(struct resolv_nameserver *nameserver)
* bind the socket on any interface.
*/
if (nameserver->resolv->index > 0 &&
- strncmp(nameserver->address, "127.0.0.1", 9) != 0) {
+ strncmp(nameserver->address, DNS_BACKEND_V4, 9) != 0) {
char interface[IF_NAMESIZE];
memset(interface, 0, IF_NAMESIZE);
@@ -1044,8 +1044,13 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname,
g_resolv_add_nameserver(resolv, buf, 53, 0);
}
- if (!resolv->nameserver_list)
- g_resolv_add_nameserver(resolv, "127.0.0.1", 53, 0);
+ if (!resolv->nameserver_list) {
+ g_resolv_add_nameserver(resolv, DNS_BACKEND_V4, 53, 0);
+/* systemd-resolved listens only in one address, use IPv6 with internal DNS */
+#ifndef SYSTEMD_RESOLVED_DNS_BACKEND
+ g_resolv_add_nameserver(resolv, DNS_BACKEND_V6, 53, 0);
+#endif
+ }
}
lookup = g_try_new0(struct resolv_lookup, 1);
--
2.47.3