summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/com/wireguard/android/backend/GoBackend.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/app/src/main/java/com/wireguard/android/backend/GoBackend.java b/app/src/main/java/com/wireguard/android/backend/GoBackend.java
index a8d5fc08..a8ee6e53 100644
--- a/app/src/main/java/com/wireguard/android/backend/GoBackend.java
+++ b/app/src/main/java/com/wireguard/android/backend/GoBackend.java
@@ -217,10 +217,17 @@ public final class GoBackend implements Backend {
// Create the vpn tunnel with android API
VpnService.Builder builder = vpnService.getBuilder();
builder.setSession(tunnel.getName());
- InetAddress address = InetAddress.getByName(config.getInterface().getAddress());
- builder.addAddress(address.getHostAddress(), (address instanceof Inet4Address) ? 32 : 128);
- if (config.getInterface().getDns() != null)
- builder.addDnsServer(InetAddress.getByName(config.getInterface().getDns()).getHostAddress());
+
+ for (final String addressString : config.getInterface().getAddress().split(" *, *")) {
+ InetAddress address = InetAddress.getByName(addressString);
+ builder.addAddress(address.getHostAddress(), (address instanceof Inet4Address) ? 32 : 128);
+ }
+
+ if (config.getInterface().getDns() != null) {
+ for (final String dnsString : config.getInterface().getDns().split(" *, *")) {
+ builder.addDnsServer(InetAddress.getByName(dnsString).getHostAddress());
+ }
+ }
for (final Peer peer : config.getPeers()) {
if (peer.getAllowedIPs() != null) {