Chromium Code Reviews| Index: chromeos/network/onc/onc_validator.cc |
| diff --git a/chromeos/network/onc/onc_validator.cc b/chromeos/network/onc/onc_validator.cc |
| index 29e58ac7b53797ab4bed815e2a7d536eb00bb151..3c9480b60dd9802c720d68445c4c887120788d94 100644 |
| --- a/chromeos/network/onc/onc_validator.cc |
| +++ b/chromeos/network/onc/onc_validator.cc |
| @@ -132,6 +132,8 @@ scoped_ptr<base::DictionaryValue> Validator::MapObject( |
| valid = ValidateIPsec(onc_object, repaired.get()); |
| else if (&signature == &kOpenVPNSignature) |
| valid = ValidateOpenVPN(onc_object, repaired.get()); |
| + else if (&signature == &kVerifyX509Signature) |
| + valid = ValidateVerifyX509(onc_object, repaired.get()); |
| else if (&signature == &kCertificatePatternSignature) |
| valid = ValidateCertificatePattern(onc_object, repaired.get()); |
| else if (&signature == &kProxySettingsSignature) |
| @@ -672,6 +674,22 @@ bool Validator::ValidateOpenVPN( |
| return !error_on_missing_field_ || allRequiredExist; |
| } |
| +bool Validator::ValidateVerifyX509(const base::DictionaryValue& onc_object, |
| + base::DictionaryValue* result) { |
| + using namespace ::onc::verify_x509; |
| + |
| + static const char* kValidTypeValues[] = |
| + {types::kName, types::kNamePrefix, types::kSubject, NULL}; |
| + |
| + if (FieldExistsAndHasNoValidValue(*result, kType, kValidTypeValues)) |
| + return false; |
| + |
| + bool allRequiredExist = |
| + 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.
|
| + |
| + return !error_on_missing_field_ || allRequiredExist; |
| +} |
| + |
| bool Validator::ValidateCertificatePattern( |
| const base::DictionaryValue& onc_object, |
| base::DictionaryValue* result) { |