Commit Graph

92567 Commits

Author SHA1 Message Date
Chalard Jean
eb1ea889bc Deprecate getActiveLinkProperties.
There are other, more idiomatic ways to do this. Deprecating this
with usage limited to P will curb usage and reduce the maintenance
load.
This also deprecates the extra EXTRA_NETWORK_TYPE, which has
survived from an old world but has only been used in deprecated
broadcasts for some time.

Bug: 109783091
Test: eyeball current.txt
Change-Id: I87b74833bb4ec362ee3fd07511a66d318c29067d
2019-02-06 15:44:44 +09:00
Chalard Jean
292da961e6 Merge "[KA02] internal cleanup and refactor for SocketKeepalive" 2019-02-05 17:56:02 +00:00
Nandana Dutt
cefdee8540 Merge "Add error handling and other improvements to Bugreporting API" 2019-02-05 13:48:13 +00:00
junyulai
06835112ab [KA02] internal cleanup and refactor for SocketKeepalive
In previous change, the new SocketKeepalive API was exported.
But internally, old PacketKeepalive names and structures are
still used.

This change rename them properly for code consistency and also
refactor KeepalivePacketData to support different types of
KeepalivePacketData.

Bug: 114151147
Test: 1. atest FrameworksNetTests
      2. atest FrameworksWifiTests
      3. atest FrameworksTelephonyTests

Change-Id: Ia9917d12987e91e87e34ffb3f126e7bc7c9c187e
Merged-In: Ia9917d12987e91e87e34ffb3f126e7bc7c9c187e
2019-02-05 20:13:47 +09:00
Nandana Dutt
551906c296 Add error handling and other improvements to Bugreporting API
* Validate input arguments
* Ensure primary user
* Handle remote exceptions
* Pass error conditions to listener
* Ensure only one bugreport is in progress, at least via the API.

BUG: 123584708
BUG: 123571915
Test: Builds
Test: Manual; unit tests coming up

Change-Id: I4d1e0000fe815a02b82ce625864759fd818e6a24
2019-02-05 10:37:37 +00:00
Orion Hodson
e649a56524 Move CLIENT_PROTOCOL_VERSION to point of use
Removes dependency on constant that was in libcore.

Bug: b/119742461
Test: m -j100 checkbuild
Change-Id: I1708652edf65789ef4bdb6e83568696f70f96bdd
2019-02-04 17:09:31 +00:00
Hans Boehm
13060ffbd8 Improve AsyncTask API documentation
Bug: 34278255
Test: TreeHugger
Change-Id: I0347072112254f98d257a72ef1fc7c21b086df39
2019-01-31 17:36:36 -08:00
Howard Chen
0b2057db02 Merge "Add the DynamicAndroid Service" 2019-01-31 14:35:49 +00:00
Remi NGUYEN VAN
0fe59007ce Merge "Add NetworkStackPermissionStub definitions" 2019-01-31 14:13:22 +00:00
Remi NGUYEN VAN
d8c75a0438 Add NetworkStackPermissionStub definitions
The NetworkStackPermissionStub package is used to enforce that
permissions used by the NetworkStack are only used in packages
sharing signature with NetworkStackPermissionStub.

Permissions defined in this package are intended to be used only by the
NetworkStack: both NetworkStack and the stub APK will be signed with
a dedicated certificate to ensure that, with permissions being signature
permissions.

This APK *must* be installed, even if the NetworkStack app is not
installed, because otherwise, any application will be able to define
this permission and the system will give that application full access
to the network stack.

Test: flashed, booted
Bug: 112869080
Change-Id: Ia13a9e6a703cb7b4403697a7f7bfff0f6f3b813e
2019-01-31 21:16:13 +09:00
Remi NGUYEN VAN
4bb4c1a792 Merge "Fix bluetooth tethering on multi-user" 2019-01-31 11:53:53 +00:00
Remi NGUYEN VAN
643e60b0fe Merge changes from topic "bindprocess-resolv"
* changes:
  Allow use of bindProcessToNetwork only to change private DNS bypass.
  Allow bypassing private DNS via bindProcessToNetwork.
