Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Side by Side Diff: chrome/browser/chromeos/cros/native_network_parser.cc

Issue 8759014: Add ONC VPN support for OpenVPN and L2TP/IPsec VPNs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/cros/native_network_parser.h" 5 #include "chrome/browser/chromeos/cros/native_network_parser.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 { flimflam::kFirmwareRevisionProperty, PROPERTY_INDEX_FIRMWARE_REVISION }, 69 { flimflam::kFirmwareRevisionProperty, PROPERTY_INDEX_FIRMWARE_REVISION },
70 { flimflam::kFoundNetworksProperty, PROPERTY_INDEX_FOUND_NETWORKS }, 70 { flimflam::kFoundNetworksProperty, PROPERTY_INDEX_FOUND_NETWORKS },
71 { flimflam::kGuidProperty, PROPERTY_INDEX_GUID }, 71 { flimflam::kGuidProperty, PROPERTY_INDEX_GUID },
72 { flimflam::kHardwareRevisionProperty, PROPERTY_INDEX_HARDWARE_REVISION }, 72 { flimflam::kHardwareRevisionProperty, PROPERTY_INDEX_HARDWARE_REVISION },
73 { flimflam::kHomeProviderProperty, PROPERTY_INDEX_HOME_PROVIDER }, 73 { flimflam::kHomeProviderProperty, PROPERTY_INDEX_HOME_PROVIDER },
74 { flimflam::kHostProperty, PROPERTY_INDEX_HOST }, 74 { flimflam::kHostProperty, PROPERTY_INDEX_HOST },
75 { flimflam::kIdentityProperty, PROPERTY_INDEX_IDENTITY }, 75 { flimflam::kIdentityProperty, PROPERTY_INDEX_IDENTITY },
76 { flimflam::kImeiProperty, PROPERTY_INDEX_IMEI }, 76 { flimflam::kImeiProperty, PROPERTY_INDEX_IMEI },
77 { flimflam::kImsiProperty, PROPERTY_INDEX_IMSI }, 77 { flimflam::kImsiProperty, PROPERTY_INDEX_IMSI },
78 { flimflam::kIsActiveProperty, PROPERTY_INDEX_IS_ACTIVE }, 78 { flimflam::kIsActiveProperty, PROPERTY_INDEX_IS_ACTIVE },
79 { flimflam::kL2tpIpsecAuthenticationType,
80 PROPERTY_INDEX_IPSEC_AUTHENTICATIONTYPE },
79 { flimflam::kL2tpIpsecCaCertNssProperty, 81 { flimflam::kL2tpIpsecCaCertNssProperty,
80 PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS }, 82 PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS },
81 { flimflam::kL2tpIpsecClientCertIdProperty, 83 { flimflam::kL2tpIpsecClientCertIdProperty,
82 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID }, 84 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID },
83 { flimflam::kL2tpIpsecClientCertSlotProp, 85 { flimflam::kL2tpIpsecClientCertSlotProp,
84 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT }, 86 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT },
87 { flimflam::kL2tpIpsecIkeVersion, PROPERTY_INDEX_IPSEC_IKEVERSION },
85 { flimflam::kL2tpIpsecPinProperty, PROPERTY_INDEX_L2TPIPSEC_PIN }, 88 { flimflam::kL2tpIpsecPinProperty, PROPERTY_INDEX_L2TPIPSEC_PIN },
86 { flimflam::kL2tpIpsecPskProperty, PROPERTY_INDEX_L2TPIPSEC_PSK }, 89 { flimflam::kL2tpIpsecPskProperty, PROPERTY_INDEX_L2TPIPSEC_PSK },
87 { flimflam::kL2tpIpsecPasswordProperty, PROPERTY_INDEX_L2TPIPSEC_PASSWORD }, 90 { flimflam::kL2tpIpsecPasswordProperty, PROPERTY_INDEX_L2TPIPSEC_PASSWORD },
88 { flimflam::kL2tpIpsecUserProperty, PROPERTY_INDEX_L2TPIPSEC_USER }, 91 { flimflam::kL2tpIpsecUserProperty, PROPERTY_INDEX_L2TPIPSEC_USER },
89 { flimflam::kL2tpIpsecGroupNameProperty, 92 { flimflam::kL2tpIpsecGroupNameProperty,
90 PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME }, 93 PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME },
91 { flimflam::kManufacturerProperty, PROPERTY_INDEX_MANUFACTURER }, 94 { flimflam::kManufacturerProperty, PROPERTY_INDEX_MANUFACTURER },
92 { flimflam::kMdnProperty, PROPERTY_INDEX_MDN }, 95 { flimflam::kMdnProperty, PROPERTY_INDEX_MDN },
93 { flimflam::kMeidProperty, PROPERTY_INDEX_MEID }, 96 { flimflam::kMeidProperty, PROPERTY_INDEX_MEID },
94 { flimflam::kMinProperty, PROPERTY_INDEX_MIN }, 97 { flimflam::kMinProperty, PROPERTY_INDEX_MIN },
95 { flimflam::kModeProperty, PROPERTY_INDEX_MODE }, 98 { flimflam::kModeProperty, PROPERTY_INDEX_MODE },
96 { flimflam::kModelIDProperty, PROPERTY_INDEX_MODEL_ID }, 99 { flimflam::kModelIDProperty, PROPERTY_INDEX_MODEL_ID },
97 { flimflam::kNameProperty, PROPERTY_INDEX_NAME }, 100 { flimflam::kNameProperty, PROPERTY_INDEX_NAME },
98 { flimflam::kNetworkTechnologyProperty, PROPERTY_INDEX_NETWORK_TECHNOLOGY }, 101 { flimflam::kNetworkTechnologyProperty, PROPERTY_INDEX_NETWORK_TECHNOLOGY },
99 { flimflam::kNetworksProperty, PROPERTY_INDEX_NETWORKS }, 102 { flimflam::kNetworksProperty, PROPERTY_INDEX_NETWORKS },
100 { flimflam::kOfflineModeProperty, PROPERTY_INDEX_OFFLINE_MODE }, 103 { flimflam::kOfflineModeProperty, PROPERTY_INDEX_OFFLINE_MODE },
101 { flimflam::kOperatorCodeProperty, PROPERTY_INDEX_OPERATOR_CODE }, 104 { flimflam::kOperatorCodeProperty, PROPERTY_INDEX_OPERATOR_CODE },
102 { flimflam::kOperatorNameProperty, PROPERTY_INDEX_OPERATOR_NAME }, 105 { flimflam::kOperatorNameProperty, PROPERTY_INDEX_OPERATOR_NAME },
103 { flimflam::kPRLVersionProperty, PROPERTY_INDEX_PRL_VERSION }, 106 { flimflam::kPRLVersionProperty, PROPERTY_INDEX_PRL_VERSION },
104 { flimflam::kPassphraseProperty, PROPERTY_INDEX_PASSPHRASE }, 107 { flimflam::kPassphraseProperty, PROPERTY_INDEX_PASSPHRASE },
105 { flimflam::kPassphraseRequiredProperty, PROPERTY_INDEX_PASSPHRASE_REQUIRED }, 108 { flimflam::kPassphraseRequiredProperty, PROPERTY_INDEX_PASSPHRASE_REQUIRED },
106 { flimflam::kPortalURLProperty, PROPERTY_INDEX_PORTAL_URL }, 109 { flimflam::kPortalURLProperty, PROPERTY_INDEX_PORTAL_URL },
107 { flimflam::kPoweredProperty, PROPERTY_INDEX_POWERED }, 110 { flimflam::kPoweredProperty, PROPERTY_INDEX_POWERED },
108 { flimflam::kPriorityProperty, PROPERTY_INDEX_PRIORITY }, 111 { flimflam::kPriorityProperty, PROPERTY_INDEX_PRIORITY },
109 { flimflam::kProfileProperty, PROPERTY_INDEX_PROFILE }, 112 { flimflam::kProfileProperty, PROPERTY_INDEX_PROFILE },
110 { flimflam::kProfilesProperty, PROPERTY_INDEX_PROFILES }, 113 { flimflam::kProfilesProperty, PROPERTY_INDEX_PROFILES },
114 { flimflam::kProviderHostProperty, PROPERTY_INDEX_PROVIDER_HOST },
111 { flimflam::kProviderProperty, PROPERTY_INDEX_PROVIDER }, 115 { flimflam::kProviderProperty, PROPERTY_INDEX_PROVIDER },
116 { flimflam::kProviderTypeProperty, PROPERTY_INDEX_PROVIDER_TYPE },
112 { flimflam::kProxyConfigProperty, PROPERTY_INDEX_PROXY_CONFIG }, 117 { flimflam::kProxyConfigProperty, PROPERTY_INDEX_PROXY_CONFIG },
113 { flimflam::kRoamingStateProperty, PROPERTY_INDEX_ROAMING_STATE }, 118 { flimflam::kRoamingStateProperty, PROPERTY_INDEX_ROAMING_STATE },
114 { flimflam::kSIMLockStatusProperty, PROPERTY_INDEX_SIM_LOCK }, 119 { flimflam::kSIMLockStatusProperty, PROPERTY_INDEX_SIM_LOCK },
115 { flimflam::kSSIDProperty, PROPERTY_INDEX_SSID }, 120 { flimflam::kSSIDProperty, PROPERTY_INDEX_SSID },
116 { flimflam::kSaveCredentialsProperty, PROPERTY_INDEX_SAVE_CREDENTIALS }, 121 { flimflam::kSaveCredentialsProperty, PROPERTY_INDEX_SAVE_CREDENTIALS },
117 { flimflam::kScanningProperty, PROPERTY_INDEX_SCANNING }, 122 { flimflam::kScanningProperty, PROPERTY_INDEX_SCANNING },
118 { flimflam::kSecurityProperty, PROPERTY_INDEX_SECURITY }, 123 { flimflam::kSecurityProperty, PROPERTY_INDEX_SECURITY },
119 { flimflam::kSelectedNetworkProperty, PROPERTY_INDEX_SELECTED_NETWORK }, 124 { flimflam::kSelectedNetworkProperty, PROPERTY_INDEX_SELECTED_NETWORK },
120 { flimflam::kServiceWatchListProperty, PROPERTY_INDEX_SERVICE_WATCH_LIST }, 125 { flimflam::kServiceWatchListProperty, PROPERTY_INDEX_SERVICE_WATCH_LIST },
121 { flimflam::kServicesProperty, PROPERTY_INDEX_SERVICES }, 126 { flimflam::kServicesProperty, PROPERTY_INDEX_SERVICES },
122 { flimflam::kServingOperatorProperty, PROPERTY_INDEX_SERVING_OPERATOR }, 127 { flimflam::kServingOperatorProperty, PROPERTY_INDEX_SERVING_OPERATOR },
123 { flimflam::kSignalStrengthProperty, PROPERTY_INDEX_SIGNAL_STRENGTH }, 128 { flimflam::kSignalStrengthProperty, PROPERTY_INDEX_SIGNAL_STRENGTH },
124 { flimflam::kStateProperty, PROPERTY_INDEX_STATE }, 129 { flimflam::kStateProperty, PROPERTY_INDEX_STATE },
125 { flimflam::kSupportNetworkScanProperty, 130 { flimflam::kSupportNetworkScanProperty,
126 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN }, 131 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN },
127 { flimflam::kTechnologyFamilyProperty, PROPERTY_INDEX_TECHNOLOGY_FAMILY }, 132 { flimflam::kTechnologyFamilyProperty, PROPERTY_INDEX_TECHNOLOGY_FAMILY },
128 { flimflam::kTypeProperty, PROPERTY_INDEX_TYPE }, 133 { flimflam::kTypeProperty, PROPERTY_INDEX_TYPE },
129 { flimflam::kUIDataProperty, PROPERTY_INDEX_UI_DATA }, 134 { flimflam::kUIDataProperty, PROPERTY_INDEX_UI_DATA },
130 { flimflam::kUsageURLProperty, PROPERTY_INDEX_USAGE_URL }, 135 { flimflam::kUsageURLProperty, PROPERTY_INDEX_USAGE_URL },
131 { flimflam::kOpenVPNUserProperty, PROPERTY_INDEX_OPEN_VPN_USER }, 136 { flimflam::kOpenVPNUserProperty, PROPERTY_INDEX_OPEN_VPN_USER },
132 { flimflam::kOpenVPNPasswordProperty, PROPERTY_INDEX_OPEN_VPN_PASSWORD }, 137 { flimflam::kOpenVPNPasswordProperty, PROPERTY_INDEX_OPEN_VPN_PASSWORD },
133 { flimflam::kOpenVPNClientCertIdProperty, 138 { flimflam::kOpenVPNClientCertIdProperty,
134 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID }, 139 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID },
140 { flimflam::kOpenVPNAuthProperty, PROPERTY_INDEX_OPEN_VPN_AUTH },
141 { flimflam::kOpenVPNAuthRetryProperty, PROPERTY_INDEX_OPEN_VPN_AUTHRETRY },
142 { flimflam::kOpenVPNAuthNoCacheProperty,
143 PROPERTY_INDEX_OPEN_VPN_AUTHNOCACHE },
144 { flimflam::kOpenVPNAuthUserPassProperty,
145 PROPERTY_INDEX_OPEN_VPN_AUTHUSERPASS },
146 { flimflam::kOpenVPNCaCertNSSProperty, PROPERTY_INDEX_OPEN_VPN_CACERT },
147 { flimflam::kOpenVPNClientCertSlotProperty,
148 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_SLOT },
149 { flimflam::kOpenVPNCipherProperty, PROPERTY_INDEX_OPEN_VPN_CIPHER },
150 { flimflam::kOpenVPNCompLZOProperty, PROPERTY_INDEX_OPEN_VPN_COMPLZO },
151 { flimflam::kOpenVPNCompNoAdaptProperty,
152 PROPERTY_INDEX_OPEN_VPN_COMPNOADAPT },
153 { flimflam::kOpenVPNKeyDirectionProperty,
154 PROPERTY_INDEX_OPEN_VPN_KEYDIRECTION },
155 { flimflam::kOpenVPNMgmtEnableProperty,
156 PROPERTY_INDEX_OPEN_VPN_MGMT_ENABLE },
157 { flimflam::kOpenVPNNsCertTypeProperty, PROPERTY_INDEX_OPEN_VPN_NSCERTTYPE },
158 { flimflam::kOpenVPNOTPProperty, PROPERTY_INDEX_OPEN_VPN_OTP },
159 { flimflam::kOpenVPNPasswordProperty, PROPERTY_INDEX_OPEN_VPN_PASSWORD },
160 { flimflam::kOpenVPNPinProperty, PROPERTY_INDEX_OPEN_VPN_PIN },
161 { flimflam::kOpenVPNPortProperty, PROPERTY_INDEX_OPEN_VPN_PORT },
162 { flimflam::kOpenVPNProtoProperty, PROPERTY_INDEX_OPEN_VPN_PROTO },
163 { flimflam::kOpenVPNProviderProperty,
164 PROPERTY_INDEX_OPEN_VPN_PKCS11_PROVIDER },
165 { flimflam::kOpenVPNPushPeerInfoProperty,
166 PROPERTY_INDEX_OPEN_VPN_PUSHPEERINFO },
167 { flimflam::kOpenVPNRemoteCertEKUProperty,
168 PROPERTY_INDEX_OPEN_VPN_REMOTECERTEKU },
169 { flimflam::kOpenVPNRemoteCertKUProperty,
170 PROPERTY_INDEX_OPEN_VPN_REMOTECERTKU },
171 { flimflam::kOpenVPNRemoteCertTLSProperty,
172 PROPERTY_INDEX_OPEN_VPN_REMOTECERTTLS },
173 { flimflam::kOpenVPNRenegSecProperty, PROPERTY_INDEX_OPEN_VPN_RENEGSEC },
174 { flimflam::kOpenVPNServerPollTimeoutProperty,
175 PROPERTY_INDEX_OPEN_VPN_SERVERPOLLTIMEOUT },
176 { flimflam::kOpenVPNShaperProperty, PROPERTY_INDEX_OPEN_VPN_SHAPER },
177 { flimflam::kOpenVPNStaticChallengeProperty,
178 PROPERTY_INDEX_OPEN_VPN_STATICCHALLENGE },
179 { flimflam::kOpenVPNTLSAuthContentsProperty,
180 PROPERTY_INDEX_OPEN_VPN_TLSAUTHCONTENTS },
181 { flimflam::kOpenVPNTLSRemoteProperty, PROPERTY_INDEX_OPEN_VPN_TLSREMOTE },
182 { flimflam::kOpenVPNUserProperty, PROPERTY_INDEX_OPEN_VPN_USER },
135 { flimflam::kPaymentPortalProperty, PROPERTY_INDEX_OLP }, 183 { flimflam::kPaymentPortalProperty, PROPERTY_INDEX_OLP },
184 { flimflam::kVPNDomainProperty, PROPERTY_INDEX_VPN_DOMAIN },
136 { flimflam::kWifiAuthMode, PROPERTY_INDEX_WIFI_AUTH_MODE }, 185 { flimflam::kWifiAuthMode, PROPERTY_INDEX_WIFI_AUTH_MODE },
137 { flimflam::kWifiFrequency, PROPERTY_INDEX_WIFI_FREQUENCY }, 186 { flimflam::kWifiFrequency, PROPERTY_INDEX_WIFI_FREQUENCY },
138 { flimflam::kWifiHexSsid, PROPERTY_INDEX_WIFI_HEX_SSID }, 187 { flimflam::kWifiHexSsid, PROPERTY_INDEX_WIFI_HEX_SSID },
139 { flimflam::kWifiHiddenSsid, PROPERTY_INDEX_WIFI_HIDDEN_SSID }, 188 { flimflam::kWifiHiddenSsid, PROPERTY_INDEX_WIFI_HIDDEN_SSID },
140 { flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE }, 189 { flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE },
141 }; 190 };
142 191
143 EnumMapper<ConnectionType>::Pair network_type_table[] = { 192 EnumMapper<ConnectionType>::Pair network_type_table[] = {
144 { flimflam::kTypeEthernet, TYPE_ETHERNET }, 193 { flimflam::kTypeEthernet, TYPE_ETHERNET },
145 { flimflam::kTypeWifi, TYPE_WIFI }, 194 { flimflam::kTypeWifi, TYPE_WIFI },
(...skipping 22 matching lines...) Expand all
168 EnumMapper<EAPPhase2Auth>::Pair network_eap_auth_table[] = { 217 EnumMapper<EAPPhase2Auth>::Pair network_eap_auth_table[] = {
169 { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 }, 218 { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 },
170 { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, 219 { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 },
171 { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 }, 220 { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 },
172 { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, 221 { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 },
173 { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP }, 222 { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP },
174 { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP }, 223 { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP },
175 { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP }, 224 { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP },
176 }; 225 };
177 226
227 EnumMapper<ProviderType>::Pair provider_type_table[] = {
228 { flimflam::kProviderL2tpIpsec, PROVIDER_TYPE_L2TP_IPSEC_PSK },
229 { flimflam::kProviderOpenVpn, PROVIDER_TYPE_OPEN_VPN },
230 };
231
178 // Serve the singleton mapper instance. 232 // Serve the singleton mapper instance.
179 const EnumMapper<PropertyIndex>* get_native_mapper() { 233 const EnumMapper<PropertyIndex>* get_native_mapper() {
180 CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper, 234 CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper,
181 (property_index_table, 235 (property_index_table,
182 arraysize(property_index_table), 236 arraysize(property_index_table),
183 PROPERTY_INDEX_UNKNOWN)); 237 PROPERTY_INDEX_UNKNOWN));
184 return &mapper; 238 return &mapper;
185 } 239 }
186 240
187 } // namespace 241 } // namespace
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 network->set_name(name); 1236 network->set_name(name);
1183 return true; 1237 return true;
1184 } 1238 }
1185 case PROPERTY_INDEX_TYPE: { 1239 case PROPERTY_INDEX_TYPE: {
1186 std::string provider_type_string; 1240 std::string provider_type_string;
1187 if (!value.GetAsString(&provider_type_string)) 1241 if (!value.GetAsString(&provider_type_string))
1188 break; 1242 break;
1189 network->set_provider_type(ParseProviderType(provider_type_string)); 1243 network->set_provider_type(ParseProviderType(provider_type_string));
1190 return true; 1244 return true;
1191 } 1245 }
1192 case PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS: { 1246 case PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS:
1247 case PROPERTY_INDEX_OPEN_VPN_CACERT: {
1193 std::string ca_cert_nss; 1248 std::string ca_cert_nss;
1194 if (!value.GetAsString(&ca_cert_nss)) 1249 if (!value.GetAsString(&ca_cert_nss))
1195 break; 1250 break;
1196 network->set_ca_cert_nss(ca_cert_nss); 1251 network->set_ca_cert_nss(ca_cert_nss);
1197 return true; 1252 return true;
1198 } 1253 }
1199 case PROPERTY_INDEX_L2TPIPSEC_PSK: { 1254 case PROPERTY_INDEX_L2TPIPSEC_PSK: {
1200 std::string psk_passphrase; 1255 std::string psk_passphrase;
1201 if (!value.GetAsString(&psk_passphrase)) 1256 if (!value.GetAsString(&psk_passphrase))
1202 break; 1257 break;
(...skipping 30 matching lines...) Expand all
1233 break; 1288 break;
1234 network->set_group_name(group_name); 1289 network->set_group_name(group_name);
1235 return true; 1290 return true;
1236 } 1291 }
1237 default: 1292 default:
1238 break; 1293 break;
1239 } 1294 }
1240 return false; 1295 return false;
1241 } 1296 }
1242 1297
1298 // static
1299 const EnumMapper<ProviderType>*
1300 NativeVirtualNetworkParser::provider_type_mapper() {
1301 CR_DEFINE_STATIC_LOCAL(EnumMapper<ProviderType>, parser,
1302 (provider_type_table, arraysize(provider_type_table),
1303 PROVIDER_TYPE_MAX));
1304 return &parser;
1305 }
1306
1243 ProviderType NativeVirtualNetworkParser::ParseProviderType( 1307 ProviderType NativeVirtualNetworkParser::ParseProviderType(
1244 const std::string& type) { 1308 const std::string& type) {
1245 static EnumMapper<ProviderType>::Pair table[] = { 1309 return provider_type_mapper()->Get(type);
1246 { flimflam::kProviderL2tpIpsec, PROVIDER_TYPE_L2TP_IPSEC_PSK },
1247 { flimflam::kProviderOpenVpn, PROVIDER_TYPE_OPEN_VPN },
1248 };
1249 CR_DEFINE_STATIC_LOCAL(EnumMapper<ProviderType>, parser,
1250 (table, arraysize(table), PROVIDER_TYPE_MAX));
1251 return parser.Get(type);
1252 } 1310 }
1253 1311
1254 } // namespace chromeos 1312 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698