Index: chrome/browser/chromeos/cros/onc_network_parser.cc |
=================================================================== |
--- chrome/browser/chromeos/cros/onc_network_parser.cc (revision 114527) |
+++ chrome/browser/chromeos/cros/onc_network_parser.cc (working copy) |
@@ -16,13 +16,11 @@ |
#include "chrome/browser/chromeos/cros/native_network_parser.h" |
#include "chrome/browser/chromeos/cros/network_library.h" |
#include "chrome/common/net/x509_certificate_model.h" |
-#include "grit/generated_resources.h" |
#include "net/base/cert_database.h" |
#include "net/base/crypto_module.h" |
#include "net/base/net_errors.h" |
#include "net/base/x509_certificate.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
-#include "ui/base/l10n/l10n_util.h" |
namespace chromeos { |
@@ -237,13 +235,10 @@ |
int cert_index) { |
CHECK(certificates_); |
CHECK(static_cast<size_t>(cert_index) < certificates_->GetSize()); |
- CHECK_GE(cert_index, 0); |
+ CHECK(cert_index >= 0); |
base::DictionaryValue* certificate = NULL; |
- if (!certificates_->GetDictionary(cert_index, &certificate)) { |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DATA_MALFORMED); |
- return NULL; |
- } |
+ certificates_->GetDictionary(cert_index, &certificate); |
+ CHECK(certificate); |
if (VLOG_IS_ON(2)) { |
std::string certificate_json; |
@@ -259,8 +254,6 @@ |
if (!certificate->GetString("GUID", &guid) || guid.empty()) { |
LOG(WARNING) << "ONC File: certificate missing identifier at index" |
<< cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_GUID_MISSING); |
return NULL; |
} |
@@ -269,10 +262,9 @@ |
net::CertDatabase cert_database; |
if (remove) { |
- if (!DeleteCertAndKeyByNickname(guid)) { |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DELETE); |
- } |
+ bool success = DeleteCertAndKeyByNickname(guid); |
+ DCHECK(success); |
+ // TODO(gspencer): return removed certificate? |
return NULL; |
} |
@@ -288,22 +280,15 @@ |
LOG(WARNING) << "ONC File: certificate of unknown type: " << cert_type |
<< " at index " << cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_TYPE_MISSING); |
return NULL; |
} |
Network* OncNetworkParser::ParseNetwork(int n) { |
- CHECK(network_configs_); |
- CHECK(static_cast<size_t>(n) < network_configs_->GetSize()); |
- CHECK_GE(n, 0); |
+ if (!network_configs_) |
+ return NULL; |
DictionaryValue* info = NULL; |
- if (!network_configs_->GetDictionary(n, &info)) { |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_NETWORK_PROP_DICT_MALFORMED); |
+ if (!network_configs_->GetDictionary(n, &info)) |
return NULL; |
- } |
- |
if (VLOG_IS_ON(2)) { |
std::string network_json; |
base::JSONWriter::Write(static_cast<base::Value*>(info), |
@@ -319,11 +304,8 @@ |
const std::string& service_path, |
const DictionaryValue& info) { |
ConnectionType type = ParseTypeFromDictionary(info); |
- if (type == TYPE_UNKNOWN) { // Return NULL if cannot parse network type. |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_NETWORK_TYPE_MISSING); |
+ if (type == TYPE_UNKNOWN) // Return NULL if cannot parse network type. |
return NULL; |
- } |
scoped_ptr<Network> network(CreateNewNetwork(type, service_path)); |
if (!ParseNestedObject(network.get(), |
"NetworkConfiguration", |
@@ -331,9 +313,6 @@ |
network_configuration_signature, |
ParseNetworkConfigurationValue)) { |
LOG(WARNING) << "Network " << network->name() << " failed to parse."; |
- if (parse_error_.empty()) |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_NETWORK_PROP_DICT_MALFORMED); |
return NULL; |
} |
if (VLOG_IS_ON(2)) { |
@@ -394,8 +373,6 @@ |
if (!trust_list->GetString(i, &trust_type)) { |
LOG(WARNING) << "ONC File: certificate trust is invalid at index " |
<< cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_TRUST_INVALID); |
return NULL; |
} |
if (trust_type == "Web") { |
@@ -404,8 +381,6 @@ |
LOG(WARNING) << "ONC File: certificate contains unknown " |
<< "trust type: " << trust_type |
<< " at index " << cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_TRUST_UNKNOWN); |
return NULL; |
} |
} |
@@ -416,8 +391,6 @@ |
LOG(WARNING) << "ONC File: certificate missing appropriate " |
<< "certificate data for type: " << cert_type |
<< " at index " << cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DATA_MISSING); |
return NULL; |
} |
@@ -425,8 +398,6 @@ |
if (!base::Base64Decode(x509_data, &decoded_x509)) { |
LOG(WARNING) << "Unable to base64 decode X509 data: \"" |
<< x509_data << "\"."; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DATA_MALFORMED); |
return NULL; |
} |
@@ -437,8 +408,6 @@ |
guid.c_str()); |
if (!x509_cert.get()) { |
LOG(WARNING) << "Unable to create X509 certificate from bytes."; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DATA_MALFORMED); |
return NULL; |
} |
@@ -448,7 +417,7 @@ |
bool success = false; |
if (cert_type == "Server") { |
success = cert_database.ImportServerCert(cert_list, &failures); |
- } else { // Authority cert |
+ } else { // Authority cert |
net::CertDatabase::TrustBits trust = web_trust ? |
net::CertDatabase::TRUSTED_SSL : |
net::CertDatabase::UNTRUSTED; |
@@ -459,15 +428,11 @@ |
<< net::ErrorToString(failures[0].net_error) |
<< ") importing " << cert_type << " certificate at index " |
<< cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_IMPORT); |
return NULL; |
} |
if (!success) { |
LOG(WARNING) << "ONC File: Unknown error importing " << cert_type |
<< " certificate at index " << cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_UNKNOWN); |
return NULL; |
} |
VLOG(2) << "Successfully imported server/ca certificate at index " |
@@ -486,8 +451,6 @@ |
pkcs12_data.empty()) { |
LOG(WARNING) << "ONC File: PKCS12 data is missing for Client " |
<< "certificate at index " << cert_index; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DATA_MISSING); |
return NULL; |
} |
@@ -495,8 +458,6 @@ |
if (!base::Base64Decode(pkcs12_data, &decoded_pkcs12)) { |
LOG(WARNING) << "Unable to base64 decode PKCS#12 data: \"" |
<< pkcs12_data << "\"."; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_DATA_MALFORMED); |
return NULL; |
} |
@@ -510,8 +471,6 @@ |
LOG(WARNING) << "ONC File: Unable to import Client certificate at index " |
<< cert_index |
<< " (error " << net::ErrorToString(result) << ")."; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_CERT_IMPORT); |
return NULL; |
} |
@@ -556,8 +515,6 @@ |
bool any_errors = false; |
if (!value.IsType(base::Value::TYPE_DICTIONARY)) { |
VLOG(1) << network->name() << ": expected object of type " << onc_type; |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_NETWORK_PROP_DICT_MALFORMED); |
return false; |
} |
VLOG(2) << "Parsing nested object of type " << onc_type; |
@@ -603,9 +560,6 @@ |
<< "(" << index << ")] = " << value_json; |
} |
} |
- if (any_errors) |
- parse_error_ = l10n_util::GetStringUTF8( |
- IDS_NETWORK_CONFIG_ERROR_NETWORK_PROP_DICT_MALFORMED); |
return !any_errors; |
} |