diff options
author | Arne Schwabe <arne@rfc2549.org> | 2021-10-25 00:53:02 +0200 |
---|---|---|
committer | Arne Schwabe <arne@rfc2549.org> | 2021-10-25 00:54:00 +0200 |
commit | 3348484912550a4d72a082ad21f9871bc2159afb (patch) | |
tree | f3b48dc7e6fa31d180b2ba55d033236bfc925a99 /main | |
parent | 7fb58f6609802a03dc82169531badbad98d4c33d (diff) |
Leave second DNS empty when importing config with only one DNS (closes #1410)
When importing a configuration with only one DNS server, the second
DNS server what never overwritten, resulting in having the Google DNS
as backup server. Also change Google DNS to Quad9 by default.
Diffstat (limited to 'main')
3 files changed, 24 insertions, 3 deletions
diff --git a/main/src/main/java/de/blinkt/openvpn/VpnProfile.java b/main/src/main/java/de/blinkt/openvpn/VpnProfile.java index af65873d..4a5b2b4c 100644 --- a/main/src/main/java/de/blinkt/openvpn/VpnProfile.java +++ b/main/src/main/java/de/blinkt/openvpn/VpnProfile.java @@ -89,8 +89,8 @@ public class VpnProfile implements Serializable, Cloneable { private static final int AUTH_RETRY_NONE_KEEP = 1; private static final int AUTH_RETRY_INTERACT = 3; private static final String EXTRA_RSA_PADDING_TYPE = "de.blinkt.openvpn.api.RSA_PADDING_TYPE"; - public static String DEFAULT_DNS1 = "8.8.8.8"; - public static String DEFAULT_DNS2 = "8.8.4.4"; + public static String DEFAULT_DNS1 = "9.9.9.9"; + public static String DEFAULT_DNS2 = "2620:fe::fe"; // variable named wrong and should haven beeen transient // but needs to keep wrong name to guarante loading of old // profiles diff --git a/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java b/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java index 01f7cf69..db530320 100644 --- a/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java +++ b/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java @@ -503,8 +503,10 @@ public class ConfigParser { np.mSearchDomain = dhcpoption.get(2); } else if (type.equals("DNS")) { np.mOverrideDNS = true; - if (np.mDNS1.equals(VpnProfile.DEFAULT_DNS1)) + if (np.mDNS1.equals(VpnProfile.DEFAULT_DNS1)) { np.mDNS1 = arg; + np.mDNS2 = ""; + } else np.mDNS2 = arg; } diff --git a/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.kt b/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.kt index 0830c32c..53bfd00a 100644 --- a/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.kt +++ b/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.kt @@ -106,6 +106,25 @@ class TestConfigParser { Assert.assertEquals(vp.mExcludedRoutes.trim(), "8.8.8.8/32"); } + @Test + fun testOneDNSImport() + { + val config = "client\n" + + "tun-mtu 1234\n" + + "<connection>\n" + + "remote foo.bar\n" + + "tun-mtu 1222\n" + + "</connection>\n" + + "route 8.8.8.8 255.255.255.255 net_gateway\n" + + "dhcp-option DNS 1.2.3.4\n" + + val cp = ConfigParser() + cp.parseConfig(StringReader(config)) + val vp = cp.convertProfile() + + Assert.assertEquals("1.2.3.4", vp.mDNS1) + Assert.assertEquals("" , vp.mDNS2) + } @Test fun testCipherImport() { |