Chromium Code Reviews| Index: chromeos/network/onc/onc_translator_onc_to_shill.cc |
| diff --git a/chromeos/network/onc/onc_translator_onc_to_shill.cc b/chromeos/network/onc/onc_translator_onc_to_shill.cc |
| index c43677aec17495e438f49f7caa1b60411392d3ba..e0e98cf45c2ade98cf6da3cdee2669f1a87ff04d 100644 |
| --- a/chromeos/network/onc/onc_translator_onc_to_shill.cc |
| +++ b/chromeos/network/onc/onc_translator_onc_to_shill.cc |
| @@ -198,9 +198,11 @@ void LocalTranslator::TranslateVPN() { |
| void LocalTranslator::TranslateWiFi() { |
| std::string security; |
| - onc_object_->GetStringWithoutPathExpansion(::onc::wifi::kSecurity, &security); |
| - TranslateWithTableAndSet(security, kWiFiSecurityTable, |
| - shill::kSecurityProperty); |
| + if (onc_object_->GetStringWithoutPathExpansion( |
| + ::onc::wifi::kSecurity, &security)) { |
| + TranslateWithTableAndSet(security, kWiFiSecurityTable, |
| + shill::kSecurityProperty); |
| + } |
| std::string ssid; |
| onc_object_->GetStringWithoutPathExpansion(::onc::wifi::kSSID, &ssid); |
| @@ -257,22 +259,17 @@ void LocalTranslator::TranslateNetworkConfiguration() { |
| if (type == ::onc::network_type::kVPN) |
| CopyFieldFromONCToShill(::onc::network_config::kName, shill::kNameProperty); |
| + // If IPConfigType is specified and set to DHCP, ensure that we have an |
| + // empty StaticIPConfigs object defined which will clear any existing |
|
pneubeck (no reviews)
2014/12/05 09:47:46
below you set it to Null and not to an empty Dict
stevenjb
2015/01/08 00:44:39
Addressed in other CL.
|
| + // values. |
| std::string ipconfig_type; |
| - onc_object_->GetStringWithoutPathExpansion( |
| - ::onc::network_config::kIPConfigType, &ipconfig_type); |
| - |
| - if (ipconfig_type == ::onc::network_config::kIPConfigTypeDHCP) { |
| - // Clear the properties of StaticIPConfig. |
| + if (onc_object_->GetStringWithoutPathExpansion( |
| + ::onc::network_config::kIPConfigType, &ipconfig_type) && |
| + ipconfig_type == ::onc::network_config::kIPConfigTypeDHCP) { |
| scoped_ptr<base::DictionaryValue> static_ipconfig( |
| new base::DictionaryValue); |
| - static_ipconfig->SetWithoutPathExpansion(shill::kAddressProperty, |
| - base::Value::CreateNullValue()); |
| - static_ipconfig->SetWithoutPathExpansion(shill::kGatewayProperty, |
| - base::Value::CreateNullValue()); |
| - static_ipconfig->SetWithoutPathExpansion(shill::kPrefixlenProperty, |
| - base::Value::CreateNullValue()); |
| shill_dictionary_->SetWithoutPathExpansion(shill::kStaticIPConfigProperty, |
| - static_ipconfig.release()); |
| + base::Value::CreateNullValue()); |
| } |
| // Otherwise, the StaticIPConfig is set and translated. |
| @@ -342,7 +339,7 @@ void LocalTranslator::TranslateWithTableAndSet( |
| // occurs, we should check here. Otherwise the failure will only show up much |
| // later in Shill. |
| LOG(ERROR) << "Value '" << onc_value |
| - << "' cannot be translated to Shill property " |
| + << "' cannot be translated to Shill property: " |
| << shill_property_name; |
| } |