Commit Graph

4257 Commits

Author SHA1 Message Date
Benjamin Miller
4c26bb6751 Merge "docs: Linked VpnService class description to guide." am: 97f778f0b5 am: a2443f115e
am: ff94fa9d4e

Change-Id: I0758c4d7c79810bbb0c7a78a803f5e875f35cf48
2019-04-02 08:45:38 -07:00
Treehugger Robot
97f778f0b5 Merge "docs: Linked VpnService class description to guide." 2019-04-02 15:14:28 +00:00
Paul Hu
1d5f6d3b9e Merge "Address leftover comments on 923337 and 930217." am: 1e97aab6f4 am: 55a22b5d17
am: 1d7b92b9d5

Change-Id: I75eadb66c81d72c768e77feddd383d60f8accd65
2019-04-02 01:29:08 -07:00
Paul Hu
1e97aab6f4 Merge "Address leftover comments on 923337 and 930217." 2019-04-02 07:39:04 +00:00
paulhu
3d67f53b02 Address leftover comments on 923337 and 930217.
- Restrict unprivileged apps to use
  NetworkRequest.Builder#setSignalStrength.

- Remove the "throws NullPointerException" in
  CaptivePortalProbeSpec constructor.

- Remove the null check in LinkProperties.

- Add annotataion into all ConnectivityManager.NetworkCallback
  methods.

Change-Id: Id275cac1d6a30d7515cd7b113394f5e8a0179314
Fix: 129097486
Test: atest FrameworksNetTests
2019-04-01 16:24:10 +08:00
Paul Hu
b2913320cd Merge "Fix ApfCapabilities, LinkAddress, RouteInfo, IpPrefix API issues." am: f9d61f1c6d am: 96f34c3151
am: bf3e6f5e75

Change-Id: I599dcdb2312a3e1bb1de8e03f349df207c7cc075
2019-04-01 00:52:53 -07:00
Paul Hu
f9d61f1c6d Merge "Fix ApfCapabilities, LinkAddress, RouteInfo, IpPrefix API issues." 2019-04-01 07:20:53 +00:00
Remi NGUYEN VAN
b93bfa1d69 Merge "Fix race when starting NetworkMonitor" am: 78454f3c46 am: f75ba075e4
am: 940cbf970a

Change-Id: I595ecdbf0b8e91fec4287c3476239a1e6c9c80a7
2019-03-31 21:35:25 -07:00
Remi NGUYEN VAN
78454f3c46 Merge "Fix race when starting NetworkMonitor" 2019-04-01 03:54:03 +00:00
Remi NGUYEN VAN
3962f678c3 Fix race when starting NetworkMonitor
NetworkMonitor obtained LinkProperties and NetworkCapabilities via
synchronous calls to ConnectivityManager after receiving an asynchronous
notification, which is prone to races: the network could be gone before
the LinkProperties/NetworkCapabilities can be fetched.

Fix the race by passing LinkProperties/NetworkCapabilities directly to
NetworkMonitor in the asynchronous notifications.

Test: atest FrameworksNetTests NetworkStackTests
Test: booted, WiFi works
Bug: 129375892
Change-Id: I200ac7ca6ff79590b11c9be705f650c92fd3cb63
2019-04-01 11:33:10 +09:00
paulhu
819e0aff30 Fix ApfCapabilities, LinkAddress, RouteInfo, IpPrefix API issues.
Fix: 129362082
Fix: 129361362
Fix: 129360330
Fix: 129362379
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I05fbc6f98207d5cf002e3cbc5829040af7d6be52
2019-04-01 10:23:51 +08:00
Luke Huang
3a1438838d Merge "Minor change for async DNS API" am: 80be1b1127 am: 73b82e417b
am: b0ae2647cb

Change-Id: Iebc2946e5705cfda16f44cb468804c2be385c02a
2019-03-29 12:03:25 -07:00
Lorenzo Colitti
bab3434f8c Merge "Unremove DnsResolver#query method used by external developers" am: 3dd6df002b am: 3206b80bae
am: 2e58d5b4e5

Change-Id: Ibfba10cb92e63a7ae727f48543da040aa5f39116
2019-03-29 08:38:15 -07:00
Luke Huang
5bf7aa2abb Minor change for async DNS API
do the minor changes to address comments before

