When we find a higher priority match for tethering traffic we should turn off
whatever we were trying before.
bug:6083611
Change-Id: I06ee41336df107353bf1a979150345e461574a48
This fixes a complaint from carriers (that we used 8.8.8.8), but also
fixes the case where there is only room for one live radio
connection: the secondary connection (tethering) doesn't have a
default route to prevent on-device traffic from slipping out on the
tethering connection, but tethered dns is proxied through dnsmasq, so
it is appearing as on-device traffic and is unroutable. By switching
to the carrier-indicated dns servers we can use the host-routes
already set for those and kill two bugs with one fix.
bug:5525764
bug:3045311
Change-Id: Ib1ccea81e0c0ed2d1462dc9721c2647124a790da
Outsiders asking for this list may cause the list to change on another thread.
Fixing general synchronization issues.
bug:5531630
Change-Id: I7a3ee0bba3db40f45bcb0159491942fa4cf38c37
Sometimes the interface is removed before we can untether leading to
errors when cleanup up various rules (iptables). Do as much as we can
and then let a re-tether result in error if needed.
bug:5536516
Change-Id: Ib1d064ecc8e9022566f9b0e4678b33144906971c
Two issues. A mcc/mnc-driven overlay means that the config at boot may not be
the config we wish to use - the sim card is read later which may switch the
config. Changed to read the configuration each time rather than once at boot.
Second, the secure-setting override was always trumping the resource config
as we weren't discriminating between a not-set default and a real setting.
This meant the config could never make DUN-required.
bug:5495862
Change-Id: Icd4e90ac1d32bbb704c0ff9cc69e954fb0a0b58c
Watch for changes to telephony network subtype, and update iface
mapping to persist stats under correct type. Update network stats
before removing tethering NAT rules.
Skip recording that would create empty historical buckets. Query UID
stats before iface stats to always skew positive when counters are
actively rolling forward.
Bug: 5360042, 5359860, 5335674, 5334448
Change-Id: I8aa37b568e8ffb70647218aa1aff5195d3e44d5a
Use new "gettetherstats" netd command to retrieve statistics for
active tethering connections. Keep tethering poll events separate
from UID poll, even though they end up same historical structures.
Bug: 5244846
Change-Id: Ia0c5165f6712c12b51586f86c331a2aad4ad6afb
As init now uses SIGKILL to stop daemons, performing graceful shutdown
becomes impossible. Here we implement our own solution by asking daemons
to monitor the control socket and terminate when it is closed.
Change-Id: I07a28807173a81b7f95e70f4193e974317acf88a
Currently legacy VPN only works on IPv4, and it should always
turn down when the addresses are changed. It assumed that the
interface will be brought down and up, so the event can be
detected via interfaceStatusChanged(). However, the assumption
was incorrect and the event is actually driver-dependent. To
fix this issue, ConnectivityService now tells VPN that the
interface is down when resetting IPv4 addresses.
Change-Id: I76d15e56552d86635c5b274ca980be5da905a6fb
Well, actually they do go out, but they won't try to start anybody now
until after boot.
bug:5088272
Change-Id: Iaaf7a1e4b300e0afc3901ecfd225a77084bd0954
The kernel sends an interface down event for usb0 when RNDIS is enabled.
Ignore this and only remove USB interfaces when we receive the
interface removed event.
Change-Id: I1458f259b96c9fab4d3a69a5692e630123fad136
Signed-off-by: Mike Lockwood <lockwood@android.com>
The set config will only update hostapd config file right now and we need to restart after that happens.
Also, softap interface is changed to be the regular interface
Bug: 5069108
Change-Id: Ibe80129b58e5339f06f186870bcd8f37569c6db3
The previous approach no longer works with the new USB drivers, since the usb0
interface is no longer enabled by default.
This introduced a chicken & egg problem - usb0 will not be enabled until the
user tries to start tethering, but Settings will not enable the checkbox unless
usb0 is enabled.
To fix this we add an explicit call to start USB tethering in the connectivity manager.
This will enable RNDIS if necessary and then bring up tethering once usb0 is enabled.
Change-Id: Iae1f733366aa6b0dafa66d4c97207794173ef54b
Signed-off-by: Mike Lockwood <lockwood@android.com>
Some VPN needs more time than others in order to create the secure tunnel.
For example, L2TP/IPSec PSK on average needs 15 seconds on WiFi. On mobile
connection, variation gets larger, and it sometimes needs more than 30
seconds. This change increases timeout period from 30 to 60 seconds.
Change-Id: I6006fd254a7bc91c22f63d2f3f20ea79ee9b05e2
This is a 1st pass at receiving events that indicate
some quota has been reached e.g. warning quota, data collection quota,
cutoff quota,...
It needs:
- new kernel with quota2 logging support
- new net:bandwidthcontroller that supports
. quota2,
. setting alerts.
- new NetlinkEvent/NetlinkManager/NetlinkHandler to process
NETLINK NFLOG messages.
Change-Id: Ibfbb13512c5350cdee0e544ec14caa6f59812409
1. No more End-Of-Arguments.
2. Daemons close the control socket after they are initialized.
3. No more system properties.
4. ip-up-vpn now creates state to pass the configuration.
5. JNI methods are split again for legacy VPN.
Change-Id: I02fafdf01d425c965345ef712b2bd5fdee3a0cab
The new link-status netlink monitor is a bit chatty and we were getting race conditions.
The wl0.1 soft-ap interface was getting created, but in the off state. We would report
it available (link-added always reports it) causing wifi to start tethering, but then
we'd sometimes get a link-status-down notification and a link-status-up, causing wifi
to freak out with these two requests.
The simple fix was to not listen to the new link-status notifications. This should be
redesigned in the future.
bug:4983942
Change-Id: Ica4f34d8bf2a07fc19b35a1e15283a7f8022165e
When someone tries to revoke packageA, it is possible that packageA is
already revoked by packageB. In this case packageB should not be revoked,
and the new prepare() can help solve this problem.
Change-Id: Iee056a191dd99467b8ad1b5379a17b02d404bad1