Commit graph android_packages_modules_Co.../framework
Message SHA1
Allow unprivileged NetworkCallbacks to see other UIDs' networks.
Currently, unprivileged apps can call getAllNetworks() to see
all networks on the system, even networks that do not apply to
them. Allow them to do this via NetworkCallbacks as well.

This is the last piece of information that was only available
through getAllNetworks, so this CL deprecates that API.

Bug: 187921303
Test: new unit tests
Test: CTS test in other CL in topic
Change-Id: I30f1021927d3c8eae6525116c61ff4a4acecff6d

Lorenzo Colitti   commited 2021-05-18 12:24:07 +09:00
d82c1ec110
Merge "Add ConnectivityAnnotations class" into sc-dev
Aaron Huang   authored and   Android (Google) Code Review   commited 2021-05-17 14:07:45 +00:00
3610ac6ad1
Merge "QOS filter matching support based on remote address and port number for connected sockets" am: fd92919d9d am: 61736254b7 am: cea0264ef0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1687813

Change-Id: I04ada71bdea2c3851fd6925126f6ff2bfdecad2c

Jayachandran Chinnakkannu   authored and   Automerger Merge Worker   commited 2021-05-14 21:19:17 +00:00
2e83d431f0
Merge "QOS filter matching support based on remote address and port number for connected sockets"
Jayachandran Chinnakkannu   authored and   Gerrit Code Review   commited 2021-05-14 20:02:30 +00:00
fd92919d9d
Merge "Address [set|get]RestrictedAllowedApps API review feedback" am: 38d6905614 am: d0c08e3cd8 am: 0cc57b5c0b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1708327

Change-Id: Ia8e395132226d23fdfb8cd4c93c004c459386104

Paul Hu   authored and   Automerger Merge Worker   commited 2021-05-14 11:00:38 +00:00
a99d1226d2
Merge "Replace clearAll with withoutDefaultCapabilities" into sc-dev
Chiachang Wang   authored and   Android (Google) Code Review   commited 2021-05-14 09:32:42 +00:00
cc142fec4c
Address [set|get]RestrictedAllowedApps API review feedback
- Rename [set|get]RestrictedAllowedApps to
  [set|get]AppsAllowedOnRestrictedNetworks
- Remove the regex of validate package name check

Bug: 188085693
Test: m update-api && m
Change-Id: I07966fb66093523a67e1e6a1ecfa05cc399e22f2

paulhu   commited 2021-05-14 15:27:36 +08:00
65de9957a1
Replace clearAll with withoutDefaultCapabilities
As the feedback from API review, the clearAll method in Builder
does not match the actual usage. Thus, remove it and replace
with withoutDefaultCapabilities to provide clearer usage.

Bug: 184735772
Test: make update-api ; m
Change-Id: Ida8d25d57504864f046e3403f593cc606fbfe982
CTS-Coverage-Bug: 186061922

Chiachang Wang   commited 2021-05-14 14:53:47 +08:00
c5c3bfb20e
Add ConnectivityAnnotations class
This change is to address API review, add respective
@IntDef for network policy API.

Typedef cannot be exposed as SystemApi so add
ConnectivityAnnotations class and add an annotation library
so that it can be used in module and platform.

Bug: 183972925
Test: m, build doc target framework-doc-stubs_annotations.zip
      and check the APIs have an attribute IntDef annotation
Change-Id: Ie3ec40cf48818edd422a4550377774eae387d3b2

Aaron Huang   commited 2021-05-14 10:30:49 +08:00
9ca37f599b
QOS filter matching support based on remote address and port number for connected sockets
This CL adds APIs for telephony to perform filter matching based on
remote address if the socket is connected. Additional checks will be
performed on the state of socket to avoid the future callbacks in a
separate CL.

Bug: 181916576
Test: Manually verified in live T-Mobile network
      atest ConnectivityServiceTest
      atest com.android.internal.telephony.dataconnection.QosCallbackTrackerTest

Change-Id: I6fbd4e84c76bc4acbf4e59f06f8e86e0237bae29