Bug: 129395490
Test: atest DnsResolverTest
Change-Id: I56e2e5bc4352ff5c979579247a333a41950079da
2019-03-29 18:12:26 +08:00
Luke Huang
e9b2bba302 Unremove DnsResolver#query method used by external developers
This method was removed as part of addressing API council feedback in b/129261432
Add back previous DnsResolver#query which is already being used by developers.

Bug: 129395490
Test: atest DnsResolverTest

Change-Id: Ic956db204f3940d39d42e1b11dda39e57d356fad
2019-03-29 18:12:26 +08:00
Luke Huang
580b236a0a Merge "Fix cancellation race problem for aysnc DNS API" am: 1859ae7e7d am: 391b3aa532
am: 2cc1be3b5a

Change-Id: I4e10bfaa43a63cedd9fbddfc6f8bf8853c426eba
2019-03-28 21:18:41 -07:00
Luke Huang
1859ae7e7d Merge "Fix cancellation race problem for aysnc DNS API" 2019-03-29 03:15:32 +00:00
Varun Anand
6c93e5378a Merge changes from topic "vpn_data_accounting"
* changes:
  Move BatteryStats and StatsCompanionService to use NetworkStatsService.
  NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
  Take all VPN underlying networks into account when migrating traffic for VPN uid.
2019-03-29 00:40:53 +00:00
Varun Anand
29d2ef2fe1 NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.
This API is similar to one provided by NetworkStatsFactory with the
difference that NSS also migrates traffic from VPN UID to other apps.

Since traffic can only be migrated over NetworkStats delta, NSS
therefore maintains NetworkStats snapshot across all UIDs/ifaces/tags.

This snapshot gets updated whenever NSS records a new snapshot
(based on various hooks such as VPN updating its underlying networks,
network getting lost, etc.), or getDetailedUidStats API is invoked by
one of its callers.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: manually verified that battery stats are migrating traffic off of
TUN (after patching above CL where we point BatteryStats to use this
API).
Change-Id: Ib0f0c2d4d41ee1d7a027ea9da457baaf198d649e
2019-03-28 10:31:51 -07:00
Varun Anand
95aa6d446f Take all VPN underlying networks into account when migrating traffic for
VPN uid.

Bug: 113122541
Bug: 120145746
Test: atest FrameworksNetTests
Test: Manually verified on device that stats from VPN UID are moved
      appropriately based on its declared underlying network set.
Test: vogar --mode app_process --benchmark NetworkStatsBenchmark.java

Change-Id: I9d8d0cc58d18002c1c96f8ddff780ef8dc452d21
2019-03-28 10:31:49 -07:00
Luke Huang
5386f49418 Fix cancellation race problem for aysnc DNS API
This problem might cause double-close fd and result in app crash
or unexpected behaviour

Bug: 129317069
Test: atest DnsResolverTest
      manual test with delaying response callback/cancel
Change-Id: I223234f527edafc51d34fa6be390419c05def8d8
2019-03-28 19:46:56 +08:00
Junyu Lai
649d9a23e6 Merge changes I0baf582f,I4bba01ba am: e5ee6b9b31 am: abb63e3a99
am: 213cda6940

Change-Id: I2cc021899270b41e4b9047ef32869af53ea6fb65
2019-03-27 18:43:18 -07:00
Junyu Lai
e5ee6b9b31 Merge changes I0baf582f,I4bba01ba
* changes:
  Block unpriviledged apps which create keepalives with null fd
  Fix keepalive don't get removed when lower layer error
2019-03-28 00:53:20 +00:00
junyulai
15178155e0 Block unpriviledged apps which create keepalives with null fd
Currently, socketKeepalive implementation is accepting null fd
due to backward compatibility with legacy packet keepalive API.
However, due to lack of the fd, the service cannot guarantee the
port is not reused by another app if the caller release the port
for any reason.

Thus, grant the null fd access only for priviledged apps.

This commit also address some comments from aosp/918533.

Bug: 126699232
Test: atest FrameworksNetTests
Change-Id: I0baf582ff4ca8af6082c3754e8dfbcd867f39792
2019-03-27 19:51:08 +08:00
Remi NGUYEN VAN
b38180edc1 Merge "Use SystemApi framework parcelables directly" am: 021ea66aea am: 4864ffd97e
am: ddac1161d9

