diff options
author | Tobias Brunner <tobias@strongswan.org> | 2017-06-28 14:28:38 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2017-07-03 10:27:55 +0200 |
commit | 0b075420df66cba62287b1609b394253ac67f78e (patch) | |
tree | 073e1fad3d233a33691f7855d9673b2bbd604b93 /src | |
parent | 646260f4641db08daa1574374d0c72490913c091 (diff) | |
download | strongswan-0b075420df66cba62287b1609b394253ac67f78e.tar.bz2 strongswan-0b075420df66cba62287b1609b394253ac67f78e.tar.xz |
android: Use arrays as primary config option for subnets in profile files
Diffstat (limited to 'src')
-rw-r--r-- | src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java index d4c9d32e8..5833258d2 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/VpnProfileImportActivity.java @@ -527,15 +527,33 @@ public class VpnProfileImportActivity extends AppCompatActivity private String getSubnets(JSONObject split, String key) throws JSONException { - String subnets = split.optString(key, null); - if (subnets != null && !subnets.isEmpty()) + ArrayList<String> subnets = new ArrayList<>(); + JSONArray arr = split.optJSONArray(key); + if (arr != null) + { + for (int i = 0; i < arr.length(); i++) + { /* replace all spaces, e.g. in "192.168.1.1 - 192.168.1.10" */ + subnets.add(arr.getString(i).replace(" ", "")); + } + } + else + { + String value = split.optString(key, null); + if (!TextUtils.isEmpty(value)) + { + subnets.add(value); + } + } + if (subnets.size() > 0) { - if (IPRangeSet.fromString(subnets) == null) + String joined = TextUtils.join(" ", subnets); + IPRangeSet ranges = IPRangeSet.fromString(joined); + if (ranges == null) { throw new JSONException(getString(R.string.profile_import_failed_value, "split-tunneling." + key)); } - return subnets; + return ranges.toString(); } return null; } |