Commit Graph

5995 Commits

Author SHA1 Message Date
Chalard Jean
4a92ec452f Merge "Move TrafficStats tags for the network stack constants"
am: 8f6e99b370

Change-Id: I13ba9e3077bb4ec28229a09f2d4747a43c281bcc
2019-04-16 23:08:07 -07:00
Chalard Jean
8f6e99b370 Merge "Move TrafficStats tags for the network stack constants" 2019-04-17 05:45:56 +00:00
Chalard Jean
b922da3fd6 Move TrafficStats tags for the network stack constants
As per API council feedback, these constants should live in
a place that is private to the network stack, only with a
range defined in system API.

Bug: 129433383
Test: m
Change-Id: I84a90f84a9af6fef4667ee4d512ebd0413222086
Merged-In: I4882686a86e7c6d42f4b0619b921d02619ed6d4c
Merged-In: I9b648ed6c687d56db61a54570c7880c51c1bae51
2019-04-17 05:45:40 +00:00
Luke Huang
f114a31fd9 Merge "Fix DnsResolver API could not bypass private DNS correctly"
am: 2a443c804f

Change-Id: Iaa36a882c2bcfd3bb11153d2b37cdab887ad9004
2019-04-16 02:17:09 -07:00
Luke Huang
2a443c804f Merge "Fix DnsResolver API could not bypass private DNS correctly" 2019-04-16 09:03:22 +00:00
Chalard Jean
1b53b5a755 Merge "Restrict access to dangerous methods to <= P"
am: 722e228453

Change-Id: I3c1271e00e026518e9c4ddafc931a2cac87dcee0
2019-04-15 22:29:28 -07:00
Chalard Jean
722e228453 Merge "Restrict access to dangerous methods to <= P" 2019-04-16 05:17:20 +00:00
Junyu Lai
b78d0b4ae1 Merge "Release keepalive slot after stopped"
am: 5adfab71bc

Change-Id: Ic707f22fb12c98c187e89cc8ad39773f61737506
2019-04-15 22:04:18 -07:00
Junyu Lai
5adfab71bc Merge "Release keepalive slot after stopped" 2019-04-16 04:46:18 +00:00
Luke Huang
f4cefaea66 Fix DnsResolver API could not bypass private DNS correctly
Bug: 130594022
Test: atest DnsResolverTest
Change-Id: Ibf3edac3075d921d189237c485871efb869b320b
2019-04-16 11:57:45 +08:00
junyulai
37033fd067 Release keepalive slot after stopped
Currntly, keepalive slot is released when stop() is called. Next
starting keepalive can use the same slot number while previous
keepalive is still stopping. When the previous keepalive is
stopped, the incoming as will be processed by the new keepalive.

This change release keepalive slot after the result of stopping
has returned. Thus, newly created keepalive cannot allocate the
same slot number while lower layer is still processing stop event.

This change also disable flaky assertions that are caused by
test port has been occupied by other process.

Bug: 129512753
Test: 1. atest com.android.server.ConnectivityServiceTest \
         #testNattSocketKeepalives --generate-new-metrics 100
      2. atest FrameworksNetTests --generate-new-metrics 10
      3. simulate the fail case manually.

Change-Id: I1991627545519ee5cb408a3df3a006f710f4af7b
2019-04-15 17:44:48 +08:00
Lorenzo Colitti
7e04c116a3 Merge changes I4f181789,Ia8a0c99b
am: f7d42a0a3c

Change-Id: I50207fe29953be7759bbd01cb93268202067f764
2019-04-12 06:29:44 -07:00
Lorenzo Colitti
f7d42a0a3c Merge changes I4f181789,Ia8a0c99b
* changes:
  Revert new tests and PackageManager mock
  Revert "Revert "Block incoming non-VPN packets to apps under fully-routed VPN""
2019-04-12 13:11:18 +00:00
Lorenzo Colitti
c18f4b5f6f Revert new tests and PackageManager mock
A mocked PackageManager caused test failures in existing tests.
Revert that for now to make tests pass again.