2019-01-31 07:52:04 +00:00
Mark Chien
4163ff7928 Merge "Add get last entitlement value callback API" 2019-01-31 07:23:31 +00:00
Howard Chen
f17f42b0df Add the DynamicAndroid Service
Define the DynamicAndroid with AIDL.
  Add a java implementation.
  Start a service instance in the system server.
  Add a permission test.

Bug: 122015653
Test: Build & Test on a pixel phone with following command \
  ./frameworks/base/services/tests/runtests.py -e class com.android.server.DynamicAndroidTest

Merged-In: I2e54b6b71fac4a4c5a9c9c25ce6bdac74cddcfb7
Change-Id: I2e54b6b71fac4a4c5a9c9c25ce6bdac74cddcfb7
2019-01-31 15:10:21 +08:00
Remi NGUYEN VAN
3b906878f8 Fix bluetooth tethering on multi-user
Bluetooth runs as UID 1001002 when on a secondary user. With this change
the NetworkStack verifies that the calling UID matches the Bluetooth app
regardless of the user.

Test: flashed, BT reverse tethering still working as primary user
      (no option to turn on as secondary user on phones)
Bug: 123655057
Change-Id: I23f9c5fa40f3bb676ac65dd8c15106c9d78309a4
2019-01-31 16:03:21 +09:00
Remi NGUYEN VAN
b334bbefd4 Merge "Add UserHandle.getAppId to SystemApi" 2019-01-31 06:04:11 +00:00
markchien
f273127880 Add get last entitlement value callback API
The callback would be used to notify entitlement value. If the
cache value indicates entitlement succeeded, it just fire
callback with cache value instead of run entitlement check.

Bug: 120887283
Test: atest FrameworksNetTests
Change-Id: I8afe928423bd75c54c61533a50a5c0814922ceb1
2019-01-31 12:31:55 +08:00
Lorenzo Colitti
e5ca11604e Allow use of bindProcessToNetwork only to change private DNS bypass.
Currently it is not possible to change private DNS bypass by
doing:

  setProcessDefaultNetwork(network.getPrivateDnsBypassingCopy());
  setProcessDefaultNetwork(network);

because the code will ignore the change. Fix this by ensuring
that we always call bindProcessToNetwork (which does not have
side effects) and then only performing the expensive operations
(flushing DNS cache, upating socket pools) if the netId changed.

Bug: 112869080
Test: None
Change-Id: I5e8999cb11d8b8c1e9eb583fa8b3932f212accff
2019-01-31 13:08:24 +09:00
Remi NGUYEN VAN
9e70a42252 Add UserHandle.getAppId to SystemApi
This is consistent with other methods in this class, and unbundled
system apps such as the network stack need this API to verify their
callers regardless of the userid. The method is already marked as
TestApi.

Test: m
Bug: 123655057
Change-Id: I0ecef4abcd850dc641cd70681a56cb038778c04c
2019-01-31 12:52:03 +09:00
Varun Anand
62a9b66a38 Merge "Add an API that allows VPNs to declare themselves as metered." 2019-01-31 02:43:25 +00:00
Christian Wailes
3ad8923842 Merge "Added OWNERS entries for some Zygote related files." 2019-01-31 01:04:28 +00:00
Remi NGUYEN VAN
55849979a5 Merge "Add SystemApi for captive portal metrics" 2019-01-30 22:24:12 +00:00
Treehugger Robot
35a8f1a38a Merge "Nuke old setAlwaysOnVpnPackageForUser method." 2019-01-30 22:10:40 +00:00
Varun Anand
1215f09b07 Add an API that allows VPNs to declare themselves as metered.
For VPN apps targeting Q and above, they will by default be treated as
metered unless they override this setting before establishing VPN.

