Index: chromeos/dbus/shill_service_client_stub.cc |
diff --git a/chromeos/dbus/shill_service_client_stub.cc b/chromeos/dbus/shill_service_client_stub.cc |
index d7c28da19542fca69b93f055c0066fdb095b2d03..5d12df27187c1a3d517324c8d1c7273b6926cfdb 100644 |
--- a/chromeos/dbus/shill_service_client_stub.cc |
+++ b/chromeos/dbus/shill_service_client_stub.cc |
@@ -96,6 +96,7 @@ void ShillServiceClientStub::GetProperties( |
NULL); |
call_status = DBUS_METHOD_CALL_SUCCESS; |
} else { |
+ LOG(ERROR) << "Properties not found for: " << service_path.value(); |
result_properties.reset(new base::DictionaryValue); |
call_status = DBUS_METHOD_CALL_FAILURE; |
} |
@@ -450,6 +451,16 @@ bool ShillServiceClientStub::SetServiceProperty(const std::string& service_path, |
base::Bind(&ShillServiceClientStub::NotifyObserversPropertyChanged, |
weak_ptr_factory_.GetWeakPtr(), |
dbus::ObjectPath(service_path), changed_property)); |
+ |
+ if (property == flimflam::kPassphraseProperty || |
+ property == flimflam::kEapPasswordProperty) { |
+ // Assume that when a passphrase gets set, 'Connectable' becomes true. |
+ // TODO(stevenjb): Add 'CheckConnectable' that checks all properties. |
+ SetServiceProperty(service_path, |
+ flimflam::kConnectableProperty, |
+ base::FundamentalValue(true)); |
+ } |
+ |
return true; |
} |