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; |