Bug: 120145746
Test: atest FrameworksNetTests
Test: On device tests verifying meteredness setup correctly for apps
targeting Q and apps targeting P.
Change-Id: Ia6d1f7ef244bc04ae2e28faa59625302b5994875
2019-01-30 14:09:03 -08:00
Dan Sandler
559d6018b6 Merge "Some of us are weird." 2019-01-30 20:58:46 +00:00
Pavel Grafov
194b1cebd1 Nuke old setAlwaysOnVpnPackageForUser method.
All callers have migrated to 4-argument one.

Test: builds
Bug: 77468593
Change-Id: I253515f6b0100b675505646339e5b82d373c9429
2019-01-30 19:56:36 +00:00
Treehugger Robot
15b86c9037 Merge "[layout precompilation] Add testing hook for precompiled layouts" 2019-01-30 17:55:18 +00:00
Eric Holk
3b95621e12 [layout precompilation] Add testing hook for precompiled layouts
We want to be able to control at a fine grained level whether precompiled
layouts are enabled so we can compare inflation results with and without. This
changes adds a @TestApi method that supports this.

Bug: 111895153
Merged-In: Ib6b62d79a9ca7aefefff8639752aa5838e491038
Change-Id: I2f28f6912499825e52c17cc163be9c0fe93855cb
2019-01-30 16:19:29 +00:00
Lorenzo Colitti
65ceeb4db2 Allow bypassing private DNS via bindProcessToNetwork.
Currently, bypassing private DNS requires calling the deprecated
setProcessDefaultNetworkForHostResolution. Allow apps to do this
via the non-deprecated binProcessForNetwork as well.

This has fewer backwards compatibility concerns than the
alternative approach of having setProcessDefaultNetwork call
setProcessDefaultNetworkForHostResolution. That approach would
have been problematic, for example, if an app did:

  cm.bindProcessToNetwork(network);
  ...
  cm.bindProcessToNetwork(null);

In this case, it would be difficult to know whether to clear the
resolver mapping as well: what if an app had also called
setProcessDefaultNetworkForHostResolution?

Similarly, it would be difficult to know what to do if an app did:

  cm.setProcessDefaultNetworkForHostResolution(network);
  cm.bindProcessToNetwork(null);

This approach does not have these concerns, and has no effect
on apps that don't call Network.getPrivateDnsBypassingCopy, which
regular apps don't have permission to use. It also provides a
path to deprecate setProcessDefaultNetworkForHostResolution.

Bug: 112869080
Test: atest android.net.cts.ConnectivityManagerTest android.net.cts.MultinetworkApiTest
Change-Id: I4158a37b6ed87a9a9b2677c526dcfee8af48e483
2019-01-31 00:55:47 +09:00
Remi NGUYEN VAN
de60221ec8 Add SystemApi for captive portal metrics
The metrics go through NetworkMonitor in the NetworkStack so that they
can be upgraded to new metrics in the future.

Test: flashed, captive portal login works, metrics shown in events log
Bug: 112869080
Merged-In: I4bccfbd87bae5b2d65e45c7a5918aa45ab5d76e8
Change-Id: Ib5e2126788f8d56a00a56d7efcd33c5f9a37a6de
2019-01-30 22:54:27 +09:00
Andrei Onea
89acbab9c8 Initialise hidden api usage logger pre-fork
Topic: hidden-api-reporting-upcall
Test: m
Bug: 119217680
Change-Id: I8722f0bf4275fea4a8faf41d7b862c04b4014824
Merged-In: I80f82092ef779a7dc1f1322cb7c05ebf5e59939b
2019-01-30 11:17:07 +00:00
Neil Fuller
20bca262f5 Merge "Track ZygoteHooks API changes in libcore" 2019-01-30 10:53:55 +00:00
Adrian Roos
b852f6636f Merge "API: Fix missing @NonNull annotations" 2019-01-30 09:31:58 +00:00
Remi NGUYEN VAN
16ec5d038c Merge "Remove last NetworkStack usage of hidden APIs" 2019-01-30 04:55:21 +00:00
Remi NGUYEN VAN
231b52bc03 Remove last NetworkStack usage of hidden APIs
Includes various small changes to stop using hidden APIs

