History log of /system/connectivity/shill/dbus/chromeos_permission_broker_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_permission_broker_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_permission_broker_proxy.cc
fd2880e0ea883c0102b8e73e1258300eff2eb217 19-Sep-2015 Peter Qiu <zqiu@google.com> Validate file descriptor before passing it to permission_broker over D-Bus

Chrome OS D-Bus generates a fatal error on messages that contains file
descriptor that have not been validated. And that's case when shill
trying to pass a file descriptor to permission_broker for setting
up a firewall rule for VPN.

Fix it by validating the file descriptor before passing it over
to permission_broker through D-Bus.

Bug: None
TEST=Verify device can connect to VPN network using "cros vpn test"
TEST=chrome extension.

Change-Id: I08c325592269952fdf1336fdf1e78af1dd319944
/system/connectivity/shill/dbus/chromeos_permission_broker_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_permission_broker_proxy.cc
c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5 03-Sep-2015 Peter Qiu <zqiu@google.com> License shill to Apache2

This patch automatically replaced the license on all text files from
Chromium OS (BSD style) to AOSP (Apache2), keeping the original year as
a reference.

The license header was added to .gyp and .gypi, the NOTICE was added with a copy
of the Apache2 license and MODULE_LICENSE_* file was added.

BUG=23587594
TEST=grep 'Chromium OS Authors' doesn't find anything.

Change-Id: If41ede586c2465f5831fb7fee270ff41dbfdb596
/system/connectivity/shill/dbus/chromeos_permission_broker_proxy.cc
448b95bf7686d1128018379726468cef92178f8e 28-Aug-2015 Alex Deymo <deymo@chromium.org> Generate DBus interfaces for client libraries.

The generated dbus-proxies.h and dbus-proxy-mocks.h are now created by
by the daemon that exposses the interface, instead of letting the
daemon using the interface generate them. This creates then a client
library that other daemons can use.

This patch installs these libraries for login_manager, power_manager,
debugd, apmanager and shill, and makes all their callers use these
interfaces instead of using the xml directly.

This patch moves the code dependency on the .xml files to an ebuild
dependency.

CQ-DEPEND=CL:296123
BUG=b:23560718
TEST=./build_packages

Change-Id: I5c779c07de8f08d1b266c48524a1451936ad1eee
Reviewed-on: https://chromium-review.googlesource.com/296026
Commit-Ready: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
/system/connectivity/shill/dbus/chromeos_permission_broker_proxy.cc
6c7198d07ab037e47cdd2af79d88d0048e6a0415 31-Jul-2015 Peter Qiu <zqiu@chromium.org> shill: implement permission broker proxy using chromeos DBus

While there, create a new header file for PermissionBrokerProxyInterface.

BUG=chromium:507869
TEST=USE="chromeos_dbus asan clang" FEATURES=test emerge-$BOARD shill

Change-Id: I6ab8917fe2c9055d41bb3a7435a7dd2491f022d5
Reviewed-on: https://chromium-review.googlesource.com/289967
Reviewed-by: Zeping Qiu <zqiu@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
/system/connectivity/shill/dbus/chromeos_permission_broker_proxy.cc