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

Side by Side Diff: chromeos/network/onc/onc_signature.cc

Issue 16946002: Resolve certificate references in ONC by PEM. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Support CACert PEM list for L2tp. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 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 27 matching lines...) Expand all
38 { certificate::kOrganization, &kStringSignature }, 38 { certificate::kOrganization, &kStringSignature },
39 { certificate::kOrganizationalUnit, &kStringSignature }, 39 { certificate::kOrganizationalUnit, &kStringSignature },
40 { NULL } 40 { NULL }
41 }; 41 };
42 42
43 const OncFieldSignature certificate_pattern_fields[] = { 43 const OncFieldSignature certificate_pattern_fields[] = {
44 { kRecommended, &kRecommendedSignature }, 44 { kRecommended, &kRecommendedSignature },
45 { certificate::kEnrollmentURI, &kStringListSignature }, 45 { certificate::kEnrollmentURI, &kStringListSignature },
46 { certificate::kIssuer, &kIssuerSubjectPatternSignature }, 46 { certificate::kIssuer, &kIssuerSubjectPatternSignature },
47 { certificate::kIssuerCARef, &kStringListSignature }, 47 { certificate::kIssuerCARef, &kStringListSignature },
48 { certificate::kIssuerCAPEMs, &kStringListSignature },
48 { certificate::kSubject, &kIssuerSubjectPatternSignature }, 49 { certificate::kSubject, &kIssuerSubjectPatternSignature },
49 { NULL } 50 { NULL }
50 }; 51 };
51 52
52 const OncFieldSignature eap_fields[] = { 53 const OncFieldSignature eap_fields[] = {
53 { kRecommended, &kRecommendedSignature }, 54 { kRecommended, &kRecommendedSignature },
54 { eap::kAnonymousIdentity, &kStringSignature }, 55 { eap::kAnonymousIdentity, &kStringSignature },
55 { eap::kClientCertPattern, &kCertificatePatternSignature }, 56 { eap::kClientCertPattern, &kCertificatePatternSignature },
56 { eap::kClientCertRef, &kStringSignature }, 57 { eap::kClientCertRef, &kStringSignature },
57 { eap::kClientCertType, &kStringSignature }, 58 { eap::kClientCertType, &kStringSignature },
58 { eap::kIdentity, &kStringSignature }, 59 { eap::kIdentity, &kStringSignature },
59 { eap::kInner, &kStringSignature }, 60 { eap::kInner, &kStringSignature },
60 { eap::kOuter, &kStringSignature }, 61 { eap::kOuter, &kStringSignature },
61 { eap::kPassword, &kStringSignature }, 62 { eap::kPassword, &kStringSignature },
62 { eap::kSaveCredentials, &kBoolSignature }, 63 { eap::kSaveCredentials, &kBoolSignature },
64 { eap::kServerCAPEMs, &kStringListSignature },
63 { eap::kServerCARef, &kStringSignature }, 65 { eap::kServerCARef, &kStringSignature },
64 { eap::kUseSystemCAs, &kBoolSignature }, 66 { eap::kUseSystemCAs, &kBoolSignature },
65 { NULL } 67 { NULL }
66 }; 68 };
67 69
68 const OncFieldSignature ipsec_fields[] = { 70 const OncFieldSignature ipsec_fields[] = {
69 { kRecommended, &kRecommendedSignature }, 71 { kRecommended, &kRecommendedSignature },
70 { vpn::kAuthenticationType, &kStringSignature }, 72 { ipsec::kAuthenticationType, &kStringSignature },
71 { vpn::kClientCertPattern, &kCertificatePatternSignature }, 73 { vpn::kClientCertPattern, &kCertificatePatternSignature },
72 { vpn::kClientCertRef, &kStringSignature }, 74 { vpn::kClientCertRef, &kStringSignature },
73 { vpn::kClientCertType, &kStringSignature }, 75 { vpn::kClientCertType, &kStringSignature },
74 { vpn::kGroup, &kStringSignature }, 76 { ipsec::kGroup, &kStringSignature },
75 { vpn::kIKEVersion, &kIntegerSignature }, 77 { ipsec::kIKEVersion, &kIntegerSignature },
76 { vpn::kPSK, &kStringSignature }, 78 { ipsec::kPSK, &kStringSignature },
77 { vpn::kSaveCredentials, &kBoolSignature }, 79 { vpn::kSaveCredentials, &kBoolSignature },
78 { vpn::kServerCARef, &kStringSignature }, 80 { ipsec::kServerCAPEMs, &kStringSignature },
81 { ipsec::kServerCARef, &kStringSignature },
79 // Not yet supported. 82 // Not yet supported.
80 // { vpn::kEAP, &kEAPSignature }, 83 // { ipsec::kEAP, &kEAPSignature },
81 // { vpn::kXAUTH, &kXAUTHSignature }, 84 // { ipsec::kXAUTH, &kXAUTHSignature },
82 { NULL } 85 { NULL }
83 }; 86 };
84 87
85 const OncFieldSignature l2tp_fields[] = { 88 const OncFieldSignature l2tp_fields[] = {
86 { kRecommended, &kRecommendedSignature }, 89 { kRecommended, &kRecommendedSignature },
87 { vpn::kPassword, &kStringSignature }, 90 { vpn::kPassword, &kStringSignature },
88 { vpn::kSaveCredentials, &kBoolSignature }, 91 { vpn::kSaveCredentials, &kBoolSignature },
89 { vpn::kUsername, &kStringSignature }, 92 { vpn::kUsername, &kStringSignature },
90 { NULL } 93 { NULL }
91 }; 94 };
(...skipping 13 matching lines...) Expand all
105 { vpn::kNsCertType, &kStringSignature }, 108 { vpn::kNsCertType, &kStringSignature },
106 { vpn::kPassword, &kStringSignature }, 109 { vpn::kPassword, &kStringSignature },
107 { vpn::kPort, &kIntegerSignature }, 110 { vpn::kPort, &kIntegerSignature },
108 { vpn::kProto, &kStringSignature }, 111 { vpn::kProto, &kStringSignature },
109 { vpn::kPushPeerInfo, &kBoolSignature }, 112 { vpn::kPushPeerInfo, &kBoolSignature },
110 { vpn::kRemoteCertEKU, &kStringSignature }, 113 { vpn::kRemoteCertEKU, &kStringSignature },
111 { vpn::kRemoteCertKU, &kStringListSignature }, 114 { vpn::kRemoteCertKU, &kStringListSignature },
112 { vpn::kRemoteCertTLS, &kStringSignature }, 115 { vpn::kRemoteCertTLS, &kStringSignature },
113 { vpn::kRenegSec, &kIntegerSignature }, 116 { vpn::kRenegSec, &kIntegerSignature },
114 { vpn::kSaveCredentials, &kBoolSignature }, 117 { vpn::kSaveCredentials, &kBoolSignature },
115 { vpn::kServerCARef, &kStringSignature }, 118 { openvpn::kServerCAPEMs, &kStringListSignature },
119 { openvpn::kServerCARef, &kStringSignature },
116 // Not supported, yet. 120 // Not supported, yet.
121 { vpn::kServerCertPEM, &kStringSignature },
117 { vpn::kServerCertRef, &kStringSignature }, 122 { vpn::kServerCertRef, &kStringSignature },
118 { vpn::kServerPollTimeout, &kIntegerSignature }, 123 { vpn::kServerPollTimeout, &kIntegerSignature },
119 { vpn::kShaper, &kIntegerSignature }, 124 { vpn::kShaper, &kIntegerSignature },
120 { vpn::kStaticChallenge, &kStringSignature }, 125 { vpn::kStaticChallenge, &kStringSignature },
121 { vpn::kTLSAuthContents, &kStringSignature }, 126 { vpn::kTLSAuthContents, &kStringSignature },
122 { vpn::kTLSRemote, &kStringSignature }, 127 { vpn::kTLSRemote, &kStringSignature },
123 { vpn::kUsername, &kStringSignature }, 128 { vpn::kUsername, &kStringSignature },
124 // Not supported, yet. 129 // Not supported, yet.
125 { vpn::kVerb, &kStringSignature }, 130 { vpn::kVerb, &kStringSignature },
126 { NULL } 131 { NULL }
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 379
375 namespace { 380 namespace {
376 381
377 struct CredentialEntry { 382 struct CredentialEntry {
378 const OncValueSignature* value_signature; 383 const OncValueSignature* value_signature;
379 const char* field_name; 384 const char* field_name;
380 }; 385 };
381 386
382 const CredentialEntry credentials[] = { 387 const CredentialEntry credentials[] = {
383 { &kEAPSignature, onc::eap::kPassword }, 388 { &kEAPSignature, onc::eap::kPassword },
384 { &kIPsecSignature, onc::vpn::kPSK }, 389 { &kIPsecSignature, onc::ipsec::kPSK },
385 { &kL2TPSignature, onc::vpn::kPassword }, 390 { &kL2TPSignature, onc::vpn::kPassword },
386 { &kOpenVPNSignature, onc::vpn::kPassword }, 391 { &kOpenVPNSignature, onc::vpn::kPassword },
387 { &kOpenVPNSignature, onc::vpn::kTLSAuthContents }, 392 { &kOpenVPNSignature, onc::vpn::kTLSAuthContents },
388 { &kWiFiSignature, onc::wifi::kPassphrase }, 393 { &kWiFiSignature, onc::wifi::kPassphrase },
389 { NULL } 394 { NULL }
390 }; 395 };
391 396
392 } // namespace 397 } // namespace
393 398
394 bool FieldIsCredential(const OncValueSignature& signature, 399 bool FieldIsCredential(const OncValueSignature& signature,
395 const std::string& onc_field_name) { 400 const std::string& onc_field_name) {
396 for (const CredentialEntry* entry = credentials; 401 for (const CredentialEntry* entry = credentials;
397 entry->value_signature != NULL; ++entry) { 402 entry->value_signature != NULL; ++entry) {
398 if (&signature == entry->value_signature && 403 if (&signature == entry->value_signature &&
399 onc_field_name == entry->field_name) { 404 onc_field_name == entry->field_name) {
400 return true; 405 return true;
401 } 406 }
402 } 407 }
403 return false; 408 return false;
404 } 409 }
405 410
406 } // namespace onc 411 } // namespace onc
407 } // namespace chromeos 412 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698