OLD | NEW |
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 Loading... |
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 }, |
(...skipping 30 matching lines...) Expand all Loading... |
125 { flimflam::kSupportNetworkScanProperty, | 128 { flimflam::kSupportNetworkScanProperty, |
126 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN }, | 129 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN }, |
127 { flimflam::kTechnologyFamilyProperty, PROPERTY_INDEX_TECHNOLOGY_FAMILY }, | 130 { flimflam::kTechnologyFamilyProperty, PROPERTY_INDEX_TECHNOLOGY_FAMILY }, |
128 { flimflam::kTypeProperty, PROPERTY_INDEX_TYPE }, | 131 { flimflam::kTypeProperty, PROPERTY_INDEX_TYPE }, |
129 { flimflam::kUIDataProperty, PROPERTY_INDEX_UI_DATA }, | 132 { flimflam::kUIDataProperty, PROPERTY_INDEX_UI_DATA }, |
130 { flimflam::kUsageURLProperty, PROPERTY_INDEX_USAGE_URL }, | 133 { flimflam::kUsageURLProperty, PROPERTY_INDEX_USAGE_URL }, |
131 { flimflam::kOpenVPNUserProperty, PROPERTY_INDEX_OPEN_VPN_USER }, | 134 { flimflam::kOpenVPNUserProperty, PROPERTY_INDEX_OPEN_VPN_USER }, |
132 { flimflam::kOpenVPNPasswordProperty, PROPERTY_INDEX_OPEN_VPN_PASSWORD }, | 135 { flimflam::kOpenVPNPasswordProperty, PROPERTY_INDEX_OPEN_VPN_PASSWORD }, |
133 { flimflam::kOpenVPNClientCertIdProperty, | 136 { flimflam::kOpenVPNClientCertIdProperty, |
134 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID }, | 137 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID }, |
| 138 { flimflam::kOpenVPNAuthProperty, PROPERTY_INDEX_OPEN_VPN_AUTH }, |
| 139 { flimflam::kOpenVPNAuthRetryProperty, PROPERTY_INDEX_OPEN_VPN_AUTHRETRY }, |
| 140 { flimflam::kOpenVPNAuthNoCacheProperty, |
| 141 PROPERTY_INDEX_OPEN_VPN_AUTHNOCACHE }, |
| 142 { flimflam::kOpenVPNCaCertProperty, PROPERTY_INDEX_OPEN_VPN_CACERT }, |
| 143 { flimflam::kOpenVPNClientCertSlotProperty, |
| 144 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_SLOT }, |
| 145 { flimflam::kOpenVPNCipherProperty, PROPERTY_INDEX_OPEN_VPN_CIPHER }, |
| 146 { flimflam::kOpenVPNCompLZOProperty, PROPERTY_INDEX_OPEN_VPN_COMPLZO }, |
| 147 { flimflam::kOpenVPNCompNoAdaptProperty, |
| 148 PROPERTY_INDEX_OPEN_VPN_COMPNOADAPT }, |
| 149 { flimflam::kOpenVPNKeyDirectionProperty, |
| 150 PROPERTY_INDEX_OPEN_VPN_KEYDIRECTION }, |
| 151 { flimflam::kOpenVPNNsCertTypeProperty, PROPERTY_INDEX_OPEN_VPN_NSCERTTYPE }, |
| 152 { flimflam::kOpenVPNOTPProperty, PROPERTY_INDEX_OPEN_VPN_OTP }, |
| 153 { flimflam::kOpenVPNPasswordProperty, PROPERTY_INDEX_OPEN_VPN_PASSWORD }, |
| 154 { flimflam::kOpenVPNPinProperty, PROPERTY_INDEX_OPEN_VPN_PIN }, |
| 155 { flimflam::kOpenVPNPortProperty, PROPERTY_INDEX_OPEN_VPN_PORT }, |
| 156 { flimflam::kOpenVPNProtoProperty, PROPERTY_INDEX_OPEN_VPN_PROTO }, |
| 157 { flimflam::kOpenVPNProviderProperty, |
| 158 PROPERTY_INDEX_OPEN_VPN_PKCS11_PROVIDER }, |
| 159 { flimflam::kOpenVPNPushPeerInfoProperty, |
| 160 PROPERTY_INDEX_OPEN_VPN_PUSHPEERINFO }, |
| 161 { flimflam::kOpenVPNRemoteCertEKUProperty, |
| 162 PROPERTY_INDEX_OPEN_VPN_REMOTECERTEKU }, |
| 163 { flimflam::kOpenVPNRemoteCertKUProperty, |
| 164 PROPERTY_INDEX_OPEN_VPN_REMOTECERTKU }, |
| 165 { flimflam::kOpenVPNRemoteCertTLSProperty, |
| 166 PROPERTY_INDEX_OPEN_VPN_REMOTECERTTLS }, |
| 167 { flimflam::kOpenVPNRenegSecProperty, PROPERTY_INDEX_OPEN_VPN_RENEGSEC }, |
| 168 { flimflam::kOpenVPNServerPollTimeoutProperty, |
| 169 PROPERTY_INDEX_OPEN_VPN_SERVERPOLLTIMEOUT }, |
| 170 { flimflam::kOpenVPNShaperProperty, PROPERTY_INDEX_OPEN_VPN_SHAPER }, |
| 171 { flimflam::kOpenVPNStaticChallengeProperty, |
| 172 PROPERTY_INDEX_OPEN_VPN_STATICCHALLENGE }, |
| 173 { flimflam::kOpenVPNTLSAuthContentsProperty, |
| 174 PROPERTY_INDEX_OPEN_VPN_TLSAUTHCONTENTS }, |
| 175 { flimflam::kOpenVPNTLSRemoteProperty, PROPERTY_INDEX_OPEN_VPN_TLSREMOTE }, |
| 176 { flimflam::kOpenVPNUserProperty, PROPERTY_INDEX_OPEN_VPN_USER }, |
135 { flimflam::kPaymentPortalProperty, PROPERTY_INDEX_OLP }, | 177 { flimflam::kPaymentPortalProperty, PROPERTY_INDEX_OLP }, |
| 178 { flimflam::kVPNDomainProperty, PROPERTY_INDEX_VPN_DOMAIN }, |
136 { flimflam::kWifiAuthMode, PROPERTY_INDEX_WIFI_AUTH_MODE }, | 179 { flimflam::kWifiAuthMode, PROPERTY_INDEX_WIFI_AUTH_MODE }, |
137 { flimflam::kWifiFrequency, PROPERTY_INDEX_WIFI_FREQUENCY }, | 180 { flimflam::kWifiFrequency, PROPERTY_INDEX_WIFI_FREQUENCY }, |
138 { flimflam::kWifiHexSsid, PROPERTY_INDEX_WIFI_HEX_SSID }, | 181 { flimflam::kWifiHexSsid, PROPERTY_INDEX_WIFI_HEX_SSID }, |
139 { flimflam::kWifiHiddenSsid, PROPERTY_INDEX_WIFI_HIDDEN_SSID }, | 182 { flimflam::kWifiHiddenSsid, PROPERTY_INDEX_WIFI_HIDDEN_SSID }, |
140 { flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE }, | 183 { flimflam::kWifiPhyMode, PROPERTY_INDEX_WIFI_PHY_MODE }, |
141 }; | 184 }; |
142 | 185 |
143 EnumMapper<ConnectionType>::Pair network_type_table[] = { | 186 EnumMapper<ConnectionType>::Pair network_type_table[] = { |
144 { flimflam::kTypeEthernet, TYPE_ETHERNET }, | 187 { flimflam::kTypeEthernet, TYPE_ETHERNET }, |
145 { flimflam::kTypeWifi, TYPE_WIFI }, | 188 { flimflam::kTypeWifi, TYPE_WIFI }, |
(...skipping 22 matching lines...) Expand all Loading... |
168 EnumMapper<EAPPhase2Auth>::Pair network_eap_auth_table[] = { | 211 EnumMapper<EAPPhase2Auth>::Pair network_eap_auth_table[] = { |
169 { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 }, | 212 { flimflam::kEapPhase2AuthPEAPMD5, EAP_PHASE_2_AUTH_MD5 }, |
170 { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, | 213 { flimflam::kEapPhase2AuthPEAPMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, |
171 { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 }, | 214 { flimflam::kEapPhase2AuthTTLSMD5, EAP_PHASE_2_AUTH_MD5 }, |
172 { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, | 215 { flimflam::kEapPhase2AuthTTLSMSCHAPV2, EAP_PHASE_2_AUTH_MSCHAPV2 }, |
173 { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP }, | 216 { flimflam::kEapPhase2AuthTTLSMSCHAP, EAP_PHASE_2_AUTH_MSCHAP }, |
174 { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP }, | 217 { flimflam::kEapPhase2AuthTTLSPAP, EAP_PHASE_2_AUTH_PAP }, |
175 { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP }, | 218 { flimflam::kEapPhase2AuthTTLSCHAP, EAP_PHASE_2_AUTH_CHAP }, |
176 }; | 219 }; |
177 | 220 |
| 221 EnumMapper<ProviderType>::Pair provider_type_table[] = { |
| 222 { flimflam::kProviderL2tpIpsec, PROVIDER_TYPE_L2TP_IPSEC_PSK }, |
| 223 { flimflam::kProviderOpenVpn, PROVIDER_TYPE_OPEN_VPN }, |
| 224 }; |
| 225 |
178 // Serve the singleton mapper instance. | 226 // Serve the singleton mapper instance. |
179 const EnumMapper<PropertyIndex>* get_native_mapper() { | 227 const EnumMapper<PropertyIndex>* get_native_mapper() { |
180 CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper, | 228 CR_DEFINE_STATIC_LOCAL(EnumMapper<PropertyIndex>, mapper, |
181 (property_index_table, | 229 (property_index_table, |
182 arraysize(property_index_table), | 230 arraysize(property_index_table), |
183 PROPERTY_INDEX_UNKNOWN)); | 231 PROPERTY_INDEX_UNKNOWN)); |
184 return &mapper; | 232 return &mapper; |
185 } | 233 } |
186 | 234 |
187 } // namespace | 235 } // namespace |
(...skipping 994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1182 network->set_name(name); | 1230 network->set_name(name); |
1183 return true; | 1231 return true; |
1184 } | 1232 } |
1185 case PROPERTY_INDEX_TYPE: { | 1233 case PROPERTY_INDEX_TYPE: { |
1186 std::string provider_type_string; | 1234 std::string provider_type_string; |
1187 if (!value.GetAsString(&provider_type_string)) | 1235 if (!value.GetAsString(&provider_type_string)) |
1188 break; | 1236 break; |
1189 network->set_provider_type(ParseProviderType(provider_type_string)); | 1237 network->set_provider_type(ParseProviderType(provider_type_string)); |
1190 return true; | 1238 return true; |
1191 } | 1239 } |
1192 case PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS: { | 1240 case PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS: |
| 1241 case PROPERTY_INDEX_OPEN_VPN_CACERT: { |
1193 std::string ca_cert_nss; | 1242 std::string ca_cert_nss; |
1194 if (!value.GetAsString(&ca_cert_nss)) | 1243 if (!value.GetAsString(&ca_cert_nss)) |
1195 break; | 1244 break; |
1196 network->set_ca_cert_nss(ca_cert_nss); | 1245 network->set_ca_cert_nss(ca_cert_nss); |
1197 return true; | 1246 return true; |
1198 } | 1247 } |
1199 case PROPERTY_INDEX_L2TPIPSEC_PSK: { | 1248 case PROPERTY_INDEX_L2TPIPSEC_PSK: { |
1200 std::string psk_passphrase; | 1249 std::string psk_passphrase; |
1201 if (!value.GetAsString(&psk_passphrase)) | 1250 if (!value.GetAsString(&psk_passphrase)) |
1202 break; | 1251 break; |
(...skipping 30 matching lines...) Expand all Loading... |
1233 break; | 1282 break; |
1234 network->set_group_name(group_name); | 1283 network->set_group_name(group_name); |
1235 return true; | 1284 return true; |
1236 } | 1285 } |
1237 default: | 1286 default: |
1238 break; | 1287 break; |
1239 } | 1288 } |
1240 return false; | 1289 return false; |
1241 } | 1290 } |
1242 | 1291 |
| 1292 // static |
| 1293 const EnumMapper<ProviderType>* |
| 1294 NativeVirtualNetworkParser::provider_type_mapper() { |
| 1295 CR_DEFINE_STATIC_LOCAL(EnumMapper<ProviderType>, parser, |
| 1296 (provider_type_table, arraysize(provider_type_table), |
| 1297 PROVIDER_TYPE_MAX)); |
| 1298 return &parser; |
| 1299 } |
| 1300 |
1243 ProviderType NativeVirtualNetworkParser::ParseProviderType( | 1301 ProviderType NativeVirtualNetworkParser::ParseProviderType( |
1244 const std::string& type) { | 1302 const std::string& type) { |
1245 static EnumMapper<ProviderType>::Pair table[] = { | 1303 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 } | 1304 } |
1253 | 1305 |
1254 } // namespace chromeos | 1306 } // namespace chromeos |
OLD | NEW |