diff options
author | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-13 15:30:04 +0000 |
---|---|---|
committer | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-13 15:30:04 +0000 |
commit | 72b3a7eea94e94507e8ae7398082e9ffe1cd620f (patch) | |
tree | e67f659eade2654e5137037dc4403b01dd6e1949 /chromeos/network/network_handler.cc | |
parent | 514a497e58caebaca362a42a76d174c593ad00c8 (diff) | |
download | chromium_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.cc | 15 |
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(); } |