summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2013-11-21 21:41:58 +0100
committerParménides GV <parmegv@sdf.org>2013-11-21 21:50:32 +0100
commitf9f69298e7d0b5e4258ea27095f50f9da7c6ff9b (patch)
tree66db318de3735da8b65ed4799b104b682c74990c
parent18f7612ee584e6f3023d230698ab0bf8866cd2ec (diff)
OpenVPN notification contains location.
Instead of plain domain, we're printing a new variable stored in vpnprofile (parsed in ConfigParser): location. I'm substituing "__" by ", ", but I'm not uppercasing anything. We rely on the raw data from eip-service.json.
-rwxr-xr-xres/values/strings.xml2
-rw-r--r--src/se/leap/bitmaskclient/EIP.java15
-rw-r--r--src/se/leap/openvpn/ConfigParser.java6
-rw-r--r--src/se/leap/openvpn/OpenVpnService.java2
-rw-r--r--src/se/leap/openvpn/VpnProfile.java1
5 files changed, 24 insertions, 2 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9885952f..2598d452 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -269,6 +269,7 @@
<string name="authed_secured_status">Connection secure using your own certificate.</string>
<string name="eip_service_label">Encrypted Internet</string>
<string name="title_activity_configuration_wizard">Select a service provider</string>
+ <string name="top_padding">Top padding</string>
<string name="new_provider_button">Add new Provider</string>
<string name="introduce_new_provider">Add a new service provider</string>
<string name="save">Save</string>
@@ -284,6 +285,7 @@
<string name="username_ask">Please enter your username</string>
<string name="password_hint">password</string>
<string name="user_message">User message</string>
+ <string name="error_srp_math_error_user_message">Try again: server math error.</string>
<string name="error_bad_user_password_user_message">Incorrect username or password.</string>
<string name="error_not_valid_password_user_message">It should have at least 8 characters.</string>
<string name="error_client_http_user_message">Try again: Client HTTP error</string>
diff --git a/src/se/leap/bitmaskclient/EIP.java b/src/se/leap/bitmaskclient/EIP.java
index f9384ff6..22f7558d 100644
--- a/src/se/leap/bitmaskclient/EIP.java
+++ b/src/se/leap/bitmaskclient/EIP.java
@@ -431,6 +431,7 @@ public final class EIP extends IntentService {
String ports = "ports";
String protos = "protocols";
String capabilities = "capabilities";
+ String location = "location";
Vector<String> arg = new Vector<String>();
Vector<Vector<String>> args = new Vector<Vector<String>>();
@@ -457,7 +458,7 @@ public final class EIP extends IntentService {
}
try {
- arg.add("remote");
+ arg.add(remote);
arg.add(mGateway.getString(remote));
} catch (JSONException e) {
// TODO Auto-generated catch block
@@ -467,7 +468,19 @@ public final class EIP extends IntentService {
options.put("remote", (Vector<Vector<String>>) args.clone() );
arg.clear();
args.clear();
+
+ try {
+ arg.add(location);
+ arg.add(mGateway.getString(location));
+ } catch (JSONException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ args.add((Vector<String>) arg.clone());
+ options.put("location", (Vector<Vector<String>>) args.clone() );
+ arg.clear();
+ args.clear();
JSONArray protocolsJSON = null;
arg.add("proto");
try {
diff --git a/src/se/leap/openvpn/ConfigParser.java b/src/se/leap/openvpn/ConfigParser.java
index 3d369fa6..36585d29 100644
--- a/src/se/leap/openvpn/ConfigParser.java
+++ b/src/se/leap/openvpn/ConfigParser.java
@@ -355,6 +355,12 @@ public class ConfigParser {
np.mServerName = remote.get(1);
}
}
+
+ // Parse remote config
+ Vector<String> location = getOption("location",1,2);
+ if(location != null && location.size() == 2){
+ np.mLocation = location.get(1).replace("__", ", ");
+ }
Vector<Vector<String>> dhcpoptions = getAllOption("dhcp-option", 2, 2);
if(dhcpoptions!=null) {
diff --git a/src/se/leap/openvpn/OpenVpnService.java b/src/se/leap/openvpn/OpenVpnService.java
index 5e5bf3d7..1ef291df 100644
--- a/src/se/leap/openvpn/OpenVpnService.java
+++ b/src/se/leap/openvpn/OpenVpnService.java
@@ -350,7 +350,7 @@ public class OpenVpnService extends VpnService implements StateListener, Callbac
bconfig[4] = getString(R.string.routes_info, joinString(mRoutes));
bconfig[5] = getString(R.string.routes_info6, joinString(mRoutesv6));
- String session = mProfile.mName.substring(mProfile.mName.indexOf(".")+1);
+ String session = mProfile.mLocation;
/* we don't want the IP address in the notification bar
if(mLocalIP!=null && mLocalIPv6!=null)
session = getString(R.string.session_ipv6string,session, mLocalIP, mLocalIPv6);
diff --git a/src/se/leap/openvpn/VpnProfile.java b/src/se/leap/openvpn/VpnProfile.java
index 41cf574b..99e1c676 100644
--- a/src/se/leap/openvpn/VpnProfile.java
+++ b/src/se/leap/openvpn/VpnProfile.java
@@ -68,6 +68,7 @@ public class VpnProfile implements Serializable{
private UUID mUuid;
public int mAuthenticationType = TYPE_CERTIFICATES ;
public String mName;
+ public String mLocation;
public String mAlias;
public String mClientCertFilename;
public String mTLSAuthDirection="";