Bug: 114231106
Bug: 130397860
Test: atest FrameworksNetTests
Change-Id: I4f181789152438f18e6cd2d235d76fabe3872ea3
2019-04-12 19:52:45 +09:00
Lorenzo Colitti
ee6a630257 Revert "Revert "Block incoming non-VPN packets to apps under fully-routed VPN""
This reverts commit 2b6cd177ba.

Reason for revert: Rolling forward, will fix tests in same CL stack.

Bug: 114231106
Bug: 130397860
Test: FrameworksNetTests
Change-Id: Ia8a0c99b4e1fd5dff26c881715cd876618ca4321
2019-04-12 19:52:32 +09:00
Remi NGUYEN VAN
f7fe1ac9c4 Merge "Revert "Block incoming non-VPN packets to apps under fully-routed VPN""
am: 01bfd9e510

Change-Id: I601649e15c97a8fd1732c4d38dab9d5556c5f175
2019-04-12 03:41:01 -07:00
Remi NGUYEN VAN
01bfd9e510 Merge "Revert "Block incoming non-VPN packets to apps under fully-routed VPN"" 2019-04-12 10:25:46 +00:00
Remi NGUYEN VAN
2b6cd177ba Revert "Block incoming non-VPN packets to apps under fully-routed VPN"
This reverts commit 1c19cf383f.
This change does not have any topic: not reverting the other 2 commits in the original topic.

Reason for revert: broke FrameworksNetTests presubmit: b/130397860

Change-Id: Iff41d9fe97fafea44680c8d67d1ce19277548cc0
2019-04-12 09:05:40 +00:00
Luke Huang
dca57c2e44 Merge "API council feedbacks for DnsResolver"
am: 65dc1155ff

Change-Id: I5737cf293264bf9d492e7bd56b62bee4d49002eb
2019-04-11 17:54:41 -07:00
Luke Huang
65dc1155ff Merge "API council feedbacks for DnsResolver" 2019-04-12 00:45:18 +00:00
Rubin Xu
594df97559 Merge "Block incoming non-VPN packets to apps under fully-routed VPN"
am: 02040de8b1

Change-Id: I321a96599e51b70817b2514455c43972cd1fbca8
2019-04-11 09:56:11 -07:00
Rubin Xu
02040de8b1 Merge "Block incoming non-VPN packets to apps under fully-routed VPN" 2019-04-11 16:46:16 +00:00
Luke Huang
d836918ca6 API council feedbacks for DnsResolver
To address the API review feedback provided by
the API council.

Bug: 129261432
Test: atest DnsResolverTest
Change-Id: I3de11c913682abf790850b45cd5d50ac28b3fc5c
2019-04-11 22:17:20 +08:00
Lorenzo Colitti
7f5140a668 Merge "Add support for TAP interfaces in TestNetworkManager."
am: 5ceee7e861

Change-Id: I834ba4b939f67ff3e1c84a39844085dccc1d8d8e
2019-04-11 04:59:16 -07:00
Lorenzo Colitti
5ceee7e861 Merge "Add support for TAP interfaces in TestNetworkManager." 2019-04-11 11:45:40 +00:00
Benedict Wong
d4b112fee1 Merge changes I98573a5c,Ic7394f24
am: ca3c2504b5

Change-Id: I2ffeb6ef1a19f7b2982c3631fe2c040024fb53cb
2019-04-10 11:00:10 -07:00
Benedict Wong
ca3c2504b5 Merge changes I98573a5c,Ic7394f24
* changes:
  Enable checks for MANAGE_TEST_NETWORKS in TestNetworkService
  Cleanup of Test Network service
2019-04-10 17:06:17 +00:00
Rubin Xu
1c19cf383f Block incoming non-VPN packets to apps under fully-routed VPN
When a fully-routed VPN is running, we want to prevent normal apps
under the VPN from receiving packets originating from any local non-VPN
interfaces. This is achieved by using eBPF to create a per-UID input
interface whitelist and populate the whitelist such that all
non-bypassable apps under a VPN can only receive packets from the VPN's
TUN interface (and loopback implicitly)

