summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorachuith@chromium.org <achuith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-02 21:21:11 +0000
committerachuith@chromium.org <achuith@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-02 21:21:11 +0000
commit8b80186e007a5a710220b4ca87a84127a10b88e5 (patch)
tree84ef634fb79f010ed10bbf7ee37a4bfcd86cb9a8
parent63a1b7492a9018233baa12ba998a119f401f9c72 (diff)
downloadchromium_src-8b80186e007a5a710220b4ca87a84127a10b88e5.zip
chromium_src-8b80186e007a5a710220b4ca87a84127a10b88e5.tar.gz
chromium_src-8b80186e007a5a710220b4ca87a84127a10b88e5.tar.bz2
Add stub passcode option to LoadOncNetworks.
Along with file contents, need to send in a passcode string for decrypting encrypted onc files. The decrypt implementation will be handled by gspencer@ BUG=chromium-os:19397 TEST=compiles. Review URL: http://codereview.chromium.org/8759007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112783 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/cros/mock_network_library.h2
-rw-r--r--chrome/browser/chromeos/cros/network_library.cc9
-rw-r--r--chrome/browser/chromeos/cros/network_library.h15
-rw-r--r--chrome/browser/policy/network_configuration_updater.cc2
-rw-r--r--chrome/browser/policy/network_configuration_updater_unittest.cc8
5 files changed, 20 insertions, 16 deletions
diff --git a/chrome/browser/chromeos/cros/mock_network_library.h b/chrome/browser/chromeos/cros/mock_network_library.h
index d7ccb46..aa0b469 100644
--- a/chrome/browser/chromeos/cros/mock_network_library.h
+++ b/chrome/browser/chromeos/cros/mock_network_library.h
@@ -155,7 +155,7 @@ class MockNetworkLibrary : public NetworkLibrary {
HardwareAddressFormat));
MOCK_METHOD1(SetIPConfig, void(const NetworkIPConfig&));
MOCK_METHOD0(SwitchToPreferredNetwork, void(void));
- MOCK_METHOD1(LoadOncNetworks, bool(const std::string&));
+ MOCK_METHOD2(LoadOncNetworks, bool(const std::string&, const std::string&));
MOCK_METHOD2(SetActiveNetwork, bool(ConnectionType, const std::string&));
};
diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc
index f273562..770871e 100644
--- a/chrome/browser/chromeos/cros/network_library.cc
+++ b/chrome/browser/chromeos/cros/network_library.cc
@@ -1730,7 +1730,8 @@ class NetworkLibraryImplBase : public NetworkLibrary {
// virtual GetIPConfigs implemented in derived classes.
// virtual SetIPConfig implemented in derived classes.
virtual void SwitchToPreferredNetwork() OVERRIDE;
- virtual bool LoadOncNetworks(const std::string& onc_blob) OVERRIDE;
+ virtual bool LoadOncNetworks(const std::string& onc_blob,
+ const std::string& passcode) OVERRIDE;
virtual bool SetActiveNetwork(ConnectionType type,
const std::string& service_path) OVERRIDE;
@@ -2818,7 +2819,9 @@ void NetworkLibraryImplBase::SwitchToPreferredNetwork() {
}
}
-bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob) {
+bool NetworkLibraryImplBase::LoadOncNetworks(const std::string& onc_blob,
+ const std::string& passcode) {
+ // TODO(gspencer): Add support for decrypting onc files. crbug.com/19397
OncNetworkParser parser(onc_blob);
for (int i = 0; i < parser.GetCertificatesSize(); i++) {
@@ -5076,7 +5079,7 @@ void NetworkLibraryImplStub::Init() {
" ],"
" \"Certificates\": []"
"}");
- LoadOncNetworks(test_blob);
+ LoadOncNetworks(test_blob, "");
}
////////////////////////////////////////////////////////////////////////////
diff --git a/chrome/browser/chromeos/cros/network_library.h b/chrome/browser/chromeos/cros/network_library.h
index 07de4df..9d2a415 100644
--- a/chrome/browser/chromeos/cros/network_library.h
+++ b/chrome/browser/chromeos/cros/network_library.h
@@ -1367,7 +1367,7 @@ class NetworkLibrary {
// for example, networks have appeared or disappeared.
virtual void OnNetworkManagerChanged(NetworkLibrary* obj) = 0;
protected:
- ~NetworkManagerObserver() { }
+ virtual ~NetworkManagerObserver() { }
};
class NetworkObserver {
@@ -1377,7 +1377,7 @@ class NetworkLibrary {
virtual void OnNetworkChanged(NetworkLibrary* cros,
const Network* network) = 0;
protected:
- ~NetworkObserver() {}
+ virtual ~NetworkObserver() {}
};
class NetworkDeviceObserver {
@@ -1394,7 +1394,7 @@ class NetworkLibrary {
virtual void OnNetworkDeviceSimLockChanged(NetworkLibrary* cros,
const NetworkDevice* device) {}
protected:
- ~NetworkDeviceObserver() {}
+ virtual ~NetworkDeviceObserver() {}
};
class CellularDataPlanObserver {
@@ -1402,7 +1402,7 @@ class NetworkLibrary {
// Called when the cellular data plan has changed.
virtual void OnCellularDataPlanChanged(NetworkLibrary* obj) = 0;
protected:
- ~CellularDataPlanObserver() {}
+ virtual ~CellularDataPlanObserver() {}
};
class PinOperationObserver {
@@ -1412,7 +1412,7 @@ class NetworkLibrary {
virtual void OnPinOperationCompleted(NetworkLibrary* cros,
PinOperationError error) = 0;
protected:
- ~PinOperationObserver() {}
+ virtual ~PinOperationObserver() {}
};
class UserActionObserver {
@@ -1422,7 +1422,7 @@ class NetworkLibrary {
virtual void OnConnectionInitiated(NetworkLibrary* cros,
const Network* network) = 0;
protected:
- ~UserActionObserver() {}
+ virtual ~UserActionObserver() {}
};
virtual ~NetworkLibrary() {}
@@ -1743,7 +1743,8 @@ class NetworkLibrary {
virtual void SwitchToPreferredNetwork() = 0;
// Load networks from an Open Network Configuration blob.
- virtual bool LoadOncNetworks(const std::string& onc_blob) = 0;
+ virtual bool LoadOncNetworks(const std::string& onc_blob,
+ const std::string& passcode) = 0;
// This sets the active network for the network type. Note: priority order
// is unchanged (i.e. if a wifi network is set to active, but an ethernet
diff --git a/chrome/browser/policy/network_configuration_updater.cc b/chrome/browser/policy/network_configuration_updater.cc
index dd9fc8a..788a010 100644
--- a/chrome/browser/policy/network_configuration_updater.cc
+++ b/chrome/browser/policy/network_configuration_updater.cc
@@ -56,7 +56,7 @@ void NetworkConfigurationUpdater::ApplyNetworkConfiguration(
if (*cached_value != new_network_config) {
*cached_value = new_network_config;
- if (!network_library_->LoadOncNetworks(new_network_config))
+ if (!network_library_->LoadOncNetworks(new_network_config, ""))
LOG(WARNING) << "Network library failed to load ONC configuration.";
}
}
diff --git a/chrome/browser/policy/network_configuration_updater_unittest.cc b/chrome/browser/policy/network_configuration_updater_unittest.cc
index 001631d..d1e71a2 100644
--- a/chrome/browser/policy/network_configuration_updater_unittest.cc
+++ b/chrome/browser/policy/network_configuration_updater_unittest.cc
@@ -26,7 +26,7 @@ class NetworkConfigurationUpdaterTest
TEST_P(NetworkConfigurationUpdaterTest, InitialUpdate) {
provider_.AddPolicy(GetParam(), Value::CreateStringValue(kFakeONC));
- EXPECT_CALL(network_library_, LoadOncNetworks(kFakeONC))
+ EXPECT_CALL(network_library_, LoadOncNetworks(kFakeONC, ""))
.WillRepeatedly(Return(true));
NetworkConfigurationUpdater updater(&provider_, &network_library_);
@@ -37,20 +37,20 @@ TEST_P(NetworkConfigurationUpdaterTest, PolicyChange) {
NetworkConfigurationUpdater updater(&provider_, &network_library_);
// We should update if policy changes.
- EXPECT_CALL(network_library_, LoadOncNetworks(kFakeONC))
+ EXPECT_CALL(network_library_, LoadOncNetworks(kFakeONC, ""))
.WillOnce(Return(true));
provider_.AddPolicy(GetParam(), Value::CreateStringValue(kFakeONC));
provider_.NotifyPolicyUpdated();
Mock::VerifyAndClearExpectations(&network_library_);
// No update if the set the same value again.
- EXPECT_CALL(network_library_, LoadOncNetworks(kFakeONC))
+ EXPECT_CALL(network_library_, LoadOncNetworks(kFakeONC, ""))
.Times(0);
provider_.NotifyPolicyUpdated();
Mock::VerifyAndClearExpectations(&network_library_);
// Another update is expected if the policy goes away.
- EXPECT_CALL(network_library_, LoadOncNetworks(""))
+ EXPECT_CALL(network_library_, LoadOncNetworks("", ""))
.WillOnce(Return(true));
provider_.RemovePolicy(GetParam());
provider_.NotifyPolicyUpdated();