You are not logged in.
Hi,
I made a patch for NetworkManager to stop my DNS leaking via dnsmasq when using a VPN.
Thought I would share it with you. It is a dirty hack but it works.
diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
index 5ead5ec..0c5c432 100644
--- a/src/dns-manager/nm-dns-dnsmasq.c
+++ b/src/dns-manager/nm-dns-dnsmasq.c
@@ -270,13 +270,16 @@ update (NMDnsPlugin *plugin,
add_global_config (conf, global_config);
else {
/* Use split DNS for VPN configs */
+ bool vpn = FALSE;
for (iter = (GSList *) vpn_configs; iter; iter = g_slist_next (iter)) {
+ vpn = TRUE;
if (NM_IS_IP4_CONFIG (iter->data))
- add_ip4_config (conf, NM_IP4_CONFIG (iter->data), TRUE);
+ add_ip4_config (conf, NM_IP4_CONFIG (iter->data), FALSE);
else if (NM_IS_IP6_CONFIG (iter->data))
- add_ip6_config (conf, NM_IP6_CONFIG (iter->data), TRUE);
+ add_ip6_config (conf, NM_IP6_CONFIG (iter->data), FALSE);
}
+ if(!vpn){
/* Now add interface configs without split DNS */
for (iter = (GSList *) dev_configs; iter; iter = g_slist_next (iter)) {
if (NM_IS_IP4_CONFIG (iter->data))
@@ -292,6 +295,7 @@ update (NMDnsPlugin *plugin,
else if (NM_IS_IP6_CONFIG (iter->data))
add_ip6_config (conf, NM_IP6_CONFIG (iter->data), FALSE);
}
+ }
}
/* Write out the config file */
Wouter
Offline
I think it would be better if you create an AUR package with the same.
Offline