| Index: chrome/browser/chromeos/cros/network_library_impl_base.cc
|
| diff --git a/chrome/browser/chromeos/cros/network_library_impl_base.cc b/chrome/browser/chromeos/cros/network_library_impl_base.cc
|
| index 89e5194b87f79d9a05fd0a09fcc83b0d4edfcd80..abb4008fd3fa0f0a311e8d45624c73402e9c06c4 100644
|
| --- a/chrome/browser/chromeos/cros/network_library_impl_base.cc
|
| +++ b/chrome/browser/chromeos/cros/network_library_impl_base.cc
|
| @@ -9,13 +9,13 @@
|
| #include "base/memory/scoped_vector.h"
|
| #include "base/stl_util.h"
|
| #include "chrome/browser/chromeos/cros/native_network_parser.h"
|
| -#include "chrome/browser/chromeos/cros/onc_constants.h"
|
| #include "chrome/browser/chromeos/cros/onc_network_parser.h"
|
| #include "chrome/browser/chromeos/network_login_observer.h"
|
| -#include "chrome/browser/chromeos/network_settings/onc_certificate_importer.h"
|
| -#include "chrome/browser/chromeos/network_settings/onc_signature.h"
|
| -#include "chrome/browser/chromeos/network_settings/onc_utils.h"
|
| -#include "chrome/browser/chromeos/network_settings/onc_validator.h"
|
| +#include "chromeos/network/onc/onc_certificate_importer.h"
|
| +#include "chromeos/network/onc/onc_constants.h"
|
| +#include "chromeos/network/onc/onc_signature.h"
|
| +#include "chromeos/network/onc/onc_utils.h"
|
| +#include "chromeos/network/onc/onc_validator.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "crypto/nss_util.h" // crypto::GetTPMTokenInfo() for 802.1X and VPN.
|
| #include "grit/generated_resources.h"
|
| @@ -34,14 +34,14 @@ const int kNetworkNotifyDelayMs = 50;
|
| // How long we should remember that cellular plan payment was received.
|
| const int kRecentPlanPaymentHours = 6;
|
|
|
| -NetworkProfileType GetProfileTypeForSource(NetworkUIData::ONCSource source) {
|
| +NetworkProfileType GetProfileTypeForSource(onc::ONCSource source) {
|
| switch (source) {
|
| - case NetworkUIData::ONC_SOURCE_DEVICE_POLICY:
|
| + case onc::ONC_SOURCE_DEVICE_POLICY:
|
| return PROFILE_SHARED;
|
| - case NetworkUIData::ONC_SOURCE_USER_POLICY:
|
| + case onc::ONC_SOURCE_USER_POLICY:
|
| return PROFILE_USER;
|
| - case NetworkUIData::ONC_SOURCE_NONE:
|
| - case NetworkUIData::ONC_SOURCE_USER_IMPORT:
|
| + case onc::ONC_SOURCE_NONE:
|
| + case onc::ONC_SOURCE_USER_IMPORT:
|
| return PROFILE_NONE;
|
| }
|
| NOTREACHED() << "Unknown ONC source " << source;
|
| @@ -364,7 +364,7 @@ const Network* NetworkLibraryImplBase::connected_network() const {
|
| return result;
|
| }
|
|
|
| -// Connecting order in logical prefernce.
|
| +// Connecting order in logical preference.
|
| const Network* NetworkLibraryImplBase::connecting_network() const {
|
| if (ethernet_connecting())
|
| return ethernet_network();
|
| @@ -1023,12 +1023,11 @@ void NetworkLibraryImplBase::SwitchToPreferredNetwork() {
|
|
|
| bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| const std::string& passphrase,
|
| - NetworkUIData::ONCSource source,
|
| - bool allow_web_trust_from_policy,
|
| - std::string* error) {
|
| + onc::ONCSource source,
|
| + bool allow_web_trust_from_policy) {
|
| NetworkProfile* profile = NULL;
|
| - bool from_policy = (source == NetworkUIData::ONC_SOURCE_USER_POLICY ||
|
| - source == NetworkUIData::ONC_SOURCE_DEVICE_POLICY);
|
| + bool from_policy = (source == onc::ONC_SOURCE_USER_POLICY ||
|
| + source == onc::ONC_SOURCE_DEVICE_POLICY);
|
|
|
| // Policies are applied to a specific Shill profile. User ONC import however
|
| // is applied to whatever profile Shill chooses. This should be the profile
|
| @@ -1037,20 +1036,19 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| if (from_policy) {
|
| profile = GetProfileForType(GetProfileTypeForSource(source));
|
| if (profile == NULL) {
|
| - DLOG(WARNING) << "Profile for ONC source " << source << " doesn't exist.";
|
| + DLOG(WARNING) << "Profile for ONC source "
|
| + << onc::GetSourceAsString(source)
|
| + << " doesn't exist.";
|
| return false;
|
| }
|
| }
|
|
|
| VLOG(2) << __func__ << ": called on " << onc_blob;
|
| - std::string json_error;
|
| scoped_ptr<base::DictionaryValue> root_dict =
|
| - onc::ReadDictionaryFromJson(onc_blob, &json_error);
|
| + onc::ReadDictionaryFromJson(onc_blob);
|
| if (root_dict.get() == NULL) {
|
| - if (error != NULL)
|
| - *error = json_error;
|
| - LOG(WARNING) << "ONC loaded from ONC source " << source
|
| - << " is not a valid json dictionary: " << json_error;
|
| + LOG(WARNING) << "ONC loaded from " << onc::GetSourceAsString(source)
|
| + << " is not a valid JSON dictionary.";
|
| return false;
|
| }
|
|
|
| @@ -1058,13 +1056,10 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| std::string onc_type;
|
| root_dict->GetStringWithoutPathExpansion(onc::kType, &onc_type);
|
| if (onc_type == onc::kEncryptedConfiguration) {
|
| - std::string decrypt_error;
|
| - root_dict = onc::Decrypt(passphrase, *root_dict, &decrypt_error);
|
| + root_dict = onc::Decrypt(passphrase, *root_dict);
|
| if (root_dict.get() == NULL) {
|
| - if (error != NULL)
|
| - *error = decrypt_error;
|
| - LOG(WARNING) << "Couldn't decrypt the ONC from source " << source
|
| - << " with error: " << decrypt_error;
|
| + LOG(WARNING) << "Couldn't decrypt the ONC from "
|
| + << onc::GetSourceAsString(source);
|
| return false;
|
| }
|
| }
|
| @@ -1105,12 +1100,10 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| VLOG(2) << "ONC file has " << certificates->GetSize() << " certificates";
|
|
|
| onc::CertificateImporter cert_importer(source, allow_web_trust_from_policy);
|
| - std::string cert_error;
|
| - if (!cert_importer.ParseAndStoreCertificates(*certificates, &cert_error)) {
|
| - if (error != NULL)
|
| - *error = cert_error;
|
| + if (cert_importer.ParseAndStoreCertificates(*certificates) !=
|
| + onc::CertificateImporter::IMPORT_OK) {
|
| LOG(WARNING) << "Cannot parse some of the certificates in the ONC from "
|
| - << "source " << source << " with error: " << cert_error;
|
| + << onc::GetSourceAsString(source);
|
| return false;
|
| }
|
| }
|
| @@ -1130,17 +1123,14 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| bool marked_for_removal = false;
|
| Network* network = parser.ParseNetwork(i, &marked_for_removal);
|
| if (!network) {
|
| - if (error != NULL)
|
| - *error = parser.parse_error();
|
| LOG(WARNING) << "Error during parsing network at index " << i
|
| - << " from ONC source " << source
|
| - << ": " << parser.parse_error();
|
| + << " from ONC source " << onc::GetSourceAsString(source);
|
| return false;
|
| }
|
|
|
| // Disallow anything but WiFi and Ethernet for device-level policy (which
|
| // corresponds to shared networks). See also http://crosbug.com/28741.
|
| - if (source == NetworkUIData::ONC_SOURCE_DEVICE_POLICY &&
|
| + if (source == onc::ONC_SOURCE_DEVICE_POLICY &&
|
| network->type() != TYPE_WIFI &&
|
| network->type() != TYPE_ETHERNET) {
|
| LOG(WARNING) << "Ignoring device-level policy-pushed network of type "
|
| @@ -1150,7 +1140,7 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| }
|
|
|
| networks.push_back(network);
|
| - if (!(source == NetworkUIData::ONC_SOURCE_USER_IMPORT &&
|
| + if (!(source == onc::ONC_SOURCE_USER_IMPORT &&
|
| marked_for_removal)) {
|
| added_onc_map[network->unique_id()] = parser.GetNetworkConfig(i);
|
| }
|
| @@ -1178,7 +1168,7 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
|
|
| // Don't configure a network that is supposed to be removed. For
|
| // policy-managed networks, the "remove" functionality of ONC is ignored.
|
| - if (source == NetworkUIData::ONC_SOURCE_USER_IMPORT &&
|
| + if (source == onc::ONC_SOURCE_USER_IMPORT &&
|
| removal_ids.find(network->unique_id()) != removal_ids.end()) {
|
| continue;
|
| }
|
| @@ -1222,7 +1212,7 @@ bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
|
| // ONC blob. We first collect the networks and do the actual deletion later
|
| // because ForgetNetwork() changes the remembered network vectors.
|
| ForgetNetworksById(source, network_ids, false);
|
| - } else if (source == NetworkUIData::ONC_SOURCE_USER_IMPORT) {
|
| + } else if (source == onc::ONC_SOURCE_USER_IMPORT) {
|
| if (removal_ids.empty())
|
| return true;
|
|
|
| @@ -1368,7 +1358,7 @@ void NetworkLibraryImplBase::DeleteNetwork(Network* network) {
|
| }
|
|
|
| void NetworkLibraryImplBase::ForgetNetworksById(
|
| - NetworkUIData::ONCSource source,
|
| + onc::ONCSource source,
|
| std::set<std::string> ids,
|
| bool if_found) {
|
| std::vector<std::string> to_be_forgotten;
|
| @@ -1405,9 +1395,9 @@ bool NetworkLibraryImplBase::ValidateRememberedNetwork(Network* network) {
|
| // available to LoadOncNetworks(), which can happen due to the asynchronous
|
| // communication between shill and NetworkLibrary. Just tell shill to
|
| // delete the network now.
|
| - const NetworkUIData::ONCSource source = network->ui_data().onc_source();
|
| - if (source == NetworkUIData::ONC_SOURCE_USER_POLICY ||
|
| - source == NetworkUIData::ONC_SOURCE_DEVICE_POLICY) {
|
| + const onc::ONCSource source = network->ui_data().onc_source();
|
| + if (source == onc::ONC_SOURCE_USER_POLICY ||
|
| + source == onc::ONC_SOURCE_DEVICE_POLICY) {
|
| NetworkSourceMap::const_iterator network_id_set(
|
| network_source_map_.find(source));
|
| if (network_id_set != network_source_map_.end() &&
|
|
|