Jayachandran C   commited 2021-05-13 09:50:13 -07:00
eab334d00a
Merge "[NS04] Introduce Network Offers and their callbacks"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-05-13 15:11:45 +00:00
d603e40fa5
Merge changes Ia5bc896c,I0c9406f4,I3108ee94
* changes:
  Make VcnTransportInfoTest pass on AOSP.
  Immediately redact VcnTransportInfo.
  Do not automatically redact TransportInfo objects.

Lorenzo Colitti   authored and   Gerrit Code Review   commited 2021-05-13 15:11:01 +00:00
dff00cd42b
Merge "Update mobile data preference getter/setter" am: d0b2ba479b am: 6d5c51149c am: 7e6d9da39e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1702486

Change-Id: Ib55aaba8c8afc8a3152d83932bf345277bda35f9

Paul Hu   authored and   Automerger Merge Worker   commited 2021-05-13 14:53:21 +00:00
d3f33f364a
[NS04] Introduce Network Offers and their callbacks
This patch introduces the concept of a network offer that
providers send to Connectivity to register for relevant
requests. This lets them see only requests that they can
hope to satisfy considering their capabilities and score
filters.

This is meant to replace the filtering mechanism currently
implemented by NetworkFactory. The reason for replacing
this mechanism is that the old mechanism does caps and
score filtering on the factory side, which requires these
two filters to be contextless and available system-wide,
including in separate processes from the system server.
These constraints severely limit and complexify in
particular what the score comparisons may look like. In
the past the score comparison was only integer-based,
making the code duplication not much of a problem, but as
this scheme is becoming unsustainable by spreading the
complexity of the selection across the entire stack, a
centralized mechanism is now necessary.

This patch only introduces the new objects and has CS
keep track of them, but does not actually use them yet.
Followup patches will implement the logic of calling
the offer callbacks.

Test: FrameworksNetTests NetworkStackTests FrameworksWifiTests
Bug: 167544279
Merged-In: Idec1fe8eb4ac6f562bf098e3dd470f11024d04f2
(clean cherry-pick)

Change-Id: Idec1fe8eb4ac6f562bf098e3dd470f11024d04f2

Chalard Jean   authored and   Remi NGUYEN VAN   commited 2021-05-13 13:20:43 +00:00
97063fe5a1
Do not automatically redact TransportInfo objects.
Currently, NetworkCapabilities always redacts the TransportInfo
objects it contains whenever a defensive copy is made. This makes
it impossible to make a defensive copy on a TransportInfo
parcelled from another process without redacting it.

Stop redacting by default; instead rely on ConnectivityService
explicitly calling NetworkCapabilities' redacting constructor
when it returns a NetworkCapabilities object to an app via a
callback or synchronous call. This is currently done by
- createWithLocationInfoSanitizedIfNecessaryWhenParceled, which
  is called from callCallbackForRequest, getNetworkCapabilities,
  and getDefaultNetworkCapabilitiesForUser.
- getNetworkCapabilitiesWithoutUids, which is used when sending
  ConnectivityDiagnosticsManager callbacks. In this method,
  unconditionally redact all information, which is what the code
  did previously due to the default redaction setting for empty
  NetworkCapabilities objects being REDACT_ALL.

Bug: 183938194
Test: atest NetworkCapabilitiesTest
Test: atest FrameworksNetTests CtsNetTestCases HostsideVpnTests
Change-Id: I3108ee94cb0930958e071ba678c3554525b0db82

Lorenzo Colitti   commited 2021-05-13 20:24:19 +09:00
e61ffc1a50
Update mobile data preference getter/setter
To satisfy OEM's requests, setting mobile data preference
should be by uid. Thus, update the getter/setter to
return/accept set of uids that need to apply mobile data
preference.

Bug: 171872461
Test: atest FrameworksNetTests
Change-Id: Id44efd2a6d820867f4405426c91e65b9ef155898

paulhu   authored and   Paul Hu   commited 2021-05-13 10:35:29 +00:00
96a65940d8
Merge "Move net unit tests to packages/Connectivity" into sc-dev
Remi NGUYEN VAN   authored and   Android (Google) Code Review   commited 2021-05-13 09:09:35 +00:00
2f51ae273b
Merge "Add RESTRICTED_ALLOWED_APPS setting" am: 26cc1ff94e am: 93cbfdb5ff am: b8df949555
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1689208

