| 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 ede390459a41c826063bd3a4d526aaa136d470a8..225d1939229c7341fbcad237ee26fffe1e6add3f 100644
|
| --- a/chrome/browser/chromeos/cros/network_library_impl_base.cc
|
| +++ b/chrome/browser/chromeos/cros/network_library_impl_base.cc
|
| @@ -304,10 +304,11 @@ const VirtualNetworkVector&
|
| return remembered_virtual_networks_;
|
| }
|
|
|
| +namespace {
|
| +
|
| // Use shill's ordering of the services to determine which type of
|
| // network to return (i.e. don't assume priority of network types).
|
| // Note: This does not include any virtual networks.
|
| -namespace {
|
| const Network* highest_priority(const Network* a, const Network*b) {
|
| if (!a)
|
| return b;
|
| @@ -317,7 +318,8 @@ const Network* highest_priority(const Network* a, const Network*b) {
|
| return b;
|
| return a;
|
| }
|
| -}
|
| +
|
| +} // namespace
|
|
|
| const Network* NetworkLibraryImplBase::active_network() const {
|
| const Network* result = active_nonvirtual_network();
|
| @@ -806,8 +808,8 @@ void NetworkLibraryImplBase::ConnectToUnconfiguredWifiNetwork(
|
| connect_data_.service_name = ssid;
|
| connect_data_.eap_method = eap_config->method;
|
| connect_data_.eap_auth = eap_config->auth;
|
| - connect_data_.server_ca_cert_nss_nickname =
|
| - eap_config->server_ca_cert_nss_nickname;
|
| + connect_data_.server_ca_cert_fingerprint =
|
| + eap_config->server_ca_cert_fingerprint;
|
| connect_data_.eap_use_system_cas = eap_config->use_system_cas;
|
| connect_data_.client_cert_pkcs11_id =
|
| eap_config->client_cert_pkcs11_id;
|
| @@ -828,8 +830,8 @@ void NetworkLibraryImplBase::ConnectToUnconfiguredVirtualNetwork(
|
| connect_data_.service_name = service_name;
|
| connect_data_.server_hostname = server_hostname;
|
| connect_data_.psk_key = config.psk;
|
| - connect_data_.server_ca_cert_nss_nickname =
|
| - config.server_ca_cert_nss_nickname;
|
| + connect_data_.server_ca_cert_fingerprint =
|
| + config.server_ca_cert_fingerprint;
|
| connect_data_.client_cert_pkcs11_id = config.client_cert_pkcs11_id;
|
| connect_data_.username = config.username;
|
| connect_data_.passphrase = config.user_passphrase;
|
| @@ -867,7 +869,7 @@ void NetworkLibraryImplBase::ConnectToWifiNetworkUsingConnectData(
|
| // Enterprise 802.1X EAP network.
|
| wifi->SetEAPMethod(data.eap_method);
|
| wifi->SetEAPPhase2Auth(data.eap_auth);
|
| - wifi->SetEAPServerCaCertNssNickname(data.server_ca_cert_nss_nickname);
|
| + wifi->SetEAPServerCaCertFingerprint(data.server_ca_cert_fingerprint);
|
| wifi->SetEAPUseSystemCAs(data.eap_use_system_cas);
|
| wifi->SetEAPClientCertPkcs11Id(data.client_cert_pkcs11_id);
|
| wifi->SetEAPIdentity(data.eap_identity);
|
| @@ -913,7 +915,7 @@ void NetworkLibraryImplBase::ConnectToVirtualNetworkUsingConnectData(
|
| if (!data.server_hostname.empty())
|
| vpn->set_server_hostname(data.server_hostname);
|
|
|
| - vpn->SetCACertNSS(data.server_ca_cert_nss_nickname);
|
| + vpn->SetCACertFingerprint(data.server_ca_cert_fingerprint);
|
| switch (vpn->provider_type()) {
|
| case PROVIDER_TYPE_L2TP_IPSEC_PSK:
|
| vpn->SetL2TPIPsecPSKCredentials(
|
| @@ -1023,7 +1025,8 @@ class UserStringSubstitution : public onc::StringSubstitution {
|
|
|
| void NetworkLibraryImplBase::LoadOncNetworks(
|
| const base::ListValue& network_configs,
|
| - onc::ONCSource source) {
|
| + onc::ONCSource source,
|
| + const FingerprintToPEM& fingerprint_to_pem) {
|
| VLOG(2) << __func__ << ": called on " << network_configs;
|
| NetworkProfile* profile = NULL;
|
| bool from_policy = (source == onc::ONC_SOURCE_USER_POLICY ||
|
| @@ -1100,10 +1103,12 @@ void NetworkLibraryImplBase::LoadOncNetworks(
|
| normalizer.NormalizeObject(&onc::kNetworkConfigurationSignature,
|
| *expanded_network);
|
|
|
| - // Configure the network.
|
| + // Configure the network. Pass the |fingerprint_to_pem| function to
|
| + // translate fingerprints of certificates by their PEM encoding.
|
| scoped_ptr<base::DictionaryValue> shill_dict =
|
| onc::TranslateONCObjectToShill(&onc::kNetworkConfigurationSignature,
|
| - *normalized_network);
|
| + *normalized_network,
|
| + fingerprint_to_pem);
|
|
|
| // Set the ProxyConfig.
|
| const base::DictionaryValue* proxy_settings;
|
|
|