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

Side by Side Diff: chrome/browser/chromeos/policy/device_network_configuration_updater.cc

Issue 148183013: Use per-user nssdb in onc certificate importer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix browser_tests compile Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/policy/device_network_configuration_updater.h" 5 #include "chrome/browser/chromeos/policy/device_network_configuration_updater.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "chrome/browser/chromeos/settings/cros_settings.h" 9 #include "chrome/browser/chromeos/settings/cros_settings.h"
10 #include "chromeos/network/managed_network_configuration_handler.h" 10 #include "chromeos/network/managed_network_configuration_handler.h"
11 #include "chromeos/network/network_device_handler.h" 11 #include "chromeos/network/network_device_handler.h"
12 #include "chromeos/network/onc/onc_certificate_importer.h"
13 #include "chromeos/settings/cros_settings_names.h" 12 #include "chromeos/settings/cros_settings_names.h"
14 #include "chromeos/settings/cros_settings_provider.h" 13 #include "chromeos/settings/cros_settings_provider.h"
15 #include "policy/policy_constants.h" 14 #include "policy/policy_constants.h"
16 15
17 namespace policy { 16 namespace policy {
18 17
19 DeviceNetworkConfigurationUpdater::~DeviceNetworkConfigurationUpdater() {} 18 DeviceNetworkConfigurationUpdater::~DeviceNetworkConfigurationUpdater() {}
20 19
21 // static 20 // static
22 scoped_ptr<DeviceNetworkConfigurationUpdater> 21 scoped_ptr<DeviceNetworkConfigurationUpdater>
23 DeviceNetworkConfigurationUpdater::CreateForDevicePolicy( 22 DeviceNetworkConfigurationUpdater::CreateForDevicePolicy(
24 scoped_ptr<chromeos::onc::CertificateImporter> certificate_importer,
25 PolicyService* policy_service, 23 PolicyService* policy_service,
26 chromeos::ManagedNetworkConfigurationHandler* network_config_handler, 24 chromeos::ManagedNetworkConfigurationHandler* network_config_handler,
27 chromeos::NetworkDeviceHandler* network_device_handler, 25 chromeos::NetworkDeviceHandler* network_device_handler,
28 chromeos::CrosSettings* cros_settings) { 26 chromeos::CrosSettings* cros_settings) {
29 scoped_ptr<DeviceNetworkConfigurationUpdater> updater( 27 scoped_ptr<DeviceNetworkConfigurationUpdater> updater(
30 new DeviceNetworkConfigurationUpdater(certificate_importer.Pass(), 28 new DeviceNetworkConfigurationUpdater(policy_service,
31 policy_service,
32 network_config_handler, 29 network_config_handler,
33 network_device_handler, 30 network_device_handler,
34 cros_settings)); 31 cros_settings));
35 updater->Init(); 32 updater->Init();
36 return updater.Pass(); 33 return updater.Pass();
37 } 34 }
38 35
39 DeviceNetworkConfigurationUpdater::DeviceNetworkConfigurationUpdater( 36 DeviceNetworkConfigurationUpdater::DeviceNetworkConfigurationUpdater(
40 scoped_ptr<chromeos::onc::CertificateImporter> certificate_importer,
41 PolicyService* policy_service, 37 PolicyService* policy_service,
42 chromeos::ManagedNetworkConfigurationHandler* network_config_handler, 38 chromeos::ManagedNetworkConfigurationHandler* network_config_handler,
43 chromeos::NetworkDeviceHandler* network_device_handler, 39 chromeos::NetworkDeviceHandler* network_device_handler,
44 chromeos::CrosSettings* cros_settings) 40 chromeos::CrosSettings* cros_settings)
45 : NetworkConfigurationUpdater(onc::ONC_SOURCE_DEVICE_POLICY, 41 : NetworkConfigurationUpdater(onc::ONC_SOURCE_DEVICE_POLICY,
46 key::kDeviceOpenNetworkConfiguration, 42 key::kDeviceOpenNetworkConfiguration,
47 certificate_importer.Pass(),
48 policy_service, 43 policy_service,
49 network_config_handler), 44 network_config_handler),
50 network_device_handler_(network_device_handler), 45 network_device_handler_(network_device_handler),
51 cros_settings_(cros_settings), 46 cros_settings_(cros_settings),
52 weak_factory_(this) { 47 weak_factory_(this) {
53 DCHECK(network_device_handler_); 48 DCHECK(network_device_handler_);
54 data_roaming_setting_subscription_ = cros_settings->AddSettingsObserver( 49 data_roaming_setting_subscription_ = cros_settings->AddSettingsObserver(
55 chromeos::kSignedDataRoamingEnabled, 50 chromeos::kSignedDataRoamingEnabled,
56 base::Bind( 51 base::Bind(
57 &DeviceNetworkConfigurationUpdater::OnDataRoamingSettingChanged, 52 &DeviceNetworkConfigurationUpdater::OnDataRoamingSettingChanged,
58 base::Unretained(this))); 53 base::Unretained(this)));
59 } 54 }
60 55
61 void DeviceNetworkConfigurationUpdater::Init() { 56 void DeviceNetworkConfigurationUpdater::Init() {
62 NetworkConfigurationUpdater::Init(); 57 NetworkConfigurationUpdater::Init();
63 58
64 // Apply the roaming setting initially. 59 // Apply the roaming setting initially.
65 OnDataRoamingSettingChanged(); 60 OnDataRoamingSettingChanged();
66 } 61 }
67 62
68 void DeviceNetworkConfigurationUpdater::ImportCertificates( 63 void DeviceNetworkConfigurationUpdater::ImportCertificates(
69 const base::ListValue& certificates_onc) { 64 const base::ListValue& certificates_onc) {
70 certificate_importer_->ImportCertificates( 65 // Importing CA and server certs from device policy is not allowed, while
71 certificates_onc, onc_source_, NULL); 66 // importing client is not yet supported (as a system-wide PKCS#11 token to
67 // which they should be imported does not exists at the time).
72 } 68 }
73 69
74 void DeviceNetworkConfigurationUpdater::ApplyNetworkPolicy( 70 void DeviceNetworkConfigurationUpdater::ApplyNetworkPolicy(
75 base::ListValue* network_configs_onc, 71 base::ListValue* network_configs_onc,
76 base::DictionaryValue* global_network_config) { 72 base::DictionaryValue* global_network_config) {
77 network_config_handler_->SetPolicy(onc_source_, 73 network_config_handler_->SetPolicy(onc_source_,
78 std::string() /* no username hash */, 74 std::string() /* no username hash */,
79 *network_configs_onc, 75 *network_configs_onc,
80 *global_network_config); 76 *global_network_config);
81 } 77 }
(...skipping 21 matching lines...) Expand all
103 } else { 99 } else {
104 DCHECK_EQ(trusted_status, 100 DCHECK_EQ(trusted_status,
105 chromeos::CrosSettingsProvider::PERMANENTLY_UNTRUSTED); 101 chromeos::CrosSettingsProvider::PERMANENTLY_UNTRUSTED);
106 // Roaming is disabled as we can't determine the correct setting. 102 // Roaming is disabled as we can't determine the correct setting.
107 } 103 }
108 104
109 network_device_handler_->SetCellularAllowRoaming(data_roaming_setting); 105 network_device_handler_->SetCellularAllowRoaming(data_roaming_setting);
110 } 106 }
111 107
112 } // namespace policy 108 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698