Loading packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java +1 −1 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading packages/VpnServices/src/com/android/server/vpn/L2tpIpsecService.java +8 −9 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading @@ -25,8 +25,7 @@ import java.io.IOException; * The service that manages the L2TP-over-IPSec VPN connection. */ class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { private static final String IPSEC_SERVICE = "racoon"; private static final String L2TP_SERVICE = "mtpd"; private static final String IPSEC_DAEMON = "racoon"; @Override protected void connect(String serverIp, String username, String password) Loading @@ -34,7 +33,7 @@ class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { String hostIp = getHostIp(); // IPSEC AndroidServiceProxy ipsecService = startService(IPSEC_SERVICE); AndroidServiceProxy ipsecService = startService(IPSEC_DAEMON); ipsecService.sendCommand( String.format("SETKEY %s %s", hostIp, serverIp)); ipsecService.sendCommand(String.format("SET_CERTS %s %s %s %s", Loading @@ -42,11 +41,11 @@ class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { getUserkeyPath())); // L2TP AndroidServiceProxy l2tpService = startService(L2TP_SERVICE); l2tpService.sendCommand2("l2tp", serverIp, "1701", "", "file", getPppOptionFilePath(), "name", username, "password", password); L2tpIpsecProfile p = getProfile(); MtpdHelper.sendCommand(this, L2tpService.L2TP_DAEMON, serverIp, L2tpService.L2TP_PORT, (p.isSecretEnabled() ? p.getSecretString() : null), username, password); } private String getCaCertPath() { Loading packages/VpnServices/src/com/android/server/vpn/L2tpService.java +7 −11 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading @@ -24,19 +24,15 @@ import java.io.IOException; * The service that manages the L2TP VPN connection. */ class L2tpService extends VpnService<L2tpProfile> { private static final String L2TP_SERVICE = "mtpd"; static final String L2TP_DAEMON = "l2tp"; static final String L2TP_PORT = "1701"; @Override protected void connect(String serverIp, String username, String password) throws IOException { String hostIp = getHostIp(); // L2TP AndroidServiceProxy l2tpService = startService(L2TP_SERVICE); l2tpService.sendCommand2("l2tp", serverIp, "1701", "", "file", getPppOptionFilePath(), "name", username, "password", password); L2tpProfile p = getProfile(); MtpdHelper.sendCommand(this, L2TP_DAEMON, serverIp, L2TP_PORT, (p.isSecretEnabled() ? p.getSecretString() : null), username, password); } } packages/VpnServices/src/com/android/server/vpn/MtpdHelper.java 0 → 100644 +60 −0 Original line number Diff line number Diff line /* * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.vpn; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; /** * A helper class for sending commands to the MTP daemon (mtpd). */ class MtpdHelper { private static final String MTPD_SERVICE = "mtpd"; private static final String VPN_LINKNAME = "vpn"; private static final String PPP_ARGS_SEPARATOR = ""; static void sendCommand(VpnService<?> vpnService, String protocol, String serverIp, String port, String secret, String username, String password) throws IOException { ArrayList<String> args = new ArrayList<String>(); args.addAll(Arrays.asList(protocol, serverIp, port)); if (secret != null) args.add(secret); args.add(PPP_ARGS_SEPARATOR); addPppArguments(vpnService, args, serverIp, username, password); AndroidServiceProxy mtpd = vpnService.startService(MTPD_SERVICE); mtpd.sendCommand2(args.toArray(new String[args.size()])); } private static void addPppArguments(VpnService<?> vpnService, ArrayList<String> args, String serverIp, String username, String password) throws IOException { args.addAll(Arrays.asList( "linkname", VPN_LINKNAME, "name", username, "password", password, "ipparam", serverIp + "@" + vpnService.getGatewayIp(), "refuse-eap", "nodefaultroute", "usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400")); } private MtpdHelper() { } } packages/VpnServices/src/com/android/server/vpn/NormalProcessProxy.java +1 −1 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading Loading
packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java +1 −1 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading
packages/VpnServices/src/com/android/server/vpn/L2tpIpsecService.java +8 −9 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading @@ -25,8 +25,7 @@ import java.io.IOException; * The service that manages the L2TP-over-IPSec VPN connection. */ class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { private static final String IPSEC_SERVICE = "racoon"; private static final String L2TP_SERVICE = "mtpd"; private static final String IPSEC_DAEMON = "racoon"; @Override protected void connect(String serverIp, String username, String password) Loading @@ -34,7 +33,7 @@ class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { String hostIp = getHostIp(); // IPSEC AndroidServiceProxy ipsecService = startService(IPSEC_SERVICE); AndroidServiceProxy ipsecService = startService(IPSEC_DAEMON); ipsecService.sendCommand( String.format("SETKEY %s %s", hostIp, serverIp)); ipsecService.sendCommand(String.format("SET_CERTS %s %s %s %s", Loading @@ -42,11 +41,11 @@ class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { getUserkeyPath())); // L2TP AndroidServiceProxy l2tpService = startService(L2TP_SERVICE); l2tpService.sendCommand2("l2tp", serverIp, "1701", "", "file", getPppOptionFilePath(), "name", username, "password", password); L2tpIpsecProfile p = getProfile(); MtpdHelper.sendCommand(this, L2tpService.L2TP_DAEMON, serverIp, L2tpService.L2TP_PORT, (p.isSecretEnabled() ? p.getSecretString() : null), username, password); } private String getCaCertPath() { Loading
packages/VpnServices/src/com/android/server/vpn/L2tpService.java +7 −11 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading @@ -24,19 +24,15 @@ import java.io.IOException; * The service that manages the L2TP VPN connection. */ class L2tpService extends VpnService<L2tpProfile> { private static final String L2TP_SERVICE = "mtpd"; static final String L2TP_DAEMON = "l2tp"; static final String L2TP_PORT = "1701"; @Override protected void connect(String serverIp, String username, String password) throws IOException { String hostIp = getHostIp(); // L2TP AndroidServiceProxy l2tpService = startService(L2TP_SERVICE); l2tpService.sendCommand2("l2tp", serverIp, "1701", "", "file", getPppOptionFilePath(), "name", username, "password", password); L2tpProfile p = getProfile(); MtpdHelper.sendCommand(this, L2TP_DAEMON, serverIp, L2TP_PORT, (p.isSecretEnabled() ? p.getSecretString() : null), username, password); } }
packages/VpnServices/src/com/android/server/vpn/MtpdHelper.java 0 → 100644 +60 −0 Original line number Diff line number Diff line /* * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.vpn; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; /** * A helper class for sending commands to the MTP daemon (mtpd). */ class MtpdHelper { private static final String MTPD_SERVICE = "mtpd"; private static final String VPN_LINKNAME = "vpn"; private static final String PPP_ARGS_SEPARATOR = ""; static void sendCommand(VpnService<?> vpnService, String protocol, String serverIp, String port, String secret, String username, String password) throws IOException { ArrayList<String> args = new ArrayList<String>(); args.addAll(Arrays.asList(protocol, serverIp, port)); if (secret != null) args.add(secret); args.add(PPP_ARGS_SEPARATOR); addPppArguments(vpnService, args, serverIp, username, password); AndroidServiceProxy mtpd = vpnService.startService(MTPD_SERVICE); mtpd.sendCommand2(args.toArray(new String[args.size()])); } private static void addPppArguments(VpnService<?> vpnService, ArrayList<String> args, String serverIp, String username, String password) throws IOException { args.addAll(Arrays.asList( "linkname", VPN_LINKNAME, "name", username, "password", password, "ipparam", serverIp + "@" + vpnService.getGatewayIp(), "refuse-eap", "nodefaultroute", "usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400")); } private MtpdHelper() { } }
packages/VpnServices/src/com/android/server/vpn/NormalProcessProxy.java +1 −1 Original line number Diff line number Diff line /* * Copyright (C) 2007, The Android Open Source Project * Copyright (C) 2009, The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading