History log of /system/connectivity/shill/dbus/chromeos_firewalld_proxy.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
03e6719bae1e0903d94853b896673a033196bcf5 13-Oct-2015 Alex Vakulenko <avakulenko@google.com> shill: Rename "chromeos" -> "brillo" in include paths and namespaces

libchromeos is transitioning to libbrillo and chromeos namespaces
and include directory is changing to brillo.

Bug: 24872993
TEST=built for aosp and brillo, all unit tests pass on dragonboard

Change-Id: I804311e49ee780ca96e05f6a581e8c95709d4e1d
/system/connectivity/shill/dbus/chromeos_firewalld_proxy.cc
2148dfd552b045aff8eed4c3fb8cf9ff5a3758ef 22-Sep-2015 Peter Qiu <zqiu@google.com> Revert "dbus: release object proxy from the bus"

This reverts commit a9a0e8356b33ccac1f06ffb1cb8a601dca4d62f2.

The original CL causes shill crash on reboot and suspend/resume
https://code.google.com/p/chromium/issues/detail?id=534299.

Revert it for now to unblock others. Will dig deeper to find
the root cause.

Bug: None
TEST=Run ExternalUsbPeripherals autotest

Change-Id: I3a568ba09fc669a93a74fca0957c93211737134f
/system/connectivity/shill/dbus/chromeos_firewalld_proxy.cc
a9a0e8356b33ccac1f06ffb1cb8a601dca4d62f2 17-Sep-2015 Peter Qiu <zqiu@google.com> dbus: release object proxy from the bus

Currently, the generated Chrome OS D-Bus proxies are leaking
memory/resources, since they never remove the underlying object
proxy from the bus upon destruction. This causes a problem
when we frequently create/destroy proxies (ChromeosSupplicantBSSProxy),
where the bus would permenantly fail to add match rules for
new object proxies once the limit for match rules is reached.
Without match rules, object proxies will not be able to receive
any signals from the bus.

To resolve this issue, explicitly release the object proxy from
the bus upon proxy destruction.

Note: ReleaseObjectProxy calls Bus::RemoveObjectProxy, which is
an asynchronous call. So the bus can only be destructed after the
asynchronous object proxy cleanup is completed.

Note: do not release the object proxy from the bus for cellular proxies.
It turns out that cellular initializes a lot of their proxies using
the same service name and path. And in libchrome's D-Bus library,
D-Bus objects are mapped based on service name and path. So
for proxies with same service name and path, only one D-Bus object
is actually allocated by the bus. Based to this behavior, the
resource leak from cellular proxies should be minimal, and
shouldn't have any negative impact on shill.

While there, defer the destruction for the ChromeosDBusControl
to ChromeosDaemon's destructor. Since the proxy bus can only be
deleted after the asynchronous object proxy cleanups are completed.

Bug: 23560086
TEST=Verify no "org.freedesktop.DBus.Error.LimitsExceeded" error
TEST=in /var/log/net.log after leaving a wolf device up for a day.
TEST=Verify no shill crash after restarting shill

Change-Id: Ic78eed00b448743f11738717f2b0ac7da08fc135
/system/connectivity/shill/dbus/chromeos_firewalld_proxy.cc
4c712fb1ad423374545c8683973b816092900e41 15-Sep-2015 Peter Qiu <zqiu@google.com> Add firewalld proxy for requesting VPN setups

This is needed for Brillo, since permission_broker is not installed
on Brillo while firewalld is.

While there, use the non-local header for permission_broker proxy
and remove the unused weakptr factory.

Bug: 23756495
TEST=Update shill.gyp file to compile firewalld proxy.

Change-Id: I273f06622e2cafbee370377ca02adf0e26c14936
/system/connectivity/shill/dbus/chromeos_firewalld_proxy.cc