summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2021-10-25 00:53:02 +0200
committerArne Schwabe <arne@rfc2549.org>2021-10-25 00:54:00 +0200
commit3348484912550a4d72a082ad21f9871bc2159afb (patch)
treef3b48dc7e6fa31d180b2ba55d033236bfc925a99 /main
parent7fb58f6609802a03dc82169531badbad98d4c33d (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')
-rw-r--r--main/src/main/java/de/blinkt/openvpn/VpnProfile.java4
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java4
-rw-r--r--main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.kt19
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() {