Test: make NetworkStack
Test: flashed, booted, WiFi and tethering working
Bug: 112869080
Change-Id: Id2830795a444f484b377ed6437435a1cd833697a
2019-01-30 10:23:24 +09:00
Pavel Grafov
2b60849c5c Whitelist packages from VPN lockdown: DPM API.
Bug: 77468593
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpn
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot
Change-Id: I7508070f828fb7150df5d9e34846535d57c6a7c3
Merged-In: I7508070f828fb7150df5d9e34846535d57c6a7c3
2019-01-29 21:49:07 +00:00
Neil Fuller
927c15c470 Track ZygoteHooks API changes in libcore
Track ZygoteHooks API changes in libcore to make
the ZygoteHooks API more consistent.

Bug: 111742291
Test: build / boot / treehugger
Merged-In: Ie65aac6539cffc90663807791511b95a6cd61ab4
Change-Id: Ie65aac6539cffc90663807791511b95a6cd61ab4
2019-01-29 19:47:35 +00:00
Dan Sandler
8c6ff42abc Some of us are weird.
Test: dsandler can give OWNERS approval
Change-Id: I9b4f7903513e7171dfa51aa39a32b6bcfbfbb0eb
2019-01-29 14:44:39 -05:00
Treehugger Robot
4a838a68d6 Merge "Move FdEventsReader to the shared area." 2019-01-29 11:45:15 +00:00
Chalard Jean
0bf364d92e Move FdEventsReader to the shared area.
This is necessary both in the network stack app and the
framework.

Test: FrameworksNetTests
Change-Id: I48af0ab29405501f0581a6c0c9ce6e5d4a32c8b4
2019-01-29 18:35:11 +09:00
Remi NGUYEN VAN
249da094eb Add utils connect, setsockopt, bind, sendTo
The utilities are not supported as public API but required as SystemApi
for the NetworkStack.

Test: flashed, boots, WiFi works
Bug: 112869080
Change-Id: Ia64b3bf9c6c33cf61bed76469ea9963b550bed2b
2019-01-29 17:49:36 +09:00
Remi NGUYEN VAN
5c5f1ba99c Add NetworkUtils utilities to SystemApi
attach*Filter and addArpEntry are necessary for the NetworkStack but are
only usable for apps that have system permissions.
Also includes system API for IpPrefix, LinkAddress, LinkProperties,
Network, and static modifier in ApfCapabilities that were missed in
previous CLs.

Test: Builds, flashed, WiFi works
Bug: 112869080
Change-Id: If141ae6a2f9145f5af64ba002ca44938f39b90a9
2019-01-29 17:30:26 +09:00
Remi NGUYEN VAN
cec60fa56a Merge "Add SocketUtils for NetworkStack" 2019-01-28 23:14:08 +00:00
Ruchi Kandoi
3ffdb26aa8 Merge "Add Secure NFC functionality" 2019-01-28 22:11:32 +00:00
Pavel Grafov
774c3ce152 Merge "Whitelist packages from VPN lockdown." 2019-01-28 20:15:49 +00:00
Nandana Dutt
706b2d0e16 Merge "Remove DumpstateOptions" 2019-01-28 17:20:45 +00:00
Nandana Dutt
6ac57c669a Merge "Expose bugreporting API as system API." 2019-01-28 16:27:07 +00:00
David Brazdil
faedae5981 Merge "Add @UnsupportedAppUsage to methods known to be used by apps" 2019-01-28 14:23:43 +00:00
David Brazdil
576da0582f Add @UnsupportedAppUsage to methods known to be used by apps
Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 123308819
Bug: 122291025
Test: m appcompat
Change-Id: Iafd62b8ece0d19268fad65086134a1e7369bc0bb
2019-01-28 12:46:33 +00:00
Remi NGUYEN VAN
53b03140d4 Add SocketUtils for NetworkStack
These utilities can only be used for privileged apps. The underlying
implementation cannot be @SystemApi.

Test: m
Bug: 112869080
Change-Id: Idfa90561102e5b03ab2b79486d3ad46457128bf8
2019-01-28 20:11:27 +09:00