| 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 "components/onc/onc_constants.h" | 7 #include "components/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; |
| 11 | 11 |
| 12 namespace chromeos { | 12 namespace chromeos { |
| 13 namespace onc { | 13 namespace onc { |
| 14 namespace { | 14 namespace { |
| 15 | 15 |
| 16 const OncValueSignature kBoolSignature = { | 16 const OncValueSignature kBoolSignature = {base::Value::TYPE_BOOLEAN, NULL}; |
| 17 base::Value::TYPE_BOOLEAN, NULL | 17 const OncValueSignature kStringSignature = {base::Value::TYPE_STRING, NULL}; |
| 18 }; | 18 const OncValueSignature kIntegerSignature = {base::Value::TYPE_INTEGER, NULL}; |
| 19 const OncValueSignature kStringSignature = { | 19 const OncValueSignature kDoubleSignature = {base::Value::TYPE_DOUBLE, NULL}; |
| 20 base::Value::TYPE_STRING, NULL | 20 const OncValueSignature kStringListSignature = {base::Value::TYPE_LIST, |
| 21 }; | 21 NULL, |
| 22 const OncValueSignature kIntegerSignature = { | 22 &kStringSignature}; |
| 23 base::Value::TYPE_INTEGER, NULL | 23 const OncValueSignature kIntegerListSignature = {base::Value::TYPE_LIST, |
| 24 }; | 24 NULL, |
| 25 const OncValueSignature kDoubleSignature = { | 25 &kIntegerSignature}; |
| 26 base::Value::TYPE_DOUBLE, NULL | 26 const OncValueSignature kIPConfigListSignature = {base::Value::TYPE_LIST, |
| 27 }; | 27 NULL, |
| 28 const OncValueSignature kStringListSignature = { | 28 &kIPConfigSignature}; |
| 29 base::Value::TYPE_LIST, NULL, &kStringSignature | 29 const OncValueSignature kCellularApnListSignature = {base::Value::TYPE_LIST, |
| 30 }; | 30 NULL, |
| 31 const OncValueSignature kIntegerListSignature = { | 31 &kCellularApnSignature}; |
| 32 base::Value::TYPE_LIST, NULL, &kIntegerSignature | |
| 33 }; | |
| 34 const OncValueSignature kIPConfigListSignature = { | |
| 35 base::Value::TYPE_LIST, NULL, &kIPConfigSignature | |
| 36 }; | |
| 37 const OncValueSignature kCellularApnListSignature = { | |
| 38 base::Value::TYPE_LIST, NULL, &kCellularApnSignature | |
| 39 }; | |
| 40 const OncValueSignature kCellularFoundNetworkListSignature = { | 32 const OncValueSignature kCellularFoundNetworkListSignature = { |
| 41 base::Value::TYPE_LIST, NULL, &kCellularFoundNetworkSignature | 33 base::Value::TYPE_LIST, |
| 42 }; | 34 NULL, |
| 35 &kCellularFoundNetworkSignature}; |
| 43 | 36 |
| 44 const OncFieldSignature issuer_subject_pattern_fields[] = { | 37 const OncFieldSignature issuer_subject_pattern_fields[] = { |
| 45 { ::onc::client_cert::kCommonName, &kStringSignature}, | 38 {::onc::client_cert::kCommonName, &kStringSignature}, |
| 46 { ::onc::client_cert::kLocality, &kStringSignature}, | 39 {::onc::client_cert::kLocality, &kStringSignature}, |
| 47 { ::onc::client_cert::kOrganization, &kStringSignature}, | 40 {::onc::client_cert::kOrganization, &kStringSignature}, |
| 48 { ::onc::client_cert::kOrganizationalUnit, &kStringSignature}, | 41 {::onc::client_cert::kOrganizationalUnit, &kStringSignature}, |
| 49 {NULL}}; | 42 {NULL}}; |
| 50 | 43 |
| 51 const OncFieldSignature certificate_pattern_fields[] = { | 44 const OncFieldSignature certificate_pattern_fields[] = { |
| 52 { ::onc::kRecommended, &kRecommendedSignature}, | 45 {::onc::kRecommended, &kRecommendedSignature}, |
| 53 { ::onc::client_cert::kEnrollmentURI, &kStringListSignature}, | 46 {::onc::client_cert::kEnrollmentURI, &kStringListSignature}, |
| 54 { ::onc::client_cert::kIssuer, &kIssuerSubjectPatternSignature}, | 47 {::onc::client_cert::kIssuer, &kIssuerSubjectPatternSignature}, |
| 55 { ::onc::client_cert::kIssuerCARef, &kStringListSignature}, | 48 {::onc::client_cert::kIssuerCARef, &kStringListSignature}, |
| 56 // Used internally. Not officially supported. | 49 // Used internally. Not officially supported. |
| 57 { ::onc::client_cert::kIssuerCAPEMs, &kStringListSignature}, | 50 {::onc::client_cert::kIssuerCAPEMs, &kStringListSignature}, |
| 58 { ::onc::client_cert::kSubject, &kIssuerSubjectPatternSignature}, | 51 {::onc::client_cert::kSubject, &kIssuerSubjectPatternSignature}, |
| 59 {NULL}}; | 52 {NULL}}; |
| 60 | 53 |
| 61 const OncFieldSignature eap_fields[] = { | 54 const OncFieldSignature eap_fields[] = { |
| 62 { ::onc::kRecommended, &kRecommendedSignature}, | 55 {::onc::kRecommended, &kRecommendedSignature}, |
| 63 { ::onc::eap::kAnonymousIdentity, &kStringSignature}, | 56 {::onc::eap::kAnonymousIdentity, &kStringSignature}, |
| 64 { ::onc::client_cert::kClientCertPattern, &kCertificatePatternSignature}, | 57 {::onc::client_cert::kClientCertPattern, &kCertificatePatternSignature}, |
| 65 { ::onc::client_cert::kClientCertRef, &kStringSignature}, | 58 {::onc::client_cert::kClientCertRef, &kStringSignature}, |
| 66 { ::onc::client_cert::kClientCertType, &kStringSignature}, | 59 {::onc::client_cert::kClientCertType, &kStringSignature}, |
| 67 { ::onc::eap::kIdentity, &kStringSignature}, | 60 {::onc::eap::kIdentity, &kStringSignature}, |
| 68 { ::onc::eap::kInner, &kStringSignature}, | 61 {::onc::eap::kInner, &kStringSignature}, |
| 69 { ::onc::eap::kOuter, &kStringSignature}, | 62 {::onc::eap::kOuter, &kStringSignature}, |
| 70 { ::onc::eap::kPassword, &kStringSignature}, | 63 {::onc::eap::kPassword, &kStringSignature}, |
| 71 { ::onc::eap::kSaveCredentials, &kBoolSignature}, | 64 {::onc::eap::kSaveCredentials, &kBoolSignature}, |
| 72 // Used internally. Not officially supported. | 65 // Used internally. Not officially supported. |
| 73 { ::onc::eap::kServerCAPEMs, &kStringListSignature}, | 66 {::onc::eap::kServerCAPEMs, &kStringListSignature}, |
| 74 { ::onc::eap::kServerCARef, &kStringSignature}, | 67 {::onc::eap::kServerCARef, &kStringSignature}, |
| 75 { ::onc::eap::kServerCARefs, &kStringListSignature}, | 68 {::onc::eap::kServerCARefs, &kStringListSignature}, |
| 76 { ::onc::eap::kUseSystemCAs, &kBoolSignature}, | 69 {::onc::eap::kUseSystemCAs, &kBoolSignature}, |
| 77 {NULL}}; | 70 {NULL}}; |
| 78 | 71 |
| 79 const OncFieldSignature ipsec_fields[] = { | 72 const OncFieldSignature ipsec_fields[] = { |
| 80 { ::onc::kRecommended, &kRecommendedSignature}, | 73 {::onc::kRecommended, &kRecommendedSignature}, |
| 81 { ::onc::ipsec::kAuthenticationType, &kStringSignature}, | 74 {::onc::ipsec::kAuthenticationType, &kStringSignature}, |
| 82 { ::onc::client_cert::kClientCertPattern, &kCertificatePatternSignature}, | 75 {::onc::client_cert::kClientCertPattern, &kCertificatePatternSignature}, |
| 83 { ::onc::client_cert::kClientCertRef, &kStringSignature}, | 76 {::onc::client_cert::kClientCertRef, &kStringSignature}, |
| 84 { ::onc::client_cert::kClientCertType, &kStringSignature}, | 77 {::onc::client_cert::kClientCertType, &kStringSignature}, |
| 85 { ::onc::ipsec::kGroup, &kStringSignature}, | 78 {::onc::ipsec::kGroup, &kStringSignature}, |
| 86 { ::onc::ipsec::kIKEVersion, &kIntegerSignature}, | 79 {::onc::ipsec::kIKEVersion, &kIntegerSignature}, |
| 87 { ::onc::ipsec::kPSK, &kStringSignature}, | 80 {::onc::ipsec::kPSK, &kStringSignature}, |
| 88 { ::onc::vpn::kSaveCredentials, &kBoolSignature}, | 81 {::onc::vpn::kSaveCredentials, &kBoolSignature}, |
| 89 // Used internally. Not officially supported. | 82 // Used internally. Not officially supported. |
| 90 { ::onc::ipsec::kServerCAPEMs, &kStringListSignature}, | 83 {::onc::ipsec::kServerCAPEMs, &kStringListSignature}, |
| 91 { ::onc::ipsec::kServerCARef, &kStringSignature}, | 84 {::onc::ipsec::kServerCARef, &kStringSignature}, |
| 92 { ::onc::ipsec::kServerCARefs, &kStringListSignature}, | 85 {::onc::ipsec::kServerCARefs, &kStringListSignature}, |
| 93 { ::onc::ipsec::kXAUTH, &kXAUTHSignature}, | 86 {::onc::ipsec::kXAUTH, &kXAUTHSignature}, |
| 94 // Not yet supported. | 87 // Not yet supported. |
| 95 // { ipsec::kEAP, &kEAPSignature }, | 88 // { ipsec::kEAP, &kEAPSignature }, |
| 96 {NULL}}; | 89 {NULL}}; |
| 97 | 90 |
| 98 const OncFieldSignature xauth_fields[] = { | 91 const OncFieldSignature xauth_fields[] = { |
| 99 { ::onc::vpn::kPassword, &kStringSignature}, | 92 {::onc::vpn::kPassword, &kStringSignature}, |
| 100 { ::onc::vpn::kUsername, &kStringSignature}, | 93 {::onc::vpn::kUsername, &kStringSignature}, |
| 101 {NULL}}; | 94 {NULL}}; |
| 102 | 95 |
| 103 const OncFieldSignature l2tp_fields[] = { | 96 const OncFieldSignature l2tp_fields[] = { |
| 104 { ::onc::kRecommended, &kRecommendedSignature}, | 97 {::onc::kRecommended, &kRecommendedSignature}, |
| 105 { ::onc::vpn::kPassword, &kStringSignature}, | 98 {::onc::vpn::kPassword, &kStringSignature}, |
| 106 { ::onc::vpn::kSaveCredentials, &kBoolSignature}, | 99 {::onc::vpn::kSaveCredentials, &kBoolSignature}, |
| 107 { ::onc::vpn::kUsername, &kStringSignature}, | 100 {::onc::vpn::kUsername, &kStringSignature}, |
| 108 {NULL}}; | 101 {NULL}}; |
| 109 | 102 |
| 110 const OncFieldSignature openvpn_fields[] = { | 103 const OncFieldSignature openvpn_fields[] = { |
| 111 { ::onc::kRecommended, &kRecommendedSignature}, | 104 {::onc::kRecommended, &kRecommendedSignature}, |
| 112 { ::onc::openvpn::kAuth, &kStringSignature}, | 105 {::onc::openvpn::kAuth, &kStringSignature}, |
| 113 { ::onc::openvpn::kAuthNoCache, &kBoolSignature}, | 106 {::onc::openvpn::kAuthNoCache, &kBoolSignature}, |
| 114 { ::onc::openvpn::kAuthRetry, &kStringSignature}, | 107 {::onc::openvpn::kAuthRetry, &kStringSignature}, |
| 115 { ::onc::openvpn::kCipher, &kStringSignature}, | 108 {::onc::openvpn::kCipher, &kStringSignature}, |
| 116 { ::onc::client_cert::kClientCertPattern, &kCertificatePatternSignature}, | 109 {::onc::client_cert::kClientCertPattern, &kCertificatePatternSignature}, |
| 117 { ::onc::client_cert::kClientCertRef, &kStringSignature}, | 110 {::onc::client_cert::kClientCertRef, &kStringSignature}, |
| 118 { ::onc::client_cert::kClientCertType, &kStringSignature}, | 111 {::onc::client_cert::kClientCertType, &kStringSignature}, |
| 119 { ::onc::openvpn::kCompLZO, &kStringSignature}, | 112 {::onc::openvpn::kCompLZO, &kStringSignature}, |
| 120 { ::onc::openvpn::kCompNoAdapt, &kBoolSignature}, | 113 {::onc::openvpn::kCompNoAdapt, &kBoolSignature}, |
| 121 { ::onc::openvpn::kIgnoreDefaultRoute, &kBoolSignature}, | 114 {::onc::openvpn::kIgnoreDefaultRoute, &kBoolSignature}, |
| 122 { ::onc::openvpn::kKeyDirection, &kStringSignature}, | 115 {::onc::openvpn::kKeyDirection, &kStringSignature}, |
| 123 { ::onc::openvpn::kNsCertType, &kStringSignature}, | 116 {::onc::openvpn::kNsCertType, &kStringSignature}, |
| 124 { ::onc::openvpn::kOTP, &kStringSignature}, | 117 {::onc::openvpn::kOTP, &kStringSignature}, |
| 125 { ::onc::openvpn::kPassword, &kStringSignature}, | 118 {::onc::openvpn::kPassword, &kStringSignature}, |
| 126 { ::onc::openvpn::kPort, &kIntegerSignature}, | 119 {::onc::openvpn::kPort, &kIntegerSignature}, |
| 127 { ::onc::openvpn::kProto, &kStringSignature}, | 120 {::onc::openvpn::kProto, &kStringSignature}, |
| 128 { ::onc::openvpn::kPushPeerInfo, &kBoolSignature}, | 121 {::onc::openvpn::kPushPeerInfo, &kBoolSignature}, |
| 129 { ::onc::openvpn::kRemoteCertEKU, &kStringSignature}, | 122 {::onc::openvpn::kRemoteCertEKU, &kStringSignature}, |
| 130 { ::onc::openvpn::kRemoteCertKU, &kStringListSignature}, | 123 {::onc::openvpn::kRemoteCertKU, &kStringListSignature}, |
| 131 { ::onc::openvpn::kRemoteCertTLS, &kStringSignature}, | 124 {::onc::openvpn::kRemoteCertTLS, &kStringSignature}, |
| 132 { ::onc::openvpn::kRenegSec, &kIntegerSignature}, | 125 {::onc::openvpn::kRenegSec, &kIntegerSignature}, |
| 133 { ::onc::vpn::kSaveCredentials, &kBoolSignature}, | 126 {::onc::vpn::kSaveCredentials, &kBoolSignature}, |
| 134 // Used internally. Not officially supported. | 127 // Used internally. Not officially supported. |
| 135 { ::onc::openvpn::kServerCAPEMs, &kStringListSignature}, | 128 {::onc::openvpn::kServerCAPEMs, &kStringListSignature}, |
| 136 { ::onc::openvpn::kServerCARef, &kStringSignature}, | 129 {::onc::openvpn::kServerCARef, &kStringSignature}, |
| 137 { ::onc::openvpn::kServerCARefs, &kStringListSignature}, | 130 {::onc::openvpn::kServerCARefs, &kStringListSignature}, |
| 138 // Not supported, yet. | 131 // Not supported, yet. |
| 139 { ::onc::openvpn::kServerCertPEM, &kStringSignature}, | 132 {::onc::openvpn::kServerCertPEM, &kStringSignature}, |
| 140 { ::onc::openvpn::kServerCertRef, &kStringSignature}, | 133 {::onc::openvpn::kServerCertRef, &kStringSignature}, |
| 141 { ::onc::openvpn::kServerPollTimeout, &kIntegerSignature}, | 134 {::onc::openvpn::kServerPollTimeout, &kIntegerSignature}, |
| 142 { ::onc::openvpn::kShaper, &kIntegerSignature}, | 135 {::onc::openvpn::kShaper, &kIntegerSignature}, |
| 143 { ::onc::openvpn::kStaticChallenge, &kStringSignature}, | 136 {::onc::openvpn::kStaticChallenge, &kStringSignature}, |
| 144 { ::onc::openvpn::kTLSAuthContents, &kStringSignature}, | 137 {::onc::openvpn::kTLSAuthContents, &kStringSignature}, |
| 145 { ::onc::openvpn::kTLSRemote, &kStringSignature}, | 138 {::onc::openvpn::kTLSRemote, &kStringSignature}, |
| 146 { ::onc::openvpn::kUserAuthenticationType, &kStringSignature}, | 139 {::onc::openvpn::kUserAuthenticationType, &kStringSignature}, |
| 147 { ::onc::vpn::kUsername, &kStringSignature}, | 140 {::onc::vpn::kUsername, &kStringSignature}, |
| 148 // Not supported, yet. | 141 // Not supported, yet. |
| 149 { ::onc::openvpn::kVerb, &kStringSignature}, | 142 {::onc::openvpn::kVerb, &kStringSignature}, |
| 150 { ::onc::openvpn::kVerifyHash, &kStringSignature}, | 143 {::onc::openvpn::kVerifyHash, &kStringSignature}, |
| 151 { ::onc::openvpn::kVerifyX509, &kVerifyX509Signature}, | 144 {::onc::openvpn::kVerifyX509, &kVerifyX509Signature}, |
| 152 {NULL}}; | 145 {NULL}}; |
| 153 | 146 |
| 154 const OncFieldSignature third_party_vpn_fields[] = { | 147 const OncFieldSignature third_party_vpn_fields[] = { |
| 155 { ::onc::kRecommended, &kRecommendedSignature}, | 148 {::onc::kRecommended, &kRecommendedSignature}, |
| 156 { ::onc::third_party_vpn::kExtensionID, &kStringSignature}, | 149 {::onc::third_party_vpn::kExtensionID, &kStringSignature}, |
| 157 {NULL}}; | 150 {NULL}}; |
| 158 | 151 |
| 159 const OncFieldSignature verify_x509_fields[] = { | 152 const OncFieldSignature verify_x509_fields[] = { |
| 160 { ::onc::verify_x509::kName, &kStringSignature}, | 153 {::onc::verify_x509::kName, &kStringSignature}, |
| 161 { ::onc::verify_x509::kType, &kStringSignature}, | 154 {::onc::verify_x509::kType, &kStringSignature}, |
| 162 {NULL}}; | 155 {NULL}}; |
| 163 | 156 |
| 164 const OncFieldSignature vpn_fields[] = { | 157 const OncFieldSignature vpn_fields[] = { |
| 165 { ::onc::kRecommended, &kRecommendedSignature}, | 158 {::onc::kRecommended, &kRecommendedSignature}, |
| 166 { ::onc::vpn::kAutoConnect, &kBoolSignature}, | 159 {::onc::vpn::kAutoConnect, &kBoolSignature}, |
| 167 { ::onc::vpn::kHost, &kStringSignature}, | 160 {::onc::vpn::kHost, &kStringSignature}, |
| 168 { ::onc::vpn::kIPsec, &kIPsecSignature}, | 161 {::onc::vpn::kIPsec, &kIPsecSignature}, |
| 169 { ::onc::vpn::kL2TP, &kL2TPSignature}, | 162 {::onc::vpn::kL2TP, &kL2TPSignature}, |
| 170 { ::onc::vpn::kOpenVPN, &kOpenVPNSignature}, | 163 {::onc::vpn::kOpenVPN, &kOpenVPNSignature}, |
| 171 { ::onc::vpn::kThirdPartyVpn, &kThirdPartyVPNSignature}, | 164 {::onc::vpn::kThirdPartyVpn, &kThirdPartyVPNSignature}, |
| 172 { ::onc::vpn::kType, &kStringSignature}, | 165 {::onc::vpn::kType, &kStringSignature}, |
| 173 {NULL}}; | 166 {NULL}}; |
| 174 | 167 |
| 175 const OncFieldSignature ethernet_fields[] = { | 168 const OncFieldSignature ethernet_fields[] = { |
| 176 { ::onc::kRecommended, &kRecommendedSignature}, | 169 {::onc::kRecommended, &kRecommendedSignature}, |
| 177 { ::onc::ethernet::kAuthentication, &kStringSignature}, | 170 {::onc::ethernet::kAuthentication, &kStringSignature}, |
| 178 { ::onc::ethernet::kEAP, &kEAPSignature}, | 171 {::onc::ethernet::kEAP, &kEAPSignature}, |
| 179 {NULL}}; | 172 {NULL}}; |
| 180 | 173 |
| 181 const OncFieldSignature ipconfig_fields[] = { | 174 const OncFieldSignature ipconfig_fields[] = { |
| 182 { ::onc::ipconfig::kGateway, &kStringSignature}, | 175 {::onc::ipconfig::kGateway, &kStringSignature}, |
| 183 { ::onc::ipconfig::kIPAddress, &kStringSignature}, | 176 {::onc::ipconfig::kIPAddress, &kStringSignature}, |
| 184 { ::onc::ipconfig::kNameServers, &kStringListSignature}, | 177 {::onc::ipconfig::kNameServers, &kStringListSignature}, |
| 185 { ::onc::ipconfig::kRoutingPrefix, &kIntegerSignature}, | 178 {::onc::ipconfig::kRoutingPrefix, &kIntegerSignature}, |
| 186 { ::onc::ipconfig::kSearchDomains, &kStringListSignature}, | 179 {::onc::ipconfig::kSearchDomains, &kStringListSignature}, |
| 187 { ::onc::ipconfig::kType, &kStringSignature}, | 180 {::onc::ipconfig::kType, &kStringSignature}, |
| 188 { ::onc::ipconfig::kWebProxyAutoDiscoveryUrl, &kStringSignature}, | 181 {::onc::ipconfig::kWebProxyAutoDiscoveryUrl, &kStringSignature}, |
| 189 {NULL}}; | 182 {NULL}}; |
| 190 | 183 |
| 191 const OncFieldSignature proxy_location_fields[] = { | 184 const OncFieldSignature proxy_location_fields[] = { |
| 192 { ::onc::proxy::kHost, &kStringSignature}, | 185 {::onc::proxy::kHost, &kStringSignature}, |
| 193 { ::onc::proxy::kPort, &kIntegerSignature}, {NULL}}; | 186 {::onc::proxy::kPort, &kIntegerSignature}, |
| 187 {NULL}}; |
| 194 | 188 |
| 195 const OncFieldSignature proxy_manual_fields[] = { | 189 const OncFieldSignature proxy_manual_fields[] = { |
| 196 { ::onc::proxy::kFtp, &kProxyLocationSignature}, | 190 {::onc::proxy::kFtp, &kProxyLocationSignature}, |
| 197 { ::onc::proxy::kHttp, &kProxyLocationSignature}, | 191 {::onc::proxy::kHttp, &kProxyLocationSignature}, |
| 198 { ::onc::proxy::kHttps, &kProxyLocationSignature}, | 192 {::onc::proxy::kHttps, &kProxyLocationSignature}, |
| 199 { ::onc::proxy::kSocks, &kProxyLocationSignature}, | 193 {::onc::proxy::kSocks, &kProxyLocationSignature}, |
| 200 {NULL}}; | 194 {NULL}}; |
| 201 | 195 |
| 202 const OncFieldSignature proxy_settings_fields[] = { | 196 const OncFieldSignature proxy_settings_fields[] = { |
| 203 { ::onc::kRecommended, &kRecommendedSignature}, | 197 {::onc::kRecommended, &kRecommendedSignature}, |
| 204 { ::onc::proxy::kExcludeDomains, &kStringListSignature}, | 198 {::onc::proxy::kExcludeDomains, &kStringListSignature}, |
| 205 { ::onc::proxy::kManual, &kProxyManualSignature}, | 199 {::onc::proxy::kManual, &kProxyManualSignature}, |
| 206 { ::onc::proxy::kPAC, &kStringSignature}, | 200 {::onc::proxy::kPAC, &kStringSignature}, |
| 207 { ::onc::proxy::kType, &kStringSignature}, | 201 {::onc::proxy::kType, &kStringSignature}, |
| 208 {NULL}}; | 202 {NULL}}; |
| 209 | 203 |
| 210 const OncFieldSignature wifi_fields[] = { | 204 const OncFieldSignature wifi_fields[] = { |
| 211 { ::onc::kRecommended, &kRecommendedSignature}, | 205 {::onc::kRecommended, &kRecommendedSignature}, |
| 212 { ::onc::wifi::kAllowGatewayARPPolling, &kBoolSignature}, | 206 {::onc::wifi::kAllowGatewayARPPolling, &kBoolSignature}, |
| 213 { ::onc::wifi::kAutoConnect, &kBoolSignature}, | 207 {::onc::wifi::kAutoConnect, &kBoolSignature}, |
| 214 { ::onc::wifi::kEAP, &kEAPSignature}, | 208 {::onc::wifi::kEAP, &kEAPSignature}, |
| 215 { ::onc::wifi::kHexSSID, &kStringSignature}, | 209 {::onc::wifi::kHexSSID, &kStringSignature}, |
| 216 { ::onc::wifi::kHiddenSSID, &kBoolSignature}, | 210 {::onc::wifi::kHiddenSSID, &kBoolSignature}, |
| 217 { ::onc::wifi::kPassphrase, &kStringSignature}, | 211 {::onc::wifi::kPassphrase, &kStringSignature}, |
| 218 { ::onc::wifi::kSSID, &kStringSignature}, | 212 {::onc::wifi::kSSID, &kStringSignature}, |
| 219 { ::onc::wifi::kSecurity, &kStringSignature}, | 213 {::onc::wifi::kSecurity, &kStringSignature}, |
| 220 {NULL}}; | 214 {NULL}}; |
| 221 | 215 |
| 222 const OncFieldSignature wifi_with_state_fields[] = { | 216 const OncFieldSignature wifi_with_state_fields[] = { |
| 223 { ::onc::wifi::kBSSID, &kStringSignature}, | 217 {::onc::wifi::kBSSID, &kStringSignature}, |
| 224 { ::onc::wifi::kFrequency, &kIntegerSignature}, | 218 {::onc::wifi::kFrequency, &kIntegerSignature}, |
| 225 { ::onc::wifi::kFrequencyList, &kIntegerListSignature}, | 219 {::onc::wifi::kFrequencyList, &kIntegerListSignature}, |
| 226 { ::onc::wifi::kSignalStrength, &kIntegerSignature}, | 220 {::onc::wifi::kSignalStrength, &kIntegerSignature}, |
| 227 {NULL}}; | 221 {NULL}}; |
| 228 | 222 |
| 229 const OncFieldSignature wimax_fields[] = { | 223 const OncFieldSignature wimax_fields[] = { |
| 230 { ::onc::kRecommended, &kRecommendedSignature}, | 224 {::onc::kRecommended, &kRecommendedSignature}, |
| 231 { ::onc::wimax::kAutoConnect, &kBoolSignature}, | 225 {::onc::wimax::kAutoConnect, &kBoolSignature}, |
| 232 { ::onc::wimax::kEAP, &kEAPSignature}, | 226 {::onc::wimax::kEAP, &kEAPSignature}, |
| 233 {NULL}}; | 227 {NULL}}; |
| 234 | 228 |
| 235 const OncFieldSignature wimax_with_state_fields[] = { | 229 const OncFieldSignature wimax_with_state_fields[] = { |
| 236 { ::onc::wimax::kSignalStrength, &kIntegerSignature}, | 230 {::onc::wimax::kSignalStrength, &kIntegerSignature}, |
| 237 {NULL}}; | 231 {NULL}}; |
| 238 | 232 |
| 239 const OncFieldSignature cellular_provider_fields[] = { | 233 const OncFieldSignature cellular_provider_fields[] = { |
| 240 { ::onc::cellular_provider::kCode, &kStringSignature}, | 234 {::onc::cellular_provider::kCode, &kStringSignature}, |
| 241 { ::onc::cellular_provider::kCountry, &kStringSignature}, | 235 {::onc::cellular_provider::kCountry, &kStringSignature}, |
| 242 { ::onc::cellular_provider::kName, &kStringSignature}, | 236 {::onc::cellular_provider::kName, &kStringSignature}, |
| 243 {NULL}}; | 237 {NULL}}; |
| 244 | 238 |
| 245 const OncFieldSignature cellular_apn_fields[] = { | 239 const OncFieldSignature cellular_apn_fields[] = { |
| 246 { ::onc::cellular_apn::kAccessPointName, &kStringSignature}, | 240 {::onc::cellular_apn::kAccessPointName, &kStringSignature}, |
| 247 { ::onc::cellular_apn::kName, &kStringSignature}, | 241 {::onc::cellular_apn::kName, &kStringSignature}, |
| 248 { ::onc::cellular_apn::kUsername, &kStringSignature}, | 242 {::onc::cellular_apn::kUsername, &kStringSignature}, |
| 249 { ::onc::cellular_apn::kPassword, &kStringSignature}, | 243 {::onc::cellular_apn::kPassword, &kStringSignature}, |
| 250 { ::onc::cellular_apn::kLocalizedName, &kStringSignature}, | 244 {::onc::cellular_apn::kLocalizedName, &kStringSignature}, |
| 251 { ::onc::cellular_apn::kLanguage, &kStringSignature}, | 245 {::onc::cellular_apn::kLanguage, &kStringSignature}, |
| 252 {NULL}}; | 246 {NULL}}; |
| 253 | 247 |
| 254 const OncFieldSignature cellular_found_network_fields[] = { | 248 const OncFieldSignature cellular_found_network_fields[] = { |
| 255 { ::onc::cellular_found_network::kStatus, &kStringSignature}, | 249 {::onc::cellular_found_network::kStatus, &kStringSignature}, |
| 256 { ::onc::cellular_found_network::kNetworkId, &kStringSignature}, | 250 {::onc::cellular_found_network::kNetworkId, &kStringSignature}, |
| 257 { ::onc::cellular_found_network::kShortName, &kStringSignature}, | 251 {::onc::cellular_found_network::kShortName, &kStringSignature}, |
| 258 { ::onc::cellular_found_network::kLongName, &kStringSignature}, | 252 {::onc::cellular_found_network::kLongName, &kStringSignature}, |
| 259 { ::onc::cellular_found_network::kTechnology, &kStringSignature}, | 253 {::onc::cellular_found_network::kTechnology, &kStringSignature}, |
| 260 {NULL}}; | 254 {NULL}}; |
| 261 | 255 |
| 262 const OncFieldSignature sim_lock_status_fields[] = { | 256 const OncFieldSignature sim_lock_status_fields[] = { |
| 263 { ::onc::sim_lock_status::kLockEnabled, &kBoolSignature}, | 257 {::onc::sim_lock_status::kLockEnabled, &kBoolSignature}, |
| 264 { ::onc::sim_lock_status::kLockType, &kStringSignature}, | 258 {::onc::sim_lock_status::kLockType, &kStringSignature}, |
| 265 { ::onc::sim_lock_status::kRetriesLeft, &kDoubleSignature}, | 259 {::onc::sim_lock_status::kRetriesLeft, &kDoubleSignature}, |
| 266 {NULL}}; | 260 {NULL}}; |
| 267 | 261 |
| 268 const OncFieldSignature cellular_fields[] = { | 262 const OncFieldSignature cellular_fields[] = { |
| 269 { ::onc::kRecommended, &kRecommendedSignature}, | 263 {::onc::kRecommended, &kRecommendedSignature}, |
| 270 { ::onc::cellular::kAPN, &kCellularApnSignature }, | 264 {::onc::cellular::kAPN, &kCellularApnSignature}, |
| 271 { ::onc::cellular::kAPNList, &kCellularApnListSignature}, | 265 {::onc::cellular::kAPNList, &kCellularApnListSignature}, |
| 272 { ::onc::vpn::kAutoConnect, &kBoolSignature}, | 266 {::onc::vpn::kAutoConnect, &kBoolSignature}, |
| 273 {NULL}}; | 267 {NULL}}; |
| 274 | 268 |
| 275 const OncFieldSignature cellular_with_state_fields[] = { | 269 const OncFieldSignature cellular_with_state_fields[] = { |
| 276 { ::onc::cellular::kActivationType, &kStringSignature}, | 270 {::onc::cellular::kActivationType, &kStringSignature}, |
| 277 { ::onc::cellular::kActivationState, &kStringSignature}, | 271 {::onc::cellular::kActivationState, &kStringSignature}, |
| 278 { ::onc::cellular::kAllowRoaming, &kBoolSignature}, | 272 {::onc::cellular::kAllowRoaming, &kBoolSignature}, |
| 279 { ::onc::cellular::kCarrier, &kStringSignature}, | 273 {::onc::cellular::kCarrier, &kStringSignature}, |
| 280 { ::onc::cellular::kESN, &kStringSignature}, | 274 {::onc::cellular::kESN, &kStringSignature}, |
| 281 { ::onc::cellular::kFamily, &kStringSignature}, | 275 {::onc::cellular::kFamily, &kStringSignature}, |
| 282 { ::onc::cellular::kFirmwareRevision, &kStringSignature}, | 276 {::onc::cellular::kFirmwareRevision, &kStringSignature}, |
| 283 { ::onc::cellular::kFoundNetworks, &kCellularFoundNetworkListSignature}, | 277 {::onc::cellular::kFoundNetworks, &kCellularFoundNetworkListSignature}, |
| 284 { ::onc::cellular::kHardwareRevision, &kStringSignature}, | 278 {::onc::cellular::kHardwareRevision, &kStringSignature}, |
| 285 { ::onc::cellular::kHomeProvider, &kCellularProviderSignature}, | 279 {::onc::cellular::kHomeProvider, &kCellularProviderSignature}, |
| 286 { ::onc::cellular::kICCID, &kStringSignature}, | 280 {::onc::cellular::kICCID, &kStringSignature}, |
| 287 { ::onc::cellular::kIMEI, &kStringSignature}, | 281 {::onc::cellular::kIMEI, &kStringSignature}, |
| 288 { ::onc::cellular::kIMSI, &kStringSignature}, | 282 {::onc::cellular::kIMSI, &kStringSignature}, |
| 289 { ::onc::cellular::kLastGoodAPN, &kCellularApnSignature }, | 283 {::onc::cellular::kLastGoodAPN, &kCellularApnSignature}, |
| 290 { ::onc::cellular::kManufacturer, &kStringSignature}, | 284 {::onc::cellular::kManufacturer, &kStringSignature}, |
| 291 { ::onc::cellular::kMDN, &kStringSignature}, | 285 {::onc::cellular::kMDN, &kStringSignature}, |
| 292 { ::onc::cellular::kMEID, &kStringSignature}, | 286 {::onc::cellular::kMEID, &kStringSignature}, |
| 293 { ::onc::cellular::kMIN, &kStringSignature}, | 287 {::onc::cellular::kMIN, &kStringSignature}, |
| 294 { ::onc::cellular::kModelID, &kStringSignature}, | 288 {::onc::cellular::kModelID, &kStringSignature}, |
| 295 { ::onc::cellular::kNetworkTechnology, &kStringSignature}, | 289 {::onc::cellular::kNetworkTechnology, &kStringSignature}, |
| 296 { ::onc::cellular::kPRLVersion, &kIntegerSignature}, | 290 {::onc::cellular::kPRLVersion, &kIntegerSignature}, |
| 297 { ::onc::cellular::kRoamingState, &kStringSignature}, | 291 {::onc::cellular::kRoamingState, &kStringSignature}, |
| 298 { ::onc::cellular::kServingOperator, &kCellularProviderSignature}, | 292 {::onc::cellular::kServingOperator, &kCellularProviderSignature}, |
| 299 { ::onc::cellular::kSignalStrength, &kIntegerSignature}, | 293 {::onc::cellular::kSignalStrength, &kIntegerSignature}, |
| 300 { ::onc::cellular::kSIMLockStatus, &kSIMLockStatusSignature}, | 294 {::onc::cellular::kSIMLockStatus, &kSIMLockStatusSignature}, |
| 301 { ::onc::cellular::kSIMPresent, &kBoolSignature}, | 295 {::onc::cellular::kSIMPresent, &kBoolSignature}, |
| 302 { ::onc::cellular::kSupportNetworkScan, &kBoolSignature}, | 296 {::onc::cellular::kSupportNetworkScan, &kBoolSignature}, |
| 303 { ::onc::cellular::kSupportedCarriers, &kStringListSignature}, | 297 {::onc::cellular::kSupportedCarriers, &kStringListSignature}, |
| 304 {NULL}}; | 298 {NULL}}; |
| 305 | 299 |
| 306 const OncFieldSignature network_configuration_fields[] = { | 300 const OncFieldSignature network_configuration_fields[] = { |
| 307 { ::onc::network_config::kCellular, &kCellularSignature}, | 301 {::onc::network_config::kCellular, &kCellularSignature}, |
| 308 { ::onc::network_config::kEthernet, &kEthernetSignature}, | 302 {::onc::network_config::kEthernet, &kEthernetSignature}, |
| 309 { ::onc::network_config::kGUID, &kStringSignature}, | 303 {::onc::network_config::kGUID, &kStringSignature}, |
| 310 { ::onc::network_config::kIPAddressConfigType, &kStringSignature}, | 304 {::onc::network_config::kIPAddressConfigType, &kStringSignature}, |
| 311 { ::onc::network_config::kName, &kStringSignature}, | 305 {::onc::network_config::kName, &kStringSignature}, |
| 312 { ::onc::network_config::kNameServersConfigType, &kStringSignature}, | 306 {::onc::network_config::kNameServersConfigType, &kStringSignature}, |
| 313 { ::onc::network_config::kPriority, &kIntegerSignature}, | 307 {::onc::network_config::kPriority, &kIntegerSignature}, |
| 314 { ::onc::network_config::kProxySettings, &kProxySettingsSignature}, | 308 {::onc::network_config::kProxySettings, &kProxySettingsSignature}, |
| 315 { ::onc::kRecommended, &kRecommendedSignature}, | 309 {::onc::kRecommended, &kRecommendedSignature}, |
| 316 { ::onc::kRemove, &kBoolSignature}, | 310 {::onc::kRemove, &kBoolSignature}, |
| 317 { ::onc::network_config::kStaticIPConfig, &kStaticIPConfigSignature}, | 311 {::onc::network_config::kStaticIPConfig, &kStaticIPConfigSignature}, |
| 318 { ::onc::network_config::kType, &kStringSignature}, | 312 {::onc::network_config::kType, &kStringSignature}, |
| 319 { ::onc::network_config::kVPN, &kVPNSignature}, | 313 {::onc::network_config::kVPN, &kVPNSignature}, |
| 320 { ::onc::network_config::kWiFi, &kWiFiSignature}, | 314 {::onc::network_config::kWiFi, &kWiFiSignature}, |
| 321 { ::onc::network_config::kWimax, &kWiMAXSignature}, | 315 {::onc::network_config::kWimax, &kWiMAXSignature}, |
| 322 {NULL}}; | 316 {NULL}}; |
| 323 | 317 |
| 324 const OncFieldSignature network_with_state_fields[] = { | 318 const OncFieldSignature network_with_state_fields[] = { |
| 325 { ::onc::network_config::kCellular, &kCellularWithStateSignature}, | 319 {::onc::network_config::kCellular, &kCellularWithStateSignature}, |
| 326 { ::onc::network_config::kConnectionState, &kStringSignature}, | 320 {::onc::network_config::kConnectionState, &kStringSignature}, |
| 327 { ::onc::network_config::kConnectable, &kBoolSignature}, | 321 {::onc::network_config::kConnectable, &kBoolSignature}, |
| 328 { ::onc::network_config::kErrorState, &kStringSignature}, | 322 {::onc::network_config::kErrorState, &kStringSignature}, |
| 329 { ::onc::network_config::kIPConfigs, &kIPConfigListSignature}, | 323 {::onc::network_config::kIPConfigs, &kIPConfigListSignature}, |
| 330 { ::onc::network_config::kMacAddress, &kStringSignature}, | 324 {::onc::network_config::kMacAddress, &kStringSignature}, |
| 331 { ::onc::network_config::kRestrictedConnectivity, &kBoolSignature}, | 325 {::onc::network_config::kRestrictedConnectivity, &kBoolSignature}, |
| 332 { ::onc::network_config::kSavedIPConfig, &kSavedIPConfigSignature}, | 326 {::onc::network_config::kSavedIPConfig, &kSavedIPConfigSignature}, |
| 333 { ::onc::network_config::kSource, &kStringSignature}, | 327 {::onc::network_config::kSource, &kStringSignature}, |
| 334 { ::onc::network_config::kWiFi, &kWiFiWithStateSignature}, | 328 {::onc::network_config::kWiFi, &kWiFiWithStateSignature}, |
| 335 { ::onc::network_config::kWimax, &kWiMAXWithStateSignature}, | 329 {::onc::network_config::kWimax, &kWiMAXWithStateSignature}, |
| 336 {NULL}}; | 330 {NULL}}; |
| 337 | 331 |
| 338 const OncFieldSignature global_network_configuration_fields[] = { | 332 const OncFieldSignature global_network_configuration_fields[] = { |
| 339 { ::onc::global_network_config::kAllowOnlyPolicyNetworksToAutoconnect, | 333 {::onc::global_network_config::kAllowOnlyPolicyNetworksToAutoconnect, |
| 340 &kBoolSignature}, | 334 &kBoolSignature}, |
| 341 {NULL}}; | 335 {NULL}}; |
| 342 | 336 |
| 343 const OncFieldSignature certificate_fields[] = { | 337 const OncFieldSignature certificate_fields[] = { |
| 344 { ::onc::certificate::kGUID, &kStringSignature}, | 338 {::onc::certificate::kGUID, &kStringSignature}, |
| 345 { ::onc::certificate::kPKCS12, &kStringSignature}, | 339 {::onc::certificate::kPKCS12, &kStringSignature}, |
| 346 { ::onc::kRemove, &kBoolSignature}, | 340 {::onc::kRemove, &kBoolSignature}, |
| 347 { ::onc::certificate::kTrustBits, &kStringListSignature}, | 341 {::onc::certificate::kTrustBits, &kStringListSignature}, |
| 348 { ::onc::certificate::kType, &kStringSignature}, | 342 {::onc::certificate::kType, &kStringSignature}, |
| 349 { ::onc::certificate::kX509, &kStringSignature}, | 343 {::onc::certificate::kX509, &kStringSignature}, |
| 350 {NULL}}; | 344 {NULL}}; |
| 351 | 345 |
| 352 const OncFieldSignature toplevel_configuration_fields[] = { | 346 const OncFieldSignature toplevel_configuration_fields[] = { |
| 353 { ::onc::toplevel_config::kCertificates, &kCertificateListSignature}, | 347 {::onc::toplevel_config::kCertificates, &kCertificateListSignature}, |
| 354 { ::onc::toplevel_config::kNetworkConfigurations, | 348 {::onc::toplevel_config::kNetworkConfigurations, |
| 355 &kNetworkConfigurationListSignature}, | 349 &kNetworkConfigurationListSignature}, |
| 356 { ::onc::toplevel_config::kGlobalNetworkConfiguration, | 350 {::onc::toplevel_config::kGlobalNetworkConfiguration, |
| 357 &kGlobalNetworkConfigurationSignature}, | 351 &kGlobalNetworkConfigurationSignature}, |
| 358 { ::onc::toplevel_config::kType, &kStringSignature}, | 352 {::onc::toplevel_config::kType, &kStringSignature}, |
| 359 { ::onc::encrypted::kCipher, &kStringSignature}, | 353 {::onc::encrypted::kCipher, &kStringSignature}, |
| 360 { ::onc::encrypted::kCiphertext, &kStringSignature}, | 354 {::onc::encrypted::kCiphertext, &kStringSignature}, |
| 361 { ::onc::encrypted::kHMAC, &kStringSignature}, | 355 {::onc::encrypted::kHMAC, &kStringSignature}, |
| 362 { ::onc::encrypted::kHMACMethod, &kStringSignature}, | 356 {::onc::encrypted::kHMACMethod, &kStringSignature}, |
| 363 { ::onc::encrypted::kIV, &kStringSignature}, | 357 {::onc::encrypted::kIV, &kStringSignature}, |
| 364 { ::onc::encrypted::kIterations, &kIntegerSignature}, | 358 {::onc::encrypted::kIterations, &kIntegerSignature}, |
| 365 { ::onc::encrypted::kSalt, &kStringSignature}, | 359 {::onc::encrypted::kSalt, &kStringSignature}, |
| 366 { ::onc::encrypted::kStretch, &kStringSignature}, {NULL}}; | 360 {::onc::encrypted::kStretch, &kStringSignature}, |
| 361 {NULL}}; |
| 367 | 362 |
| 368 } // namespace | 363 } // namespace |
| 369 | 364 |
| 370 const OncValueSignature kRecommendedSignature = { | 365 const OncValueSignature kRecommendedSignature = {base::Value::TYPE_LIST, |
| 371 base::Value::TYPE_LIST, NULL, &kStringSignature | 366 NULL, |
| 372 }; | 367 &kStringSignature}; |
| 373 const OncValueSignature kEAPSignature = { | 368 const OncValueSignature kEAPSignature = {base::Value::TYPE_DICTIONARY, |
| 374 base::Value::TYPE_DICTIONARY, eap_fields, NULL | 369 eap_fields, |
| 375 }; | 370 NULL}; |
| 376 const OncValueSignature kIssuerSubjectPatternSignature = { | 371 const OncValueSignature kIssuerSubjectPatternSignature = { |
| 377 base::Value::TYPE_DICTIONARY, issuer_subject_pattern_fields, NULL | 372 base::Value::TYPE_DICTIONARY, |
| 378 }; | 373 issuer_subject_pattern_fields, |
| 374 NULL}; |
| 379 const OncValueSignature kCertificatePatternSignature = { | 375 const OncValueSignature kCertificatePatternSignature = { |
| 380 base::Value::TYPE_DICTIONARY, certificate_pattern_fields, NULL | 376 base::Value::TYPE_DICTIONARY, |
| 381 }; | 377 certificate_pattern_fields, |
| 382 const OncValueSignature kIPsecSignature = { | 378 NULL}; |
| 383 base::Value::TYPE_DICTIONARY, ipsec_fields, NULL | 379 const OncValueSignature kIPsecSignature = {base::Value::TYPE_DICTIONARY, |
| 384 }; | 380 ipsec_fields, |
| 385 const OncValueSignature kXAUTHSignature = { | 381 NULL}; |
| 386 base::Value::TYPE_DICTIONARY, xauth_fields, NULL | 382 const OncValueSignature kXAUTHSignature = {base::Value::TYPE_DICTIONARY, |
| 387 }; | 383 xauth_fields, |
| 388 const OncValueSignature kL2TPSignature = { | 384 NULL}; |
| 389 base::Value::TYPE_DICTIONARY, l2tp_fields, NULL | 385 const OncValueSignature kL2TPSignature = {base::Value::TYPE_DICTIONARY, |
| 390 }; | 386 l2tp_fields, |
| 391 const OncValueSignature kOpenVPNSignature = { | 387 NULL}; |
| 392 base::Value::TYPE_DICTIONARY, openvpn_fields, NULL | 388 const OncValueSignature kOpenVPNSignature = {base::Value::TYPE_DICTIONARY, |
| 393 }; | 389 openvpn_fields, |
| 394 const OncValueSignature kThirdPartyVPNSignature = { | 390 NULL}; |
| 395 base::Value::TYPE_DICTIONARY, third_party_vpn_fields, NULL | 391 const OncValueSignature kThirdPartyVPNSignature = {base::Value::TYPE_DICTIONARY, |
| 396 }; | 392 third_party_vpn_fields, |
| 397 const OncValueSignature kVerifyX509Signature = { | 393 NULL}; |
| 398 base::Value::TYPE_DICTIONARY, verify_x509_fields, NULL | 394 const OncValueSignature kVerifyX509Signature = {base::Value::TYPE_DICTIONARY, |
| 399 }; | 395 verify_x509_fields, |
| 400 const OncValueSignature kVPNSignature = { | 396 NULL}; |
| 401 base::Value::TYPE_DICTIONARY, vpn_fields, NULL | 397 const OncValueSignature kVPNSignature = {base::Value::TYPE_DICTIONARY, |
| 402 }; | 398 vpn_fields, |
| 403 const OncValueSignature kEthernetSignature = { | 399 NULL}; |
| 404 base::Value::TYPE_DICTIONARY, ethernet_fields, NULL | 400 const OncValueSignature kEthernetSignature = {base::Value::TYPE_DICTIONARY, |
| 405 }; | 401 ethernet_fields, |
| 406 const OncValueSignature kIPConfigSignature = { | 402 NULL}; |
| 407 base::Value::TYPE_DICTIONARY, ipconfig_fields, NULL | 403 const OncValueSignature kIPConfigSignature = {base::Value::TYPE_DICTIONARY, |
| 408 }; | 404 ipconfig_fields, |
| 409 const OncValueSignature kSavedIPConfigSignature = { | 405 NULL}; |
| 410 base::Value::TYPE_DICTIONARY, ipconfig_fields, NULL | 406 const OncValueSignature kSavedIPConfigSignature = {base::Value::TYPE_DICTIONARY, |
| 411 }; | 407 ipconfig_fields, |
| 408 NULL}; |
| 412 const OncValueSignature kStaticIPConfigSignature = { | 409 const OncValueSignature kStaticIPConfigSignature = { |
| 413 base::Value::TYPE_DICTIONARY, ipconfig_fields, NULL | 410 base::Value::TYPE_DICTIONARY, |
| 414 }; | 411 ipconfig_fields, |
| 415 const OncValueSignature kProxyLocationSignature = { | 412 NULL}; |
| 416 base::Value::TYPE_DICTIONARY, proxy_location_fields, NULL | 413 const OncValueSignature kProxyLocationSignature = {base::Value::TYPE_DICTIONARY, |
| 417 }; | 414 proxy_location_fields, |
| 418 const OncValueSignature kProxyManualSignature = { | 415 NULL}; |
| 419 base::Value::TYPE_DICTIONARY, proxy_manual_fields, NULL | 416 const OncValueSignature kProxyManualSignature = {base::Value::TYPE_DICTIONARY, |
| 420 }; | 417 proxy_manual_fields, |
| 421 const OncValueSignature kProxySettingsSignature = { | 418 NULL}; |
| 422 base::Value::TYPE_DICTIONARY, proxy_settings_fields, NULL | 419 const OncValueSignature kProxySettingsSignature = {base::Value::TYPE_DICTIONARY, |
| 423 }; | 420 proxy_settings_fields, |
| 424 const OncValueSignature kWiFiSignature = { | 421 NULL}; |
| 425 base::Value::TYPE_DICTIONARY, wifi_fields, NULL | 422 const OncValueSignature kWiFiSignature = {base::Value::TYPE_DICTIONARY, |
| 426 }; | 423 wifi_fields, |
| 427 const OncValueSignature kWiMAXSignature = { | 424 NULL}; |
| 428 base::Value::TYPE_DICTIONARY, wimax_fields, NULL | 425 const OncValueSignature kWiMAXSignature = {base::Value::TYPE_DICTIONARY, |
| 429 }; | 426 wimax_fields, |
| 430 const OncValueSignature kCertificateSignature = { | 427 NULL}; |
| 431 base::Value::TYPE_DICTIONARY, certificate_fields, NULL | 428 const OncValueSignature kCertificateSignature = {base::Value::TYPE_DICTIONARY, |
| 432 }; | 429 certificate_fields, |
| 430 NULL}; |
| 433 const OncValueSignature kNetworkConfigurationSignature = { | 431 const OncValueSignature kNetworkConfigurationSignature = { |
| 434 base::Value::TYPE_DICTIONARY, network_configuration_fields, NULL | 432 base::Value::TYPE_DICTIONARY, |
| 435 }; | 433 network_configuration_fields, |
| 434 NULL}; |
| 436 const OncValueSignature kGlobalNetworkConfigurationSignature = { | 435 const OncValueSignature kGlobalNetworkConfigurationSignature = { |
| 437 base::Value::TYPE_DICTIONARY, global_network_configuration_fields, NULL | 436 base::Value::TYPE_DICTIONARY, |
| 438 }; | 437 global_network_configuration_fields, |
| 439 const OncValueSignature kCertificateListSignature = { | 438 NULL}; |
| 440 base::Value::TYPE_LIST, NULL, &kCertificateSignature | 439 const OncValueSignature kCertificateListSignature = {base::Value::TYPE_LIST, |
| 441 }; | 440 NULL, |
| 441 &kCertificateSignature}; |
| 442 const OncValueSignature kNetworkConfigurationListSignature = { | 442 const OncValueSignature kNetworkConfigurationListSignature = { |
| 443 base::Value::TYPE_LIST, NULL, &kNetworkConfigurationSignature | 443 base::Value::TYPE_LIST, |
| 444 }; | 444 NULL, |
| 445 &kNetworkConfigurationSignature}; |
| 445 const OncValueSignature kToplevelConfigurationSignature = { | 446 const OncValueSignature kToplevelConfigurationSignature = { |
| 446 base::Value::TYPE_DICTIONARY, toplevel_configuration_fields, NULL | 447 base::Value::TYPE_DICTIONARY, |
| 447 }; | 448 toplevel_configuration_fields, |
| 449 NULL}; |
| 448 | 450 |
| 449 // Derived "ONC with State" signatures. | 451 // Derived "ONC with State" signatures. |
| 450 const OncValueSignature kNetworkWithStateSignature = { | 452 const OncValueSignature kNetworkWithStateSignature = { |
| 451 base::Value::TYPE_DICTIONARY, network_with_state_fields, NULL, | 453 base::Value::TYPE_DICTIONARY, |
| 452 &kNetworkConfigurationSignature | 454 network_with_state_fields, |
| 453 }; | 455 NULL, |
| 454 const OncValueSignature kWiFiWithStateSignature = { | 456 &kNetworkConfigurationSignature}; |
| 455 base::Value::TYPE_DICTIONARY, wifi_with_state_fields, NULL, &kWiFiSignature | 457 const OncValueSignature kWiFiWithStateSignature = {base::Value::TYPE_DICTIONARY, |
| 456 }; | 458 wifi_with_state_fields, |
| 459 NULL, |
| 460 &kWiFiSignature}; |
| 457 const OncValueSignature kWiMAXWithStateSignature = { | 461 const OncValueSignature kWiMAXWithStateSignature = { |
| 458 base::Value::TYPE_DICTIONARY, wimax_with_state_fields, NULL, &kWiMAXSignature | 462 base::Value::TYPE_DICTIONARY, |
| 459 }; | 463 wimax_with_state_fields, |
| 460 const OncValueSignature kCellularSignature = { | 464 NULL, |
| 461 base::Value::TYPE_DICTIONARY, cellular_fields, NULL | 465 &kWiMAXSignature}; |
| 462 }; | 466 const OncValueSignature kCellularSignature = {base::Value::TYPE_DICTIONARY, |
| 467 cellular_fields, |
| 468 NULL}; |
| 463 const OncValueSignature kCellularWithStateSignature = { | 469 const OncValueSignature kCellularWithStateSignature = { |
| 464 base::Value::TYPE_DICTIONARY, cellular_with_state_fields, NULL, | 470 base::Value::TYPE_DICTIONARY, |
| 465 &kCellularSignature | 471 cellular_with_state_fields, |
| 466 }; | 472 NULL, |
| 473 &kCellularSignature}; |
| 467 const OncValueSignature kCellularProviderSignature = { | 474 const OncValueSignature kCellularProviderSignature = { |
| 468 base::Value::TYPE_DICTIONARY, cellular_provider_fields, NULL | 475 base::Value::TYPE_DICTIONARY, |
| 469 }; | 476 cellular_provider_fields, |
| 470 const OncValueSignature kCellularApnSignature = { | 477 NULL}; |
| 471 base::Value::TYPE_DICTIONARY, cellular_apn_fields, NULL | 478 const OncValueSignature kCellularApnSignature = {base::Value::TYPE_DICTIONARY, |
| 472 }; | 479 cellular_apn_fields, |
| 480 NULL}; |
| 473 const OncValueSignature kCellularFoundNetworkSignature = { | 481 const OncValueSignature kCellularFoundNetworkSignature = { |
| 474 base::Value::TYPE_DICTIONARY, cellular_found_network_fields, NULL | 482 base::Value::TYPE_DICTIONARY, |
| 475 }; | 483 cellular_found_network_fields, |
| 476 const OncValueSignature kSIMLockStatusSignature = { | 484 NULL}; |
| 477 base::Value::TYPE_DICTIONARY, sim_lock_status_fields, NULL | 485 const OncValueSignature kSIMLockStatusSignature = {base::Value::TYPE_DICTIONARY, |
| 478 }; | 486 sim_lock_status_fields, |
| 487 NULL}; |
| 479 | 488 |
| 480 const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature, | 489 const OncFieldSignature* GetFieldSignature(const OncValueSignature& signature, |
| 481 const std::string& onc_field_name) { | 490 const std::string& onc_field_name) { |
| 482 if (!signature.fields) | 491 if (!signature.fields) |
| 483 return NULL; | 492 return NULL; |
| 484 for (const OncFieldSignature* field_signature = signature.fields; | 493 for (const OncFieldSignature* field_signature = signature.fields; |
| 485 field_signature->onc_field_name != NULL; ++field_signature) { | 494 field_signature->onc_field_name != NULL; ++field_signature) { |
| 486 if (onc_field_name == field_signature->onc_field_name) | 495 if (onc_field_name == field_signature->onc_field_name) |
| 487 return field_signature; | 496 return field_signature; |
| 488 } | 497 } |
| (...skipping 29 matching lines...) Expand all Loading... |
| 518 if (&signature == entry->value_signature && | 527 if (&signature == entry->value_signature && |
| 519 onc_field_name == entry->field_name) { | 528 onc_field_name == entry->field_name) { |
| 520 return true; | 529 return true; |
| 521 } | 530 } |
| 522 } | 531 } |
| 523 return false; | 532 return false; |
| 524 } | 533 } |
| 525 | 534 |
| 526 } // namespace onc | 535 } // namespace onc |
| 527 } // namespace chromeos | 536 } // namespace chromeos |
| OLD | NEW |