This is the framework part of the change that build the whitelist.
The whitelist needs to be updated in the following cases:
* When a VPN is connected and disconnected
    This will cover the change to allowBypass bit, since that can't be
    changed without reconnecting.
* When a VPN's NetworkCapabilites is changed (whitelist/blacklist app changes)
* When a new app is installed
* When an existing app is removed
* When a VPN becomes fully-routed or is no longer fully-routed

New user/profile creation will automatically result in a whitelist app change
transition so it doesn't need to be handled specially here.

Due to the limitation of the kernel IPSec interacting with eBPF (sk_buf->ifindex
does not point to the virtual tunnel interface for kernel IPSec), the whitelist
will only apply to app VPNs but not legacy VPN connections, to prevent breaking
connectivity with kernel IPSec entirely.

Test: atest PermissionMonitorTest
Test: atest android.net.RouteInfoTest
Test: atest com.android.server.ConnectivityServiceTest
Test: atest HostsideVpnTests
Bug: 114231106
Change-Id: I143b03d60e46cb1b04732b4a4034f5847b4d1b1a
2019-04-10 17:05:54 +01:00
Remi NGUYEN VAN
a87e7d5a41 Merge "Fix comment on StaticIpConfiguration#getDomains"
am: a430dae4b7

Change-Id: Ia664b08eabe344470a5c08e5510f1a8f7132ac73
2019-04-09 23:54:09 -07:00
Chenbo Feng
46a3c2c655 Merge "Add smoke test for jni library"
am: d38640b7d5

Change-Id: Iedb44739539f63090b067c1a25d4e83c333caddb
2019-04-09 23:50:10 -07:00
Treehugger Robot
a430dae4b7 Merge "Fix comment on StaticIpConfiguration#getDomains" 2019-04-10 06:30:55 +00:00
Treehugger Robot
d38640b7d5 Merge "Add smoke test for jni library" 2019-04-10 06:30:26 +00:00
Lorenzo Colitti
4f370cefa2 Add support for TAP interfaces in TestNetworkManager.
Test: builds, boots
Change-Id: I88bfd7f37c0ba0228f8288fe92212618ce134e4f
2019-04-10 13:29:41 +09:00
Benedict Wong
0fed3d2c01 Enable checks for MANAGE_TEST_NETWORKS in TestNetworkService
This commit re-enables enforcement of the MANAGE_TEST_NETWORK
permission, which is only granted to the shell. CTS tests using this
permission should use UiAutomation.adoptShellPermissionIdentity() to
gain access.

Bug: 72950854
Test: IPsec CTS tests using this passing
Change-Id: I98573a5c68e45abbbaddef01f6ac74a6a18e26f9
2019-04-09 21:23:50 -07:00
Benedict Wong
5f6bc9d438 Cleanup of Test Network service
This follow-up change performs some cleanup changes without affecting
functionality

Bug: 72950854
Test: Compiles, CTS tests using this pass
Change-Id: Ic7394f24f11d713c9374b438182e29d2a02ea236
2019-04-09 16:34:35 -07:00
Chenbo Feng
dc2d592e68 Add smoke test for jni library
Since the Framework net test require jni library
libnetworkstatsfactorytestjni, but the test fails to load that library
unless *all* the dependencies of that library are explicitly listed in
jni_libs, whenever any of the dependencies changes the framework net
test will start failing and it might not be catched since the change
might not related to frameworks/base. And this smoke test is aimed to
spot those native library changes and it should be stable enough to put
in global presubmit.

Bug: 124764595
Test: FrameworksNetSmokeTests
Change-Id: Id24e7f0558b5643e4ad7393e85f1f0a2bd875615
2019-04-09 14:45:35 -07:00
Benedict Wong
dccdcedd6a Merge "Fix remove-before-add for IpSecService RefcountedResource"
am: 3a9e68d173