Change-Id: I99a21274856a0f9903cc8242f91735128117919f
2019-03-26 20:28:03 -07:00
Treehugger Robot
021ea66aea Merge "Use SystemApi framework parcelables directly" 2019-03-27 02:55:15 +00:00
Remi NGUYEN VAN
266868246a Use SystemApi framework parcelables directly
Remove StaticIpConfigurationParcelable and ApfCapabilitiesParcelable and
use StaticIpConfiguration and ApfCapabilities directly.
These two classes are SystemApi and defined in framework.jar, so no
stability guarantee is needed: the parceled and unparceled class will
always be the framework.jar version.

Bug: 126477266
Fixes: 126477266
Test: atest FrameworksNetTests NetworkStackTests
Test: flashed, booted, WiFi and captive portal works.
Change-Id: Iaf80ae23e003752cc6d2300700021931923b6533
2019-03-26 12:05:27 +09:00
Jeff Sharkey
aa28dff4cb Respond to API council feedback.
Naming tweaks and hide API that should move to androidx.

Bug: 128427993
Test: none
Change-Id: Ic54452fdedbe72e5fa71897cc2b22e9598664c02
2019-03-25 18:01:10 -06:00
Remi NGUYEN VAN
525878a4be Merge "Add nullability annotations" am: a1ee1fc888 am: 3d48153a8f
am: b141a800ac

Change-Id: I43088399da1d81556ab903ef1ca716439129f00d
2019-03-25 06:56:43 -07:00
Treehugger Robot
a1ee1fc888 Merge "Add nullability annotations" 2019-03-25 13:19:19 +00:00
Junyu Lai
356c5dfd42 Merge "Fix SocketKeepalive APIs which do not meet API review requirement" am: 8324c3e7e5 am: 08e1787088
am: d24f3fc8b1

Change-Id: I873a82de90efce6f3baa17761c0576dc9c8210be
2019-03-25 04:16:18 -07:00
Junyu Lai
8324c3e7e5 Merge "Fix SocketKeepalive APIs which do not meet API review requirement" 2019-03-25 10:42:37 +00:00
junyulai
0c66697770 Fix SocketKeepalive APIs which do not meet API review requirement
Per API review, change the use of FileDescriptor to
ParcelFileDescriptor.
This change also fix nullability according to API review
feedbacks.

Fix: 126698610
Fix: 126699425
Fix: 126699232
Fix: 126700278

Test: 1. m -j
      2. atest FrameworksNetTests --generate-new-metrics 50
      3. m -j doc-comment-check-docs
Change-Id: I19476c50dd1ca290bf3f41973829da2bd229796a
2019-03-25 15:56:35 +08:00
Remi NGUYEN VAN
45ecef3b4c Add nullability annotations
Add nullability annotations on the following methods:
 - StaticIpConfiguration#getRoutes
 - ValidationProbeEvent#getProbeName

Test: m
Bug: 128935825
Change-Id: I1c17d200f3125e684c4e4d67b2f7f079eda310b6
2019-03-25 16:46:34 +09:00
Remi NGUYEN VAN
516d750ae2 Merge "Separate NetworkMonitor/framework portal URL" am: bcd3bed561 am: 34198fac89
am: 4d975feb9f

Change-Id: I85e744d94d96ecf9ac558e62016418d8199bb98c
2019-03-24 20:23:39 -07:00
Remi NGUYEN VAN
bcd3bed561 Merge "Separate NetworkMonitor/framework portal URL" 2019-03-25 02:50:37 +00:00
Treehugger Robot
3c959339ae Merge "Fix API in CaptivePortal and ConnectivityManager" 2019-03-25 02:37:28 +00:00
Remi NGUYEN VAN
7ad556886e Merge "Refactor DhcpErrorEvent error codes" am: ed2e54a521 am: 150a395303
am: 78c80c1098

Change-Id: Icfc48ac2ac899a25836e142b5c22dae51fd1752f
2019-03-24 19:08:46 -07:00
Remi NGUYEN VAN
e2365d6644 Fix API in CaptivePortal and ConnectivityManager
- Remove CaptivePortal constructor from SystemApi. This constructor was
   added in Q timeframe and ends up being unnecessary since
   CaptivePortal creation was refactored to ConnectivityService because
   of visibility issues on ICaptivePortal.
 - Rename getAvoidBadWifi to shouldAvoidBadWifi
 - Add permission annotation for shouldAvoidBadWifi

(already merged in internal as:
I09545c00af3519dbf141dd5951b28f49e37b3e80)

