summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2019-10-05 23:36:27 +0200
committercyBerta <cyberta@riseup.net>2019-10-05 23:36:27 +0200
commitc637bffe1c9843b9de7366eee3584c51360e3867 (patch)
tree020bca50e13207abfab391c5cb94b176a39cdc3a /app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
parentb07bdead9919324113fc53c465dcc600f6fa222e (diff)
ignore gateways with invalid transports while still adding gateways with valid configurations
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
index 0847a07e..c7d7f86f 100644
--- a/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
+++ b/app/src/main/java/se/leap/bitmaskclient/eip/GatewaysManager.java
@@ -26,10 +26,13 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
+import java.io.IOException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.LinkedHashMap;
+import de.blinkt.openvpn.core.ConfigParser;
+import de.blinkt.openvpn.core.VpnStatus;
import se.leap.bitmaskclient.Provider;
import se.leap.bitmaskclient.utils.PreferenceHelper;
@@ -87,19 +90,25 @@ public class GatewaysManager {
* @param eipDefinition eipServiceJson
*/
void fromEipServiceJson(JSONObject eipDefinition) {
+ JSONArray gatewaysDefined = new JSONArray();
try {
- JSONArray gatewaysDefined = eipDefinition.getJSONArray(GATEWAYS);
- for (int i = 0; i < gatewaysDefined.length(); i++) {
+ gatewaysDefined = eipDefinition.getJSONArray(GATEWAYS);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ for (int i = 0; i < gatewaysDefined.length(); i++) {
+ try {
JSONObject gw = gatewaysDefined.getJSONObject(i);
JSONObject secrets = secretsConfiguration();
Gateway aux = new Gateway(eipDefinition, secrets, gw, this.context);
if (gateways.get(aux.getRemoteIP()) == null) {
addGateway(aux);
}
+ } catch (JSONException | ConfigParser.ConfigParseError | IOException e) {
+ e.printStackTrace();
+ VpnStatus.logError("Unable to parse gateway config!");
}
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
}
}