Change-Id: I59c9ff9a64eac6b3367169450ca2c063ef34ff3c

Paul Hu   authored and   Automerger Merge Worker   commited 2021-05-13 06:36:18 +00:00
8ad8668755
Move net unit tests to packages/Connectivity
Move the tests together with packages/Connectivity code, so both can be
moved to packages/modules/Connectivity together.

Also reorganize unit tests in a unit/ directory, as other tests
(integration/, common/ etc.) have been added in tests/net since they
were created. This makes the directory structure consistent.

Test: atest FrameworksNetTests
Bug: 187814163
Ignore-AOSP-First: needs per-branch move for merge conflicts
Change-Id: I254ffd1c08ec058d594b4ea55cbae5505f8497cc

Remi NGUYEN VAN   commited 2021-05-13 05:55:44 +00:00
65b8995a15
Add RESTRICTED_ALLOWED_APPS setting
This setting is OEM upstream requirement for third party apps
using restricted networks.

Bug: 185149952
Test: atests FrameworksNetTests
Change-Id: I5e16b46cf2935f38ee1e516bb8b85fa487cf9f61

paulhu   commited 2021-05-13 10:09:31 +08:00
d82ece857d
Merge changes from topic "transportinfo-explicit-redaction" into sc-dev
* changes:
  Immediately redact VcnTransportInfo.
  Do not automatically redact TransportInfo objects.

Lorenzo Colitti   authored and   Android (Google) Code Review   commited 2021-05-12 22:46:36 +00:00
a8dbcb7e4c
Merge "Update PrivateDnsMode from StringDef to IntDef"
Lucas Lin   authored and   Gerrit Code Review   commited 2021-05-12 17:09:50 +00:00
0604a2e93e
Merge "Allow any transport with TEST if the network is restricted" am: 03de4e884b am: e32987bcb9 am: 6e2a3affcc
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1702489

Change-Id: Ib8ee3109ba5525ce1b1c6c2bd5ebcdc0b48a5319

Chalard Jean   authored and   Automerger Merge Worker   commited 2021-05-12 14:44:30 +00:00
35d3ca1c6d
Merge "Allow any transport with TEST if the network is restricted"
Chalard Jean   authored and   Gerrit Code Review   commited 2021-05-12 13:57:31 +00:00
03de4e884b
Merge "Use jniThrowErrnoException from JNIHelp"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-05-12 13:12:32 +00:00
60ce73bdc5
Merge "Move NetworkUtils JNI out of core/jni"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-05-12 13:12:09 +00:00
8842198f2e
Merge "Build framework-connectivity using module_current"
Remi NGUYEN VAN   authored and   Gerrit Code Review   commited 2021-05-12 13:11:22 +00:00
40d3b1fbea
Merge "Rename unwanted capabilities to forbidden capabilities."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2021-05-12 09:00:17 +00:00
dacc5e5f93
Merge "Emphasize possibility of multiple networks with same transport" am: 74adc3a813 am: a7472710a5 am: 197900e62e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1620459

Change-Id: I8417a8af1202c01803c61ff54363b45960af6965

David Su   authored and   Automerger Merge Worker   commited 2021-05-11 17:04:48 +00:00
318f23c5c8
Merge "Emphasize possibility of multiple networks with same transport"
David Su   authored and   Gerrit Code Review   commited 2021-05-11 15:51:28 +00:00
74adc3a813
Merge "Move to renamed NDK symbol AFileDescriptor_getFd" into sc-dev
Orion Hodson   authored and   Android (Google) Code Review   commited 2021-05-11 14:31:42 +00:00
1067c82274
Use jniThrowErrnoException from JNIHelp
Use the jniThrowErrnoException that is available in JNIHelp, instead of
reimplementing in NetworkUtils.

Bug: 179229316
Test: device boots and has connectivity
Merged-In: I257a9d55ce1f5a7c588e209b4a89d3e7a3e09994

Change-Id: I257a9d55ce1f5a7c588e209b4a89d3e7a3e09994

