Chromium Code Reviews| 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 = | |
| 688 RequireField(*result, kName) & RequireField(*result, kType); | |
|
bartfab (slow)
2013/11/07 10:48:56
Nit: &&
pneubeck (no reviews)
2013/11/11 11:53:43
Done.
| |
| 689 | |
| 690 return !error_on_missing_field_ || allRequiredExist; | |
| 691 } | |
| 692 | |
| 675 bool Validator::ValidateCertificatePattern( | 693 bool Validator::ValidateCertificatePattern( |
| 676 const base::DictionaryValue& onc_object, | 694 const base::DictionaryValue& onc_object, |
| 677 base::DictionaryValue* result) { | 695 base::DictionaryValue* result) { |
| 678 using namespace ::onc::certificate; | 696 using namespace ::onc::certificate; |
| 679 | 697 |
| 680 bool allRequiredExist = true; | 698 bool allRequiredExist = true; |
| 681 if (!result->HasKey(kSubject) && !result->HasKey(kIssuer) && | 699 if (!result->HasKey(kSubject) && !result->HasKey(kIssuer) && |
| 682 !result->HasKey(kIssuerCARef)) { | 700 !result->HasKey(kIssuerCARef)) { |
| 683 error_or_warning_found_ = true; | 701 error_or_warning_found_ = true; |
| 684 allRequiredExist = false; | 702 allRequiredExist = false; |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 796 } | 814 } |
| 797 | 815 |
| 798 std::string Validator::MessageHeader() { | 816 std::string Validator::MessageHeader() { |
| 799 std::string path = path_.empty() ? "toplevel" : JoinString(path_, "."); | 817 std::string path = path_.empty() ? "toplevel" : JoinString(path_, "."); |
| 800 std::string message = "At " + path + ": "; | 818 std::string message = "At " + path + ": "; |
| 801 return message; | 819 return message; |
| 802 } | 820 } |
| 803 | 821 |
| 804 } // namespace onc | 822 } // namespace onc |
| 805 } // namespace chromeos | 823 } // namespace chromeos |
| OLD | NEW |