Merge changes I266f8403,Ia4dc4b23
* changes:
VpnSettings: hook up the legacy VPN with IConnectivityManager.
VpnSettings: IPSec Hybrid RSA does not need user certificate.
diff --git a/src/com/android/settings/vpn2/VpnDialog.java b/src/com/android/settings/vpn2/VpnDialog.java
index 2914b1b..b3609a6 100644
--- a/src/com/android/settings/vpn2/VpnDialog.java
+++ b/src/com/android/settings/vpn2/VpnDialog.java
@@ -218,10 +218,10 @@
mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
// fall through
case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
- mView.findViewById(R.id.ipsec_ca).setVisibility(View.VISIBLE);
+ mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE);
// fall through
case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
- mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE);
+ mView.findViewById(R.id.ipsec_ca).setVisibility(View.VISIBLE);
break;
}
}
@@ -243,7 +243,6 @@
case VpnProfile.TYPE_L2TP_IPSEC_RSA:
case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
- case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
return mIpsecUserCert.getSelectedItemPosition() != 0;
}
return false;
@@ -308,13 +307,13 @@
profile.l2tpSecret = getSecret(mProfile.l2tpSecret, mL2tpSecret);
// fall through
case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
- if (mIpsecCaCert.getSelectedItemPosition() != 0) {
- profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem();
+ if (mIpsecUserCert.getSelectedItemPosition() != 0) {
+ profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem();
}
// fall through
case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
- if (mIpsecUserCert.getSelectedItemPosition() != 0) {
- profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem();
+ if (mIpsecCaCert.getSelectedItemPosition() != 0) {
+ profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem();
}
break;
}
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 56fb983..d3e8ac0 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -37,8 +37,10 @@
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
+import com.android.internal.net.VpnConfig;
import com.android.settings.SettingsPreferenceFragment;
+import java.util.Arrays;
import java.util.HashMap;
public class VpnSettings extends SettingsPreferenceFragment implements
@@ -328,7 +330,7 @@
"name", profile.username, "password", profile.password,
"linkname", "vpn", "refuse-eap", "nodefaultroute",
"usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400",
- (profile.mppe ? "+mppe" : "nomppe"),
+ "ipparam", profile.routes, (profile.mppe ? "+mppe" : "nomppe"),
};
break;
case VpnProfile.TYPE_L2TP_IPSEC_PSK:
@@ -338,12 +340,20 @@
"name", profile.username, "password", profile.password,
"linkname", "vpn", "refuse-eap", "nodefaultroute",
"usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400",
+ "ipparam", profile.routes,
};
break;
}
+ VpnConfig config = new VpnConfig();
+ config.sessionName = profile.name;
+ config.routes = profile.routes;
+ if (!profile.searchDomains.isEmpty()) {
+ config.searchDomains = Arrays.asList(profile.searchDomains.split(" "));
+ }
+
try {
-// getService().doLegacyVpn(racoon, mtpd);
+ getService().doLegacyVpn(config, racoon, mtpd);
} catch (Exception e) {
Log.e(TAG, "connect", e);
}