[PATCH 40/45] vpn-util: Add wrapper for adding a namerver for GResolv

Jussi Laakkonen <[email protected]> Fri, 11 Jul 2025 17:27:31 +0300
Newsgroups dev.linux.lists.connman
Message-ID <[email protected]>
The nameservers must be added for the GResolv for the resolving to
succeed. Add a wrapper for this.
---
 vpn/vpn-util.c | 8 ++++++++
 vpn/vpn.h      | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/vpn/vpn-util.c b/vpn/vpn-util.c
index 2e526701..c1264935 100644
--- a/vpn/vpn-util.c
+++ b/vpn/vpn-util.c
@@ -222,6 +222,14 @@ out:
 	return err;
 }
 
+bool vpn_util_resolv_add_nameserver(GResolv *resolv, const char *address,
+					uint16_t port, unsigned long flags)
+{
+	DBG("dns %s:%u", address, port);
+
+	return g_resolv_add_nameserver(resolv, address, port, flags);
+}
+
 unsigned int vpn_util_resolve_hostname(GResolv *resolv,
 				const char *hostname, GResolvResultFunc func,
 				gpointer user_data)
diff --git a/vpn/vpn.h b/vpn/vpn.h
index 01e9ac11..869a3c2c 100644
--- a/vpn/vpn.h
+++ b/vpn/vpn.h
@@ -138,6 +138,8 @@ int vpn_util_create_path(const char *path, uid_t uid, gid_t grp, int mode);
 
 #include <gweb/gresolv.h>
 
+bool vpn_util_resolv_add_nameserver(GResolv *resolv, const char *address,
+					uint16_t port, unsigned long flags);
 unsigned int vpn_util_resolve_hostname(GResolv *resolv,
 				const char *hostname, GResolvResultFunc func,
 				gpointer user_data);
-- 
2.39.5