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_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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |