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

Unified Diff: chrome/browser/chromeos/cros/onc_network_parser.cc

Issue 10868076: Only import certificates with Web trust from ONC if the user is managed and matches the enterprise … (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 4 months 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: chrome/browser/chromeos/cros/onc_network_parser.cc
diff --git a/chrome/browser/chromeos/cros/onc_network_parser.cc b/chrome/browser/chromeos/cros/onc_network_parser.cc
index 8814d0cb3d1dddf57500882a572486c78d74a33e..9986ddf7a4cc0375416ee0f7050b70fcf8ec6904 100644
--- a/chrome/browser/chromeos/cros/onc_network_parser.cc
+++ b/chrome/browser/chromeos/cros/onc_network_parser.cc
@@ -282,6 +282,7 @@ OncNetworkParser::OncNetworkParser(const std::string& onc_blob,
NetworkUIData::ONCSource onc_source)
: NetworkParser(get_onc_mapper()),
onc_source_(onc_source),
+ allow_web_trust_from_policy_(false),
network_configs_(NULL),
certificates_(NULL) {
VLOG(2) << __func__ << ": OncNetworkParser called on " << onc_blob;
@@ -329,6 +330,10 @@ const EnumMapper<PropertyIndex>* OncNetworkParser::property_mapper() {
return get_onc_mapper();
}
+void OncNetworkParser::AllowWebTrustFromPolicy() {
Mattias Nissler (ping if slow) 2012/08/28 11:57:56 Make this a regular setter? When I read the declar
Joao da Silva 2012/09/03 15:24:32 Turned into a setter.
+ allow_web_trust_from_policy_ = true;
+}
+
base::DictionaryValue* OncNetworkParser::Decrypt(
const std::string& passphrase,
base::DictionaryValue* root) {
@@ -850,6 +855,16 @@ OncNetworkParser::ParseServerOrCaCertificate(
}
}
+ if (web_trust &&
+ (onc_source_ == NetworkUIData::ONC_SOURCE_DEVICE_POLICY ||
+ onc_source_ == NetworkUIData::ONC_SOURCE_USER_POLICY) &&
+ !allow_web_trust_from_policy_) {
+ LOG(WARNING) << "Web trust not granted";
+ parse_error_ = l10n_util::GetStringUTF8(
+ IDS_NETWORK_CONFIG_ERROR_WEB_TRUST_NOT_ALLOWED);
+ return NULL;
Mattias Nissler (ping if slow) 2012/08/28 11:57:56 I don't think this is a good idea, as it'll abort
Joao da Silva 2012/09/03 15:24:32 You're right, thanks! This is now dropping the web
+ }
+
std::string x509_data;
if (!certificate->GetString("X509", &x509_data) || x509_data.empty()) {
LOG(WARNING) << "ONC File: certificate missing appropriate "

Powered by Google App Engine
This is Rietveld 408576698