Change-Id: Ief286a54a93efd731deeff9fc32815663ab7695d
2019-04-09 10:39:16 -07:00
Benedict Wong
3a9e68d173 Merge "Fix remove-before-add for IpSecService RefcountedResource" 2019-04-09 17:22:56 +00:00
Junyu Lai
4e628af901 Merge "Fix onBlockedStatusChanged does not work on multiple networks"
am: 4cc967d1ba

Change-Id: Ia8edf1e9d0f49da5be2bac1889cd0001010a869b
2019-04-09 05:43:18 -07:00
Junyu Lai
4cc967d1ba Merge "Fix onBlockedStatusChanged does not work on multiple networks" 2019-04-09 12:13:26 +00:00
Chalard Jean
aa91c9de56 Restrict access to dangerous methods to <= P
Test: make
Fixes: 130143562
Change-Id: I1a6a472f83cf00a1ab174a9c5e67d3e9357a0c45
2019-04-09 15:47:25 +09:00
Chalard Jean
d084f2ddd8 Merge "Address leftover comments on aosp/894233"
am: fee09e64d5

Change-Id: I87f120778b2dc6743edc7fdd4e5390b68de05590
2019-04-08 23:38:53 -07:00
Remi NGUYEN VAN
1245ea1fe5 Merge "Expose captive portal urls for configuration"
am: 07a100484f

Change-Id: If5970fdafa7c624855ef9d29921542e2fb6fdfa0
2019-04-08 23:29:46 -07:00
Chalard Jean
fee09e64d5 Merge "Address leftover comments on aosp/894233" 2019-04-09 05:51:18 +00:00
Remi NGUYEN VAN
07a100484f Merge "Expose captive portal urls for configuration" 2019-04-09 04:37:48 +00:00
Chalard Jean
061f7a7eef Address leftover comments on aosp/894233
Bug: 129510344
Test: m, boots, wifi connects, resolves DNS
Change-Id: Idf24f42a86bbfcc89e3ea8cf50d1b705d72ac613
2019-04-09 12:03:28 +09:00
Benedict Wong
4dba79cc89 Fix remove-before-add for IpSecService RefcountedResource
This patch fixes a bug where if a binder dies before the linkToDeath
call, the cleanup will be performed before the entry is added to the
array. While it is safe in that quotas and tracking performs as per
normal, the RefcountedRecord may not be cleaned up.

Rethrowing this exception is safe, since the only paths that would hit
this are all on binder threads coming from applications. Further, it
seems there is only one real way of this getting hit - if the app that
called the creation died during the binder call.

Bug: 126802451
Test: Compiled, CTS tests passing
Change-Id: I6db75853da9f29e1573512e26351623f22770c5d
2019-04-08 18:51:50 -07:00
Niklas Lindgren
741013d144 Expose captive portal urls for configuration
Carriers in Mainland China need to customize certain captive portal
urls. The main issue is that google servers are not accessible in
Mainland China.

Added the following captive portal resources to be targeted for overlay.
- config_captive_portal_http_url
- config_captive_portal_https_url
- config_captive_portal_fallback_urls (string-array)
- config_captive_portal_fallback_probe_specs (string-array)

These values can be customized for e g diffent countries

Bug: 111819230
Test: atest FrameworksNetTests NetworkStackTests
Test: Add a product RRO that targets a specific country code,
insert a SIM card that matches that country code and check the log
what URL is used.
Change-Id: I38a294a5e14417f65e96e76235ea153c53c4d7cc
2019-04-09 10:23:53 +09:00
Remi NGUYEN VAN
d9e87833a2 [automerger skipped] Merge "Add FrameworksNetTests dependency on libcgrouprc"
am: 900ff8694c -s ours
am skip reason: change_id Ifcfe4df81caf8ede2e4e66a76552cb3200378fa8 with SHA1 204b9003a5 is in history

Change-Id: Ic374e952cc1ccdd422baf9cbb709f1e37268e220
2019-04-08 03:32:49 -07:00
Treehugger Robot
900ff8694c Merge "Add FrameworksNetTests dependency on libcgrouprc" 2019-04-08 10:19:26 +00:00