summaryrefslogtreecommitdiffstats
path: root/chromeos/network/network_handler.cc
diff options
context:
space:
mode:
authorpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-13 15:30:04 +0000
committerpneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-13 15:30:04 +0000
commit72b3a7eea94e94507e8ae7398082e9ffe1cd620f (patch)
treee67f659eade2654e5137037dc4403b01dd6e1949 /chromeos/network/network_handler.cc
parent514a497e58caebaca362a42a76d174c593ad00c8 (diff)
downloadchromium_src-72b3a7eea94e94507e8ae7398082e9ffe1cd620f.zip
chromium_src-72b3a7eea94e94507e8ae7398082e9ffe1cd620f.tar.gz
chromium_src-72b3a7eea94e94507e8ae7398082e9ffe1cd620f.tar.bz2
Automatically resolve ClientCertificatePatterns.
This adds a new ClientCertResolver to chromeos/network, which automatically resolves ClientCertificatePatterns and writes the cert id of the matching certificate to Shill. This should fix several issues like updating client certs and auto-connect immediately after installing EAP networks from policy. It's required for Ethernet EAP policies where the current pattern matching on each manual connect isn't sufficient. BUG=234983, 126870 Review URL: https://chromiumcodereview.appspot.com/22327005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217257 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/network/network_handler.cc')
-rw-r--r--chromeos/network/network_handler.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/chromeos/network/network_handler.cc b/chromeos/network/network_handler.cc
index ae272fa..b1aac26 100644
--- a/chromeos/network/network_handler.cc
+++ b/chromeos/network/network_handler.cc
@@ -6,6 +6,7 @@
#include "base/threading/worker_pool.h"
#include "chromeos/dbus/dbus_thread_manager.h"
+#include "chromeos/network/client_cert_resolver.h"
#include "chromeos/network/geolocation_handler.h"
#include "chromeos/network/managed_network_configuration_handler.h"
#include "chromeos/network/network_cert_migrator.h"
@@ -31,11 +32,13 @@ NetworkHandler::NetworkHandler() {
network_state_handler_.reset(new NetworkStateHandler());
network_device_handler_.reset(new NetworkDeviceHandler());
network_profile_handler_.reset(new NetworkProfileHandler());
- if (CertLoader::IsInitialized())
- network_cert_migrator_.reset(new NetworkCertMigrator());
network_configuration_handler_.reset(new NetworkConfigurationHandler());
managed_network_configuration_handler_.reset(
new ManagedNetworkConfigurationHandler());
+ if (CertLoader::IsInitialized()) {
+ network_cert_migrator_.reset(new NetworkCertMigrator());
+ client_cert_resolver_.reset(new ClientCertResolver());
+ }
network_connection_handler_.reset(new NetworkConnectionHandler());
network_sms_handler_.reset(new NetworkSmsHandler());
geolocation_handler_.reset(new GeolocationHandler());
@@ -48,8 +51,6 @@ NetworkHandler::~NetworkHandler() {
void NetworkHandler::Init() {
network_state_handler_->InitShillPropertyHandler();
network_profile_handler_->Init(network_state_handler_.get());
- if (network_cert_migrator_)
- network_cert_migrator_->Init(network_state_handler_.get());
network_configuration_handler_->Init(network_state_handler_.get());
managed_network_configuration_handler_->Init(
network_state_handler_.get(),
@@ -57,6 +58,12 @@ void NetworkHandler::Init() {
network_configuration_handler_.get());
network_connection_handler_->Init(network_state_handler_.get(),
network_configuration_handler_.get());
+ if (network_cert_migrator_)
+ network_cert_migrator_->Init(network_state_handler_.get());
+ if (client_cert_resolver_) {
+ client_cert_resolver_->Init(network_state_handler_.get(),
+ managed_network_configuration_handler_.get());
+ }
network_sms_handler_->Init();
geolocation_handler_->Init();
}