| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chromeos/network/onc/onc_signature.h" | 5 #include "chromeos/network/onc/onc_signature.h" |
| 6 | 6 |
| 7 #include "chromeos/network/onc/onc_constants.h" | 7 #include "chromeos/network/onc/onc_constants.h" |
| 8 #include "third_party/cros_system_api/dbus/service_constants.h" | 8 #include "third_party/cros_system_api/dbus/service_constants.h" |
| 9 | 9 |
| 10 using base::Value; | 10 using base::Value; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 const OncFieldSignature eap_fields[] = { | 49 const OncFieldSignature eap_fields[] = { |
| 50 { kRecommended, NULL, &kRecommendedSignature }, | 50 { kRecommended, NULL, &kRecommendedSignature }, |
| 51 { eap::kAnonymousIdentity, flimflam::kEapAnonymousIdentityProperty, | 51 { eap::kAnonymousIdentity, flimflam::kEapAnonymousIdentityProperty, |
| 52 &kStringSignature }, | 52 &kStringSignature }, |
| 53 { eap::kClientCertPattern, NULL, &kCertificatePatternSignature }, | 53 { eap::kClientCertPattern, NULL, &kCertificatePatternSignature }, |
| 54 { eap::kClientCertRef, NULL, &kStringSignature }, | 54 { eap::kClientCertRef, NULL, &kStringSignature }, |
| 55 { eap::kClientCertType, NULL, &kStringSignature }, | 55 { eap::kClientCertType, NULL, &kStringSignature }, |
| 56 { eap::kIdentity, flimflam::kEapIdentityProperty, &kStringSignature }, | 56 { eap::kIdentity, flimflam::kEapIdentityProperty, &kStringSignature }, |
| 57 { eap::kInner, flimflam::kEapPhase2AuthProperty, &kStringSignature }, | 57 // This field is converted during translation, see onc_translator_*. |
| 58 { eap::kOuter, flimflam::kEapMethodProperty, &kStringSignature }, | 58 { eap::kInner, NULL, &kStringSignature }, |
| 59 // This field is converted during translation, see onc_translator_*. |
| 60 { eap::kOuter, NULL, &kStringSignature }, |
| 59 { eap::kPassword, flimflam::kEapPasswordProperty, &kStringSignature }, | 61 { eap::kPassword, flimflam::kEapPasswordProperty, &kStringSignature }, |
| 60 { eap::kSaveCredentials, flimflam::kSaveCredentialsProperty, | 62 { eap::kSaveCredentials, flimflam::kSaveCredentialsProperty, |
| 61 &kBoolSignature }, | 63 &kBoolSignature }, |
| 62 { eap::kServerCARef, flimflam::kEapCaCertNssProperty, &kStringSignature }, | 64 { eap::kServerCARef, flimflam::kEapCaCertNssProperty, &kStringSignature }, |
| 63 { eap::kUseSystemCAs, flimflam::kEapUseSystemCasProperty, &kBoolSignature }, | 65 { eap::kUseSystemCAs, flimflam::kEapUseSystemCasProperty, &kBoolSignature }, |
| 64 { NULL } | 66 { NULL } |
| 65 }; | 67 }; |
| 66 | 68 |
| 67 const OncFieldSignature ipsec_fields[] = { | 69 const OncFieldSignature ipsec_fields[] = { |
| 68 { kRecommended, NULL, &kRecommendedSignature }, | 70 { kRecommended, NULL, &kRecommendedSignature }, |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 { vpn::kRemoteCertEKU, flimflam::kOpenVPNRemoteCertEKUProperty, | 121 { vpn::kRemoteCertEKU, flimflam::kOpenVPNRemoteCertEKUProperty, |
| 120 &kStringSignature }, | 122 &kStringSignature }, |
| 121 // This field is converted during translation, see onc_translator_*. | 123 // This field is converted during translation, see onc_translator_*. |
| 122 { vpn::kRemoteCertKU, NULL, &kStringListSignature }, | 124 { vpn::kRemoteCertKU, NULL, &kStringListSignature }, |
| 123 { vpn::kRemoteCertTLS, flimflam::kOpenVPNRemoteCertTLSProperty, | 125 { vpn::kRemoteCertTLS, flimflam::kOpenVPNRemoteCertTLSProperty, |
| 124 &kStringSignature }, | 126 &kStringSignature }, |
| 125 { vpn::kRenegSec, flimflam::kOpenVPNRenegSecProperty, &kIntegerSignature }, | 127 { vpn::kRenegSec, flimflam::kOpenVPNRenegSecProperty, &kIntegerSignature }, |
| 126 { vpn::kSaveCredentials, flimflam::kSaveCredentialsProperty, | 128 { vpn::kSaveCredentials, flimflam::kSaveCredentialsProperty, |
| 127 &kBoolSignature }, | 129 &kBoolSignature }, |
| 128 { vpn::kServerCARef, flimflam::kOpenVPNCaCertNSSProperty, &kStringSignature }, | 130 { vpn::kServerCARef, flimflam::kOpenVPNCaCertNSSProperty, &kStringSignature }, |
| 131 // Not supported, yet. |
| 129 { vpn::kServerCertRef, NULL, &kStringSignature }, | 132 { vpn::kServerCertRef, NULL, &kStringSignature }, |
| 130 { vpn::kServerPollTimeout, flimflam::kOpenVPNServerPollTimeoutProperty, | 133 { vpn::kServerPollTimeout, flimflam::kOpenVPNServerPollTimeoutProperty, |
| 131 &kIntegerSignature }, | 134 &kIntegerSignature }, |
| 132 { vpn::kShaper, flimflam::kOpenVPNShaperProperty, &kIntegerSignature }, | 135 { vpn::kShaper, flimflam::kOpenVPNShaperProperty, &kIntegerSignature }, |
| 133 { vpn::kStaticChallenge, flimflam::kOpenVPNStaticChallengeProperty, | 136 { vpn::kStaticChallenge, flimflam::kOpenVPNStaticChallengeProperty, |
| 134 &kStringSignature }, | 137 &kStringSignature }, |
| 135 { vpn::kTLSAuthContents, flimflam::kOpenVPNTLSAuthContentsProperty, | 138 { vpn::kTLSAuthContents, flimflam::kOpenVPNTLSAuthContentsProperty, |
| 136 &kStringSignature }, | 139 &kStringSignature }, |
| 137 { vpn::kTLSRemote, flimflam::kOpenVPNTLSRemoteProperty, &kStringSignature }, | 140 { vpn::kTLSRemote, flimflam::kOpenVPNTLSRemoteProperty, &kStringSignature }, |
| 138 { vpn::kUsername, flimflam::kOpenVPNUserProperty, &kStringSignature }, | 141 { vpn::kUsername, flimflam::kOpenVPNUserProperty, &kStringSignature }, |
| 142 // Not supported, yet. |
| 139 { vpn::kVerb, NULL, &kStringSignature }, | 143 { vpn::kVerb, NULL, &kStringSignature }, |
| 140 { NULL } | 144 { NULL } |
| 141 }; | 145 }; |
| 142 | 146 |
| 143 const OncFieldSignature vpn_fields[] = { | 147 const OncFieldSignature vpn_fields[] = { |
| 144 { kRecommended, NULL, &kRecommendedSignature }, | 148 { kRecommended, NULL, &kRecommendedSignature }, |
| 145 { vpn::kHost, flimflam::kProviderHostProperty, &kStringSignature }, | 149 { vpn::kHost, flimflam::kProviderHostProperty, &kStringSignature }, |
| 146 { vpn::kIPsec, NULL, &kIPsecSignature }, | 150 { vpn::kIPsec, NULL, &kIPsecSignature }, |
| 147 { vpn::kL2TP, NULL, &kL2TPSignature }, | 151 { vpn::kL2TP, NULL, &kL2TPSignature }, |
| 148 { vpn::kOpenVPN, NULL, &kOpenVPNSignature }, | 152 { vpn::kOpenVPN, NULL, &kOpenVPNSignature }, |
| 149 // This field is converted during translation, see onc_translator_*. | 153 // This field is converted during translation, see onc_translator_*. |
| 150 { kType, NULL, &kStringSignature }, | 154 { vpn::kType, NULL, &kStringSignature }, |
| 151 { NULL } | 155 { NULL } |
| 152 }; | 156 }; |
| 153 | 157 |
| 154 const OncFieldSignature ethernet_fields[] = { | 158 const OncFieldSignature ethernet_fields[] = { |
| 155 { kRecommended, NULL, &kRecommendedSignature }, | 159 { kRecommended, NULL, &kRecommendedSignature }, |
| 160 // Not supported, yet. |
| 156 { ethernet::kAuthentication, NULL, &kStringSignature }, | 161 { ethernet::kAuthentication, NULL, &kStringSignature }, |
| 157 { ethernet::kEAP, NULL, &kEAPSignature }, | 162 { ethernet::kEAP, NULL, &kEAPSignature }, |
| 158 { NULL } | 163 { NULL } |
| 159 }; | 164 }; |
| 160 | 165 |
| 161 const OncFieldSignature ipconfig_fields[] = { | 166 const OncFieldSignature ipconfig_fields[] = { |
| 162 { ipconfig::kGateway, NULL, &kStringSignature }, | 167 { ipconfig::kGateway, NULL, &kStringSignature }, |
| 163 { ipconfig::kIPAddress, NULL, &kStringSignature }, | 168 { ipconfig::kIPAddress, NULL, &kStringSignature }, |
| 164 { kNameServers, NULL, &kStringSignature }, | 169 { kNameServers, NULL, &kStringSignature }, |
| 165 { ipconfig::kRoutingPrefix, NULL, &kIntegerSignature }, | 170 { ipconfig::kRoutingPrefix, NULL, &kIntegerSignature }, |
| 166 { kSearchDomains, NULL, &kStringListSignature }, | 171 { kSearchDomains, NULL, &kStringListSignature }, |
| 167 // This field is converted during translation, see onc_translator_*. | 172 { ipconfig::kType, NULL, &kStringSignature }, |
| 168 { kType, NULL, &kStringSignature }, | |
| 169 { NULL } | 173 { NULL } |
| 170 }; | 174 }; |
| 171 | 175 |
| 172 const OncFieldSignature proxy_location_fields[] = { | 176 const OncFieldSignature proxy_location_fields[] = { |
| 173 { proxy::kHost, NULL, &kStringSignature }, | 177 { proxy::kHost, NULL, &kStringSignature }, |
| 174 { proxy::kPort, NULL, &kIntegerSignature }, | 178 { proxy::kPort, NULL, &kIntegerSignature }, |
| 175 { NULL } | 179 { NULL } |
| 176 }; | 180 }; |
| 177 | 181 |
| 178 const OncFieldSignature proxy_manual_fields[] = { | 182 const OncFieldSignature proxy_manual_fields[] = { |
| 179 { proxy::kFtp, NULL, &kProxyLocationSignature }, | 183 { proxy::kFtp, NULL, &kProxyLocationSignature }, |
| 180 { proxy::kHttp, NULL, &kProxyLocationSignature }, | 184 { proxy::kHttp, NULL, &kProxyLocationSignature }, |
| 181 { proxy::kHttps, NULL, &kProxyLocationSignature }, | 185 { proxy::kHttps, NULL, &kProxyLocationSignature }, |
| 182 { proxy::kSocks, NULL, &kProxyLocationSignature }, | 186 { proxy::kSocks, NULL, &kProxyLocationSignature }, |
| 183 { NULL } | 187 { NULL } |
| 184 }; | 188 }; |
| 185 | 189 |
| 186 const OncFieldSignature proxy_settings_fields[] = { | 190 const OncFieldSignature proxy_settings_fields[] = { |
| 187 { kRecommended, NULL, &kRecommendedSignature }, | 191 { kRecommended, NULL, &kRecommendedSignature }, |
| 188 { proxy::kExcludeDomains, NULL, &kStringListSignature }, | 192 { proxy::kExcludeDomains, NULL, &kStringListSignature }, |
| 189 { proxy::kManual, NULL, &kProxyManualSignature }, | 193 { proxy::kManual, NULL, &kProxyManualSignature }, |
| 190 { proxy::kPAC, NULL, &kStringSignature }, | 194 { proxy::kPAC, NULL, &kStringSignature }, |
| 191 { kType, NULL, &kStringSignature }, | 195 { proxy::kType, NULL, &kStringSignature }, |
| 192 { NULL } | 196 { NULL } |
| 193 }; | 197 }; |
| 194 | 198 |
| 195 const OncFieldSignature wifi_fields[] = { | 199 const OncFieldSignature wifi_fields[] = { |
| 196 { kRecommended, NULL, &kRecommendedSignature }, | 200 { kRecommended, NULL, &kRecommendedSignature }, |
| 197 { wifi::kAutoConnect, flimflam::kAutoConnectProperty, &kBoolSignature }, | 201 { wifi::kAutoConnect, flimflam::kAutoConnectProperty, &kBoolSignature }, |
| 198 { wifi::kEAP, NULL, &kEAPSignature }, | 202 { wifi::kEAP, NULL, &kEAPSignature }, |
| 199 { wifi::kHiddenSSID, flimflam::kWifiHiddenSsid, &kBoolSignature }, | 203 { wifi::kHiddenSSID, flimflam::kWifiHiddenSsid, &kBoolSignature }, |
| 200 { wifi::kPassphrase, flimflam::kPassphraseProperty, &kStringSignature }, | 204 { wifi::kPassphrase, flimflam::kPassphraseProperty, &kStringSignature }, |
| 201 { wifi::kSSID, flimflam::kSSIDProperty, &kStringSignature }, | 205 { wifi::kSSID, flimflam::kSSIDProperty, &kStringSignature }, |
| 202 { wifi::kSecurity, flimflam::kSecurityProperty, &kStringSignature }, | 206 // This field is converted during translation, see onc_translator_*. |
| 207 { wifi::kSecurity, NULL, &kStringSignature }, |
| 203 { NULL } | 208 { NULL } |
| 204 }; | 209 }; |
| 205 | 210 |
| 206 const OncFieldSignature network_configuration_fields[] = { | 211 const OncFieldSignature network_configuration_fields[] = { |
| 207 { kRecommended, NULL, &kRecommendedSignature }, | 212 { kRecommended, NULL, &kRecommendedSignature }, |
| 208 { kEthernet, NULL, &kEthernetSignature }, | 213 { kEthernet, NULL, &kEthernetSignature }, |
| 209 { kGUID, flimflam::kGuidProperty, &kStringSignature }, | 214 { kGUID, flimflam::kGuidProperty, &kStringSignature }, |
| 210 { kIPConfigs, NULL, &kIPConfigListSignature }, | 215 { kIPConfigs, NULL, &kIPConfigListSignature }, |
| 211 { kName, flimflam::kNameProperty, &kStringSignature }, | 216 // Shill doesn't allow setting the name for non-VPN networks. |
| 217 // This field is conditionally translated, see onc_translator_*. |
| 218 { kName, NULL, &kStringSignature }, |
| 212 { kNameServers, NULL, &kStringListSignature }, | 219 { kNameServers, NULL, &kStringListSignature }, |
| 213 { kProxySettings, NULL, &kProxySettingsSignature }, | 220 { kProxySettings, NULL, &kProxySettingsSignature }, |
| 214 { kRemove, NULL, &kBoolSignature }, | 221 { kRemove, NULL, &kBoolSignature }, |
| 215 { kSearchDomains, NULL, &kStringListSignature }, | 222 { kSearchDomains, NULL, &kStringListSignature }, |
| 216 // This field is converted during translation, see onc_translator_*. | 223 // This field is converted during translation, see onc_translator_*. |
| 217 { kType, NULL, &kStringSignature }, | 224 { kType, NULL, &kStringSignature }, |
| 218 { kVPN, NULL, &kVPNSignature }, | 225 { kVPN, NULL, &kVPNSignature }, |
| 219 { kWiFi, NULL, &kWiFiSignature }, | 226 { kWiFi, NULL, &kWiFiSignature }, |
| 220 { NULL } | 227 { NULL } |
| 221 }; | 228 }; |
| 222 | 229 |
| 223 const OncFieldSignature certificate_fields[] = { | 230 const OncFieldSignature certificate_fields[] = { |
| 224 { kGUID, flimflam::kGuidProperty, &kStringSignature }, | 231 { kGUID, flimflam::kGuidProperty, &kStringSignature }, |
| 225 { certificate::kPKCS12, NULL, &kStringSignature }, | 232 { certificate::kPKCS12, NULL, &kStringSignature }, |
| 226 { kRemove, NULL, &kBoolSignature }, | 233 { kRemove, NULL, &kBoolSignature }, |
| 227 { certificate::kTrust, NULL, &kStringListSignature }, | 234 { certificate::kTrust, NULL, &kStringListSignature }, |
| 228 { kType, NULL, &kStringSignature }, | 235 { certificate::kType, NULL, &kStringSignature }, |
| 229 { certificate::kX509, NULL, &kStringSignature }, | 236 { certificate::kX509, NULL, &kStringSignature }, |
| 230 { NULL } | 237 { NULL } |
| 231 }; | 238 }; |
| 232 | 239 |
| 233 const OncFieldSignature toplevel_configuration_fields[] = { | 240 const OncFieldSignature toplevel_configuration_fields[] = { |
| 234 { kCertificates, NULL, &kCertificateListSignature }, | 241 { kCertificates, NULL, &kCertificateListSignature }, |
| 235 { kNetworkConfigurations, NULL, &kNetworkConfigurationListSignature }, | 242 { kNetworkConfigurations, NULL, &kNetworkConfigurationListSignature }, |
| 236 { kType, NULL, &kStringSignature }, | 243 { kType, NULL, &kStringSignature }, |
| 237 { encrypted::kCipher, NULL, &kStringSignature }, | 244 { encrypted::kCipher, NULL, &kStringSignature }, |
| 238 { encrypted::kCiphertext, NULL, &kStringSignature }, | 245 { encrypted::kCiphertext, NULL, &kStringSignature }, |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 312 for (const OncFieldSignature* field_signature = signature.fields; | 319 for (const OncFieldSignature* field_signature = signature.fields; |
| 313 field_signature->onc_field_name != NULL; ++field_signature) { | 320 field_signature->onc_field_name != NULL; ++field_signature) { |
| 314 if (onc_field_name == field_signature->onc_field_name) | 321 if (onc_field_name == field_signature->onc_field_name) |
| 315 return field_signature; | 322 return field_signature; |
| 316 } | 323 } |
| 317 return NULL; | 324 return NULL; |
| 318 } | 325 } |
| 319 | 326 |
| 320 } // namespace onc | 327 } // namespace onc |
| 321 } // namespace chromeos | 328 } // namespace chromeos |
| OLD | NEW |