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

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

Issue 61903002: ChromeOS: Add more host verification options for OpenVpn. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 7 years, 1 month 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
« no previous file with comments | « chromeos/network/onc/onc_validator.h ('k') | chromeos/network/onc/onc_validator_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_validator.h" 5 #include "chromeos/network/onc/onc_validator.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 else if (&signature == &kIPConfigSignature) 119 else if (&signature == &kIPConfigSignature)
120 valid = ValidateIPConfig(onc_object, repaired.get()); 120 valid = ValidateIPConfig(onc_object, repaired.get());
121 else if (&signature == &kWiFiSignature) 121 else if (&signature == &kWiFiSignature)
122 valid = ValidateWiFi(onc_object, repaired.get()); 122 valid = ValidateWiFi(onc_object, repaired.get());
123 else if (&signature == &kVPNSignature) 123 else if (&signature == &kVPNSignature)
124 valid = ValidateVPN(onc_object, repaired.get()); 124 valid = ValidateVPN(onc_object, repaired.get());
125 else if (&signature == &kIPsecSignature) 125 else if (&signature == &kIPsecSignature)
126 valid = ValidateIPsec(onc_object, repaired.get()); 126 valid = ValidateIPsec(onc_object, repaired.get());
127 else if (&signature == &kOpenVPNSignature) 127 else if (&signature == &kOpenVPNSignature)
128 valid = ValidateOpenVPN(onc_object, repaired.get()); 128 valid = ValidateOpenVPN(onc_object, repaired.get());
129 else if (&signature == &kVerifyX509Signature)
130 valid = ValidateVerifyX509(onc_object, repaired.get());
129 else if (&signature == &kCertificatePatternSignature) 131 else if (&signature == &kCertificatePatternSignature)
130 valid = ValidateCertificatePattern(onc_object, repaired.get()); 132 valid = ValidateCertificatePattern(onc_object, repaired.get());
131 else if (&signature == &kProxySettingsSignature) 133 else if (&signature == &kProxySettingsSignature)
132 valid = ValidateProxySettings(onc_object, repaired.get()); 134 valid = ValidateProxySettings(onc_object, repaired.get());
133 else if (&signature == &kProxyLocationSignature) 135 else if (&signature == &kProxyLocationSignature)
134 valid = ValidateProxyLocation(onc_object, repaired.get()); 136 valid = ValidateProxyLocation(onc_object, repaired.get());
135 else if (&signature == &kEAPSignature) 137 else if (&signature == &kEAPSignature)
136 valid = ValidateEAP(onc_object, repaired.get()); 138 valid = ValidateEAP(onc_object, repaired.get());
137 else if (&signature == &kCertificateSignature) 139 else if (&signature == &kCertificateSignature)
138 valid = ValidateCertificate(onc_object, repaired.get()); 140 valid = ValidateCertificate(onc_object, repaired.get());
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 return false; 661 return false;
660 662
661 if (cert_type == kPattern) 663 if (cert_type == kPattern)
662 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertPattern); 664 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertPattern);
663 else if (cert_type == kRef) 665 else if (cert_type == kRef)
664 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertRef); 666 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertRef);
665 667
666 return !error_on_missing_field_ || allRequiredExist; 668 return !error_on_missing_field_ || allRequiredExist;
667 } 669 }
668 670
671 bool Validator::ValidateVerifyX509(const base::DictionaryValue& onc_object,
672 base::DictionaryValue* result) {
673 using namespace ::onc::verify_x509;
674
675 static const char* kValidTypeValues[] =
676 {types::kName, types::kNamePrefix, types::kSubject, NULL};
677
678 if (FieldExistsAndHasNoValidValue(*result, kType, kValidTypeValues))
679 return false;
680
681 bool allRequiredExist = RequireField(*result, kName);
682
683 return !error_on_missing_field_ || allRequiredExist;
684 }
685
669 bool Validator::ValidateCertificatePattern( 686 bool Validator::ValidateCertificatePattern(
670 const base::DictionaryValue& onc_object, 687 const base::DictionaryValue& onc_object,
671 base::DictionaryValue* result) { 688 base::DictionaryValue* result) {
672 using namespace ::onc::certificate; 689 using namespace ::onc::certificate;
673 690
674 bool allRequiredExist = true; 691 bool allRequiredExist = true;
675 if (!result->HasKey(kSubject) && !result->HasKey(kIssuer) && 692 if (!result->HasKey(kSubject) && !result->HasKey(kIssuer) &&
676 !result->HasKey(kIssuerCARef)) { 693 !result->HasKey(kIssuerCARef)) {
677 error_or_warning_found_ = true; 694 error_or_warning_found_ = true;
678 allRequiredExist = false; 695 allRequiredExist = false;
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 } 807 }
791 808
792 std::string Validator::MessageHeader() { 809 std::string Validator::MessageHeader() {
793 std::string path = path_.empty() ? "toplevel" : JoinString(path_, "."); 810 std::string path = path_.empty() ? "toplevel" : JoinString(path_, ".");
794 std::string message = "At " + path + ": "; 811 std::string message = "At " + path + ": ";
795 return message; 812 return message;
796 } 813 }
797 814
798 } // namespace onc 815 } // namespace onc
799 } // namespace chromeos 816 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/onc/onc_validator.h ('k') | chromeos/network/onc/onc_validator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698