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

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: Made 'type' optional. More tests. 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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 else if (&signature == &kIPConfigSignature) 125 else if (&signature == &kIPConfigSignature)
126 valid = ValidateIPConfig(onc_object, repaired.get()); 126 valid = ValidateIPConfig(onc_object, repaired.get());
127 else if (&signature == &kWiFiSignature) 127 else if (&signature == &kWiFiSignature)
128 valid = ValidateWiFi(onc_object, repaired.get()); 128 valid = ValidateWiFi(onc_object, repaired.get());
129 else if (&signature == &kVPNSignature) 129 else if (&signature == &kVPNSignature)
130 valid = ValidateVPN(onc_object, repaired.get()); 130 valid = ValidateVPN(onc_object, repaired.get());
131 else if (&signature == &kIPsecSignature) 131 else if (&signature == &kIPsecSignature)
132 valid = ValidateIPsec(onc_object, repaired.get()); 132 valid = ValidateIPsec(onc_object, repaired.get());
133 else if (&signature == &kOpenVPNSignature) 133 else if (&signature == &kOpenVPNSignature)
134 valid = ValidateOpenVPN(onc_object, repaired.get()); 134 valid = ValidateOpenVPN(onc_object, repaired.get());
135 else if (&signature == &kVerifyX509Signature)
136 valid = ValidateVerifyX509(onc_object, repaired.get());
135 else if (&signature == &kCertificatePatternSignature) 137 else if (&signature == &kCertificatePatternSignature)
136 valid = ValidateCertificatePattern(onc_object, repaired.get()); 138 valid = ValidateCertificatePattern(onc_object, repaired.get());
137 else if (&signature == &kProxySettingsSignature) 139 else if (&signature == &kProxySettingsSignature)
138 valid = ValidateProxySettings(onc_object, repaired.get()); 140 valid = ValidateProxySettings(onc_object, repaired.get());
139 else if (&signature == &kProxyLocationSignature) 141 else if (&signature == &kProxyLocationSignature)
140 valid = ValidateProxyLocation(onc_object, repaired.get()); 142 valid = ValidateProxyLocation(onc_object, repaired.get());
141 else if (&signature == &kEAPSignature) 143 else if (&signature == &kEAPSignature)
142 valid = ValidateEAP(onc_object, repaired.get()); 144 valid = ValidateEAP(onc_object, repaired.get());
143 else if (&signature == &kCertificateSignature) 145 else if (&signature == &kCertificateSignature)
144 valid = ValidateCertificate(onc_object, repaired.get()); 146 valid = ValidateCertificate(onc_object, repaired.get());
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 return false; 667 return false;
666 668
667 if (cert_type == kPattern) 669 if (cert_type == kPattern)
668 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertPattern); 670 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertPattern);
669 else if (cert_type == kRef) 671 else if (cert_type == kRef)
670 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertRef); 672 allRequiredExist &= RequireField(*result, ::onc::vpn::kClientCertRef);
671 673
672 return !error_on_missing_field_ || allRequiredExist; 674 return !error_on_missing_field_ || allRequiredExist;
673 } 675 }
674 676
677 bool Validator::ValidateVerifyX509(const base::DictionaryValue& onc_object,
678 base::DictionaryValue* result) {
679 using namespace ::onc::verify_x509;
680
681 static const char* kValidTypeValues[] =
682 {types::kName, types::kNamePrefix, types::kSubject, NULL};
683
684 if (FieldExistsAndHasNoValidValue(*result, kType, kValidTypeValues))
685 return false;
686
687 bool allRequiredExist = RequireField(*result, kName);
armansito 2013/11/11 20:01:41 nit: s/allRequiredExist/all_required_exist. You co
pneubeck (no reviews) 2013/11/12 13:11:04 Good point. Actually, the intended behavior is: if
688
689 return !error_on_missing_field_ || allRequiredExist;
690 }
691
675 bool Validator::ValidateCertificatePattern( 692 bool Validator::ValidateCertificatePattern(
676 const base::DictionaryValue& onc_object, 693 const base::DictionaryValue& onc_object,
677 base::DictionaryValue* result) { 694 base::DictionaryValue* result) {
678 using namespace ::onc::certificate; 695 using namespace ::onc::certificate;
679 696
680 bool allRequiredExist = true; 697 bool allRequiredExist = true;
681 if (!result->HasKey(kSubject) && !result->HasKey(kIssuer) && 698 if (!result->HasKey(kSubject) && !result->HasKey(kIssuer) &&
682 !result->HasKey(kIssuerCARef)) { 699 !result->HasKey(kIssuerCARef)) {
683 error_or_warning_found_ = true; 700 error_or_warning_found_ = true;
684 allRequiredExist = false; 701 allRequiredExist = false;
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 } 813 }
797 814
798 std::string Validator::MessageHeader() { 815 std::string Validator::MessageHeader() {
799 std::string path = path_.empty() ? "toplevel" : JoinString(path_, "."); 816 std::string path = path_.empty() ? "toplevel" : JoinString(path_, ".");
800 std::string message = "At " + path + ": "; 817 std::string message = "At " + path + ": ";
801 return message; 818 return message;
802 } 819 }
803 820
804 } // namespace onc 821 } // namespace onc
805 } // namespace chromeos 822 } // 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