Callers with CONNECTIVITY_INTERNAL permission can read off the netId
that an application is assigned to by default.
Necessary for making connections as the default network for a client
app eg. when downloading stuff on its behalf.
Bug: 27074270
Change-Id: I8d35e8e99126875f55f3c545090326f3e9be43fb
am: a577a3a
* commit 'a577a3a29f601fd2b71ad89eedcc52bdd8efbccb':
Make public the registerDefaultNetworkCallback API
Change-Id: Ic749ede5b84e443fed04701ecdd0f6521a77158f
Since Lollipop, routes are isolated within Networks. Flushing a
Network's DNS cache whenever that same Network's routes are updated
doesn't provide any benefit. Any system components depending on this
behaviour need to uncovered and fixed.
Additionally, clean up no-longer-used flushNetworkDnsCache(). This
should be replaced, when needed, by a proper binder interface to netd.
Change-Id: I34bf79e4839da014d466058a876d754209d0c007
There's a few advantages to having ApfFilter in IpManager:
1. If things go wrong, crashing a particular transport is less bad then
crashing ConnectivityService. We also don't want to use
ConnectivityService as a dumping ground for transport-specific logic.
2. This makes implementing WifiManager.MulticastLock a lot simpler and
safer because enabling/disabling it doesn't have to go through the
NetworkAgent, which could risk various races (e.g. installing a filter
into the wrong WiFi network).
3. IpManager is the ultimate source for LinkProperties for a particular
transport and since ApfFilter uses the LinkProperties it's better to
have it closely paired with the IpManager. Likewise, ApfFilter needs
to know the APF capabilities of the transport, so having it in
the transport avoids having to parcel this information through the
NetworkAgent.
Bug: 26238573
Change-Id: I99b85f2b64972f0e7572170ec5d1926081aa3429
Adds initial support for IP connectivity metrics collection (DHCP
client, IP reachability monitor, network monitor, connectivity
service).
Change-Id: If9a0455f2a34aa9abea90f9c1b38e4d895dc1a72
The "default network tracking" request is somewhere between a listen
and a request, in previous semantics. It is more like a listen in that
it doesn't cause any network to be brought up, but also like a request
in that will only get callbacks about a single network at a time (not
all networks that might match).
This change minimally splits the NetworkRequest types into 3: LISTEN,
REQUEST, and TRACK_DEFAULT.
Change-Id: I2d113b2f6eed526a7808592bce0118260a56f77c
Create a common singleton thread to be shared among all
connectivity tasks. Instead of launching separate threads to
handle downstream messages from the various service instances used
in connectivity, these managers can choose to share this instance.
Bug: 27695292
Change-Id: Idd1e37a3e793c5485091509c3d7351e4d29288f0
Occasionally, ConnectivityServiceTest fails with "BUG: only one
idle handler allowed". I have not been able to reproduce this
consistently, but code inspection reveals an unsafe access to
mIdleHandler inside queueIdle. Wrap that in a synchronized block.
Change-Id: I27307e2e55fa8d937d7f043bd436894091c3c667
1. Store additional debug information when RA filtering.
2. Add a toString method for RA packets.
3. Make "adb shell dumpsys connectivity apf" dump APF filter
state.
Bug: 26238573
Change-Id: I1441ff7bc90e63624f8b10a220b2ac97f4d390a5
This avoids a NullPointerException when trying to call the callback
and gives a more readable error message.
Change-Id: Id0353ef541c76efcb4a9a12c082e1b6ec9389f02
Sometimes USER_UNLOCKED can be sent before USER_STARTED. This puts
lockdown in a bad state as it needs a fully-functioning user to tie
itself to and listen for connectivity events.
Bug: 27637943
Change-Id: I41a784a75a8c8674cb61dbba10693dd56c9396dd
Probably not a portal: exception java.net.SocketException: Binding socket to network 102 failed: EPERM (Operation not permitted)
If there are SYSTEM permissions, then the original is SYSTEM permissions,
do not update. If other app of this uid have network permissions, the same
as before do not update, or update permissions. If all app of this uid
do not have any network permission to remove permissions.
Change-Id: I304d22b37de38d8b182639c0d7d7200adfcf715d
Signed-off-by: zhangshuxiao <zhangshuxiao@xiaomi.com>
am: fc79ffdbe6 -s ours
* commit 'fc79ffdbe641a470e364cf205616879cb87e3eb1':
DO NOT MERGE: Move PinningNetworkCallback out to a new NetworkPinner class.
am: 502d7cd551 -s ours
* commit '502d7cd551e8a510f818bbe85a038c4e60913ef7':
DO NOT MERGE: Move PinningNetworkCallback out to a new NetworkPinner class.
am: 15e93f3715
* commit '15e93f3715742d0ffad6089cf804842f2e5f393b':
Turn down the logging a little bit.
Turn down the logging a little bit and don't do a log wrapper function.
Turn down the logging a little bit.
Turn down the logging a little bit.
Turn down the logging a little bit.
Turn down the logging a little bit.
Turn down the logging a little bit.
Listen for ICMP6 router advertisements on networks that support
packet filters. Construct packet filters and install them to
ignore redundant future ICMP6 router advertisements.
Bug: 26238573
Change-Id: If78300b9fda257c21f3ee6533e1da7de9f897cb4