Remi NGUYEN VAN   commited 2021-05-11 14:18:27 +00:00
bf0edd457f
Do not automatically redact TransportInfo objects.
Currently, NetworkCapabilities always redacts the TransportInfo
objects it contains whenever a defensive copy is made. This makes
it impossible to make a defensive copy on a TransportInfo
parcelled from another process without redacting it.

Stop redacting by default; instead rely on ConnectivityService
explicitly calling NetworkCapabilities' redacting constructor
when it returns a NetworkCapabilities object to an app via a
callback or synchronous call. This is currently done by
- createWithLocationInfoSanitizedIfNecessaryWhenParceled, which
  is called from callCallbackForRequest, getNetworkCapabilities,
  and getDefaultNetworkCapabilitiesForUser.
- getNetworkCapabilitiesWithoutUids, which is used when sending
  ConnectivityDiagnosticsManager callbacks. In this method,
  unconditionally redact all information, which is what the code
  did previously due to the default redaction setting for empty
  NetworkCapabilities objects being REDACT_ALL.

Bug: 183938194
Test: atest NetworkCapabilitiesTest
Test: atest FrameworksNetTests CtsNetTestCases HostsideVpnTests
Change-Id: I3108ee94cb0930958e071ba678c3554525b0db82

Lorenzo Colitti   commited 2021-05-11 22:47:03 +09:00
b8756a814e
Move NetworkUtils JNI out of core/jni
Keep the utilities included via a library, but move them out of
core/jni, and prepare a library to package them together with
framework-connectivity.

Also remove unnecessary dependencies in framework-connectivity.

Bug: 171540887
Test: device boots and has connectivity

Merged-In: I0b55dfe92f3cb6e848d79ac7953756f39aaa2597

Change-Id: I0b55dfe92f3cb6e848d79ac7953756f39aaa2597

Remi NGUYEN VAN   commited 2021-05-11 13:02:39 +00:00
40330008c3
Build framework-connectivity using module_current
framework-connectivity needs to build only against stable APIs.

Bug: 171540887
Test: m framework-connectivity.impl
Merged-In: I2d51d37d067bf6fe86e4dedf05855a2dd67ed57c

Change-Id: I2d51d37d067bf6fe86e4dedf05855a2dd67ed57c

Remi NGUYEN VAN   commited 2021-05-11 13:00:42 +00:00
472d13d498
Rename unwanted capabilities to forbidden capabilities.
Addresses API council feedback.

Bug: 184890428
Test: atest FrameworksNetTests CtsNetTestCases
Test: atest CtsNetTestCasesLatestSdk:NetworkCapabilitiesTest on R device
Change-Id: Id7c68fbf56ee08fcad8e8e3aacf037fa1885936b

Lorenzo Colitti   commited 2021-05-11 17:46:13 +09:00
e1d928aff5
Allow any transport with TEST if the network is restricted
This will allow CTS to add the WIFI transport and others,
letting them test a number of essential features of the
ranking algorithm.
It's relatively safe because restricted networks can never
become the default, and NOT_RESTRICTED is a default
capability so very few apps would be affected by the shell
creating such a network.

Bug: 184037351
Test: NetworkScoreTest (which is under review)
Change-Id: I21055dc613fead6130adc2122f2cdd0af9b49adf

Chalard Jean   commited 2021-05-11 15:42:10 +09:00
308ba661a7
Rename unwanted capabilities to forbidden capabilities.
Addresses API council feedback.

Bug: 184890428
Test: atest FrameworksNetTests CtsNetTestCases
Test: atest CtsNetTestCasesLatestSdk:NetworkCapabilitiesTest on R device
Change-Id: Id7c68fbf56ee08fcad8e8e3aacf037fa1885936b

Lorenzo Colitti   commited 2021-05-08 01:48:01 +09:00
56a0ecab32
Update PrivateDnsMode from StringDef to IntDef
Update PrivateDnsMode from StringDef to IntDef because IntDef is
the normal way of representing multiple choices in public API.
Also update other related files.

Bug: 185311744
Test: 1. make update-api
      2. atest FrameworksNetTests CtsNetTestCases CtsNetTestCasesLatestSdk
      3. atest FrameworksServicesTests:DevicePolicyManagerTest
Change-Id: I23e7ec140066979726d769cabc5f7057bb2167e6
Merged-In: I23e7ec140066979726d769cabc5f7057bb2167e6
    (Cherry-picked from ag/14227609)

