diff options
| author | Parménides GV <parmegv@sdf.org> | 2013-11-21 21:41:58 +0100 | 
|---|---|---|
| committer | Parménides GV <parmegv@sdf.org> | 2013-11-21 21:50:32 +0100 | 
| commit | f9f69298e7d0b5e4258ea27095f50f9da7c6ff9b (patch) | |
| tree | 66db318de3735da8b65ed4799b104b682c74990c /src | |
| parent | 18f7612ee584e6f3023d230698ab0bf8866cd2ec (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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/se/leap/bitmaskclient/EIP.java | 15 | ||||
| -rw-r--r-- | src/se/leap/openvpn/ConfigParser.java | 6 | ||||
| -rw-r--r-- | src/se/leap/openvpn/OpenVpnService.java | 2 | ||||
| -rw-r--r-- | src/se/leap/openvpn/VpnProfile.java | 1 | 
4 files changed, 22 insertions, 2 deletions
| 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=""; | 