Test: flashed, WiFi and captive portal works
Bug: 128935314
Bug: 128935673
Merged-In: I09545c00af3519dbf141dd5951b28f49e37b3e80
Change-Id: I7395d4a4db6a64398a827692aee1956c011873e5
2019-03-25 01:43:48 +00:00
Remi NGUYEN VAN
ed2e54a521 Merge "Refactor DhcpErrorEvent error codes" 2019-03-25 01:33:59 +00:00
Lorenzo Colitti
445d56756a Merge "Fix API in CaptivePortal and ConnectivityManager" 2019-03-22 11:46:21 +00:00
Andrei Onea
fbc8cfdc94 Add @UnsupportedAppUsage annotations
For packages:
  android.companion
  android.filterfw
  android.hardware.camera2.utils
  android.inputmethodservice
  android.net.nsd
  android.os
  android.preference
  android.security.keymaster
  android.service.dreams
  android.telecom
  android.telephony.ims.compat.feature
  android.telephony
  android.util
  android.view.accessibility
  android.media.effect

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Merged-In: I9c2f8347952f3cc65759472b0e1a2717b285e44e
Change-Id: I14793863cf815fa3383fec6c6bf5a9365c2e17eb
2019-03-22 11:43:11 +00:00
Luke Huang
bae0ed637c Merge "Support query cancellation for async DNS API" am: aed6ea52de am: c19f41b2b2
am: 50c86d592a

Change-Id: I034361541f64c10d72474beaefdb3547c9c2733e
2019-03-22 03:35:57 -07:00
Remi NGUYEN VAN
24ec3ff006 Fix API in CaptivePortal and ConnectivityManager
- Remove CaptivePortal constructor from SystemApi. This constructor was
   added in Q timeframe and ends up being unnecessary since
   CaptivePortal creation was refactored to ConnectivityService because
   of visibility issues on ICaptivePortal.
 - Rename getAvoidBadWifi to shouldAvoidBadWifi
 - Add permission annotation for shouldAvoidBadWifi

Test: flashed, WiFi and captive portal works
Bug: 128935314
Bug: 128935673
(clean cherry-pick of AOSP I7395d4a4db6a64398a827692aee1956c011873e5)

Change-Id: I09545c00af3519dbf141dd5951b28f49e37b3e80
2019-03-22 17:16:52 +09:00
Remi NGUYEN VAN
c32d602c9c Refactor DhcpErrorEvent error codes
Addresses review comments on aosp/930843. The new format is more
concise.

Resulting constant values are unchanged as demonstrated by the absence
of change in the API file.

Test: m
Change-Id: I2e086c0411bce1d5b528de50b59dcf51e390681f
2019-03-22 15:45:04 +09:00
Remi NGUYEN VAN
0bd294cd55 Separate NetworkMonitor/framework portal URL
The framework cannot return URLs used by the updatable NetworkStack,
which may use configurable URLs, changing URLs, or mechanisms not
involving URLs to detect captive portals. NetworkMonitor has already
been using random fallback URLs for a while that do not match the value
returned by ConnectivityManager#getCaptivePortalServerUrl.

With this change, the default value returned by the framework is
configured in framework resources as
config_networkDefaultCaptivePortalServerUrl. NetworkMonitor behavior may
change as it is an updatable component, but the current URL is
configured in NetworkMonitor resources as
config_captive_portal_http_url.

Test: flashed, booted, WiFi and captive portal working
Test: ConnectivityManager#getCaptivePortalServerUrl returns correct
      value.
Bug: 127908503
Change-Id: I371dedc5b22efa909d7fd58e1ebe9b8aaced9780
2019-03-22 15:11:14 +09:00
Luke Huang
aed6ea52de Merge "Support query cancellation for async DNS API" 2019-03-22 03:26:21 +00:00
Lorenzo Colitti
404a526672 resolve merge conflicts of 0569184dc0 to master
Test: I solemnly swear I tested this conflict resolution.
Bug: None
Change-Id: I3af8ee8a7d8a4ff9dca0195b1947679cc09b2e89
2019-03-22 12:02:50 +09:00
Lorenzo Colitti
0c089bcc82 Merge changes I2e8c2ad9,Ic4f4c7d2
* changes:
  Move the networkstack AIDL interfaces to services/net.
  Remove the framework dependency on networkstack-aidl-framework.
2019-03-22 00:23:22 +00:00
Andrei-Valentin Onea
bb5089fbd9 Merge "Add @UnsupportedAppUsage annotations" 2019-03-21 19:11:51 +00:00