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 | |
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.
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() { |