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

Unified 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: 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 side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698