lucaslin   authored and   Lucas Lin   commited 2021-05-05 03:19:51 +00:00
de1e9855ed
Merge "Add doc to getNetworkCapabilities" am: bf213ad25f am: aaadd384e9 am: 026c310600
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1690668

Change-Id: I0c41878350ffe4015fe9e6034651f50366503dfe

Junyu Lai   authored and   Automerger Merge Worker   commited 2021-05-03 04:06:34 +00:00
050f198ec0
Merge "Add doc to getNetworkCapabilities"
Junyu Lai   authored and   Gerrit Code Review   commited 2021-05-03 03:16:24 +00:00
bf213ad25f
Move to renamed NDK symbol AFileDescriptor_getFd
Bug: 185256332
Test: TH
Change-Id: Ic13f1d9832d5ae5b6ae4b96323025d9b695fdaf9

Orion Hodson   commited 2021-04-30 17:48:03 +01:00
ed8a397d3b
Add doc to getNetworkCapabilities
Test: doc-only change
Fixes: 158092418
Change-Id: Ic20fb55e1bdd4e836468794d1f86d3e9d0bc5965

Chalard Jean   commited 2021-04-30 11:24:00 +00:00
39b21a3751
Merge "Rename getAllNetworkStateSnapshot which should be pluralized"
Treehugger Robot   authored and   Gerrit Code Review   commited 2021-04-29 04:40:51 +00:00
416a37f7f8
Remove EXTRA_PROXY_INFO.
This has been deprecated since M because it very error-prone, and
there are documented replacements.

Test: m
Bug: 171872228
Change-Id: Ide9846a26fc440b3ec5b4e4b444a046e738de3d6

Lorenzo Colitti   commited 2021-04-27 20:01:22 +09:00
b612fb41de
Merge "Address API review feedback"
Chiachang Wang   authored and   Gerrit Code Review   commited 2021-04-26 00:22:27 +00:00
14a74d0c62
Update PrivateDnsMode from StringDef to IntDef
Update PrivateDnsMode from StringDef to IntDef because IntDef is
the normal way of representing multiple choices in public API.
Also update other related files.

Bug: 185311744
Test: 1. make update-api
      2. atest FrameworksNetTests CtsNetTestCases CtsNetTestCasesLatestSdk
      3. atest FrameworksServicesTests:DevicePolicyManagerTest
Change-Id: I23e7ec140066979726d769cabc5f7057bb2167e6

lucaslin   commited 2021-04-23 21:03:39 +08:00
3077988ad2
Address API review feedback
Address API review feedback to:
 - Rename NetworkAgent#setTeardownDelayMs to
   NetworkAgent#setTeardownDelayMillis
 - Use getters instead of fields in VpnTransportInfo
 - Rename registerDefaultNetworkCallbackAsUid to
   registerDefaultNetworkCallbackForUid in ConnectiivityManager

Bug: 183972850
Bug: 185246410
Fix: 184735863
Test: make update-api
Test: atest FrameworksNetTests
Test: atest CtsNetTestCasesLatestSdk
Change-Id: I5e8c4bed8bda40d507afa894c359b5e24ee5d868
Merged-In: I5e8c4bed8bda40d507afa894c359b5e24ee5d868

Chiachang Wang   commited 2021-04-23 02:46:05 +00:00
2cd79f28d8
Merge "Address API review feedback" into sc-dev
Chiachang Wang   authored and   Android (Google) Code Review   commited 2021-04-23 00:30:51 +00:00
aa64c84fd9
Rename getAllNetworkStateSnapshot which should be pluralized
Address API review feedback, ConnectivityManager#getAllNetworkStateSnapshot
should be pluralized so rename the method to getAllNetworkStateSnapshots

(cherry picked from ag/14221105)
Bug: 183972554
Test: make, FrameworksNetTests
      FrameworksServicesTests
Merged-In: Ic18d17d05984fa2466c962c7843c0ef7183ce77c
Change-Id: Ic18d17d05984fa2466c962c7843c0ef7183ce77c

Aaron Huang   commited 2021-04-22 17:45:22 +08:00
3227bfb2dc