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 |