Commit graph android_packages_modules_Co.../tests/net/java
Message SHA1
Allow null subscriberId in NetworkStatsManager.
Use a MATCH_MOBILE_WILDCARD template to avoid filtering by
subscriberId when querying statistics from NetworkStatsService.

Bug: 74038898
Change-Id: I8296220472a9ba37044dd1a5ede9bdb45d3ed339
Fixes: 74038898
Test: runtest frameworks-net, CTS tests pass
Merged-In: I1e4e283c6eaecf33d12488e41e0c524f6ff83954
Merged-In: Ia84d2c7cc63bf8b8bf30f133e0382fd7103bf490
(cherry-picked from aosp I4b39e7031416cb33b23d89aa36ff0f774eaa942f)

Remi NGUYEN VAN   commited 2018-03-30 12:18:23 +09:00
42e2185505
Merge "Minor clean-up in NetworkCapabilities" am: 98dc002acc am: 6d8274ebf1
am: fbb48a210f

Bug: 72828388
Test: frameworks/base/tests/net/ -c android.net.NetworkCapabilitiesTest

Change-Id: I2f45d2c70c7c0142ae3b3ce9e6329c5f25b63380
(cherry picked from commit feb8d1498a822730e29cf346fe3382e3f5293a58)

Pavel Maltsev   commited 2018-03-27 22:45:49 +00:00
3585034ec9
Pass all relevant resolver info to netd
Test: runtest frameworks-net passes
Test: manual testing of opportunistic and strict mode works
Bug: 34953048
Bug: 64133961
Bug: 72345192
Merged-In: I96f7747b8f0bb38d95579b688b4c2d068f1229cf
Merged-In: Ia4d896c4cc33c02f0c46d5d4c760cc33b13dff0b
Change-Id: Ia4f1905e1fa60e7a468c2246fb809191d2ba796b
(cherry picked from commit e5dac904d361a349f1cfc48500a678d22e3a7316)

Erik Kline   commited 2018-03-23 21:59:24 -07:00
05c62dfd61
Have PermissionMonitor arbiter which app can access background networks
This will let ConnectivityService send the right callbacks to the
relevant apps.

Test: manual with apps
      runtest frameworks-net
      cts
      new tests for this functionality
Bug: 67408339

Change-Id: I6f08efd9e73c7e191f833d7f307a3bf4c9e2f0b4

Chalard Jean   commited 2018-03-23 13:37:56 +09:00
a43eede395
Check mOwnedByTransform to avoid DELSA on SPI
The owned by transform flag prevents the removal
of an SPI from accidentally deleting an associated
SA in the kernel. That flag wasn't actually being
checked, so deleting an SPI would result in the
transform being removed.

The existing code already guarantees that the SA is
deleted when the transform is deleted

Bug: 73258845
Test: runtest frameworks-net
Merged-In: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06
Change-Id: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06
(cherry picked from commit 22795302be4ec35449908cf566aa7c16945df836)

Nathan Harold   commited 2018-03-20 18:29:02 -07:00
75e48d2435
Added implementation for VTI add/remove address
This change adds implementation details for add/remove addresses onto a
VTI.

Bug: 73675031
Test: New tests added, passing on Walleye
Merged-In: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5
Change-Id: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5
(cherry picked from commit ecc9f7cc08804e3fa15fea04ae94ea1bc74edbfe)

Benedict Wong   authored and   Nathan Harold   commited 2018-03-20 16:01:27 -07:00
8520015095
Merge "Extend network request to query networks w/o capabilites" am: 762a14565b am: 76136de729
am: 60bcd4b9d9

Change-Id: I3bf776767be61577f1bca0d98d4aaf82a0e45336

Pavel Maltsev   authored and   android-build-merger   commited 2018-03-03 00:14:52 +00:00
07aeacfbd5
Merge "Extend network request to query networks w/o capabilites"
Treehugger Robot   authored and   Gerrit Code Review   commited 2018-03-02 19:04:31 +00:00
762a14565b
Merge "Give apps with NETWORK_SETTINGS right to see any VPN." am: dce4d4ca32 am: e999899287
am: f6c1bf66ba

Change-Id: I9a9d0eb212f6de105abc070a1eb5ff698b4e67bc

Chalard Jean   authored and   android-build-merger   commited 2018-03-02 13:25:02 +00:00
0c788ec3df
Merge "Give VPNs the INTERNET capability when they route most of the IP space" am: ef307293e5 am: 58c3355b8f
am: d98aec5eee

Change-Id: Ifd77149ca2c45249b8776c878c6fac46ae81c2a4

Chalard Jean   authored and   android-build-merger   commited 2018-03-02 12:54:29 +00:00
1618bad6e0
Merge "Give apps with NETWORK_SETTINGS right to see any VPN."
Chalard Jean   authored and   Gerrit Code Review   commited 2018-03-02 11:52:15 +00:00
dce4d4ca32
Give apps with NETWORK_SETTINGS right to see any VPN.
...not only the ones that apply to them.

Bug: 73217368
Test: runtest frameworks-net and CTS
Change-Id: I436972a3e51e98bdd815771b451bcedadf684763

Chalard Jean   commited 2018-03-02 17:10:11 +09:00
8895306c4a
Give VPNs the INTERNET capability when they route most of the IP space
Test: manual, plus wrote some new tests for this
Bug: 72765718
Change-Id: I9759da72b752fd8eeb1d0647db9ab341f04c0528

Chalard Jean   commited 2018-03-02 16:20:22 +09:00
687546ed4d
Extend network request to query networks w/o capabilites
Add another bit mask into NetworkCapabilities class that represents
unwanted capabilities and corresponding methods to add and remove them.

Bug: 72828388
Bug: 68762530

Test: runtest -x frameworks/base/tests/net/
Change-Id: Ie291167eb74fdb696c7ee145c8cc46ea8115d6ba

Pavel Maltsev   commited 2018-03-01 17:52:02 -08:00
40ba60c765
Merge "Add OEM_PAID network capability" am: 230f251155 am: 35999ae101
am: fe1ed24e15

Change-Id: Id64d288764dc5a556b60f5e3b866b40792647ac0

Pavel Maltsev   authored and   android-build-merger   commited 2018-02-28 08:42:24 +00:00
f12177caec
Merge "Add OEM_PAID network capability"
Treehugger Robot   authored and   Gerrit Code Review   commited 2018-02-28 07:06:00 +00:00
230f251155
Merge "Frameworks: Annotate JUnit4 test with @Test" am: 4d9bec6b4a am: 3a3bcf699f
am: 19a31611ce

Change-Id: I0c611c22eedda2d849bd16ef2e2bb7e2e60e0a5a

Andreas Gampe   authored and   android-build-merger   commited 2018-02-27 19:39:51 +00:00
f45323be96
Frameworks: Annotate JUnit4 test with @Test
Mollify Errorprone.

Bug: 72076216
Test: m javac-check RUN_ERROR_PRONE=true
Test: atest IpSecServiceParameterizedTest
Change-Id: Ia3a253c4c5994937efc0f498ac047c5fb4eee3e9

Andreas Gampe   commited 2018-02-26 08:09:26 -08:00
71510464df
Name specific app for rapid data usage.
When a single app is responsible for more than half of the data usage
that caused us to trigger a "rapid usage" alert, name that app in the
notification.  Tests to verify.

Move NPMS->NSS direct calls to "Internal" pattern, following
best-practices to avoid unnecessary AIDL exposure.

Remove 3G/4G split mobile plan support, which has been deprecated for
years and was never supported in a shipping product.

Move MultipathPolicyTracker in tree to reflect its package name.

Test: bit FrameworksNetTests:*
Test: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest
Bug: 69263587, 64221505, 73431080, 72746951
Exempt-From-Owner-Approval: approved in previous PS
Change-Id: I3e4ec1ae2222d51b232f76f32faca93d4f8cd272

Jeff Sharkey   commited 2018-02-23 16:27:39 +00:00
c80b318dae
Merge "Fix ConnectivityServiceTest for NATT Keepalive" am: f6bbc21688 am: 4f00de4aad
am: 137c833e70

Change-Id: I2ce9d740b82f591b847150ec1eaffa39bfbd0241

nharold   authored and   android-build-merger   commited 2018-02-20 23:21:59 +00:00
8974c107ae
Merge "Fix ConnectivityServiceTest for NATT Keepalive"
nharold   authored and   Gerrit Code Review   commited 2018-02-20 19:17:23 +00:00
f6bbc21688
Merge changes Ic28c5653,Ic635f97b am: ba40cd6083 am: 5d82ce61c4
am: 21a3501037

Change-Id: Ieea9917b3a68e08686c74ebf39e5fed61f641a7a

Chalard Jean   authored and   android-build-merger   commited 2018-02-19 08:36:01 +00:00
856f0a7d85
Merge changes Ic28c5653,Ic635f97b
* changes:
  [LT2] Fix release request while lingering.
  [LT1] Add a test for release request while lingering

Treehugger Robot   authored and   Gerrit Code Review   commited 2018-02-19 03:45:27 +00:00
ba40cd6083
[LT2] Fix release request while lingering.
Test: runtest framework-net
Change-Id: Ic28c5653d16351903b792e76ba8b199b7ed1f8d4

Chalard Jean   commited 2018-02-19 11:00:58 +09:00
6c8ee08f04
Fix ConnectivityServiceTest for NATT Keepalive
Fix test breakages I caused when adding cell
support for NATT keepalives.

-Make the minimum keepalive interval a constant in
 ConnectivityManager and use it in tests.
-Re-Disallow IPv6 Keepalives

Bug: 73327535
Test: 'runtest -x ConnectivityServiceTest' now passes
Change-Id: I5ec4367d250ee371014e65c897c3897a25a05e2d

Nathan Harold   commited 2018-02-16 16:34:50 -08:00
e8ae0ebed3
Merge "Better handling of NTP-based clocks."
Jeff Sharkey   authored and   Android (Google) Code Review   commited 2018-02-16 22:13:01 +00:00
b46d9af7fa
Better handling of NTP-based clocks.
Now that we have a nice Clock abstraction, we can use it to represent
a clock backed by an NTP fix.  (This makes testing logic much easier
to write.)

We now rely completely on NetworkTimeUpdateService to keep our NTP
fix up to date, instead of trying to refresh in the middle of
critical paths which could trigger random ANRs.

Add internal FallbackClock to make it easier to handle missing NTP
fixes.  Add internal SimpleClock to let implementers focus on single
millis() method.

Test: bit FrameworksNetTests:com.android.server.net.NetworkStatsServiceTest
Test: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest
Bug: 69714690, 72320957
Change-Id: Ic32cdcbe093d08b73b0e4b23d6910b23ea8e1968
Exempt-From-Owner-Approval: approved in previous PS

Jeff Sharkey   commited 2018-02-16 22:11:35 +00:00
4b25261e91
Merge "Correct bug in IpSecTransformTest" am: 99e01bc44d am: 97b59dca81
am: 6c5785160d

Change-Id: Ic29f13053365f3de8d01f9c38f8460d92748a41d

Benedict Wong   authored and   android-build-merger   commited 2018-02-16 20:51:37 +00:00
764736f64b
[LT1] Add a test for release request while lingering
Test: runtest framework-net
Change-Id: Ic635f97bf3dad8b695b3b8cc32c1a8b891166f9f

Chalard Jean   commited 2018-02-16 18:09:42 +09:00
03a2fd1c26
Correct bug in IpSecTransformTest
testCreateTransformsWithSameConfigEqual used assertFalse rather than
assertTrue

Bug: 69385347
Test: Passing on walleye
Change-Id: I8caa26e184e8bfc3e8acc9061d85c22d27ebf448

Benedict Wong   commited 2018-02-15 18:52:07 -08:00
f430c89e18
Add OEM_PAID network capability
Bug: 68762530

Test: runtest -x frameworks/base/tests/net/

Change-Id: I51c07e0c2211d631e90b27468c26b599e7b07bc8

Pavel Maltsev   commited 2018-02-15 10:46:00 -08:00
3d5e45dc38
Merge changes I3d68dbf8,I6ea524bb,I978d9119 am: bc388ae1a9 am: d6b4143b67
am: 3ea90e3152

Change-Id: Ic6d639358c3310820bd925df93d4843d7edffc57

Chalard Jean   authored and   android-build-merger   commited 2018-02-15 14:23:57 +00:00
4bb2e013fa
Merge changes I3d68dbf8,I6ea524bb,I978d9119
* changes:
  Deprecate CONNECTIVITY_ACTION.
  Publish FOREGROUND and add NOT_SUSPENDED capabilities.
  Send null UIDs to apps instead of single-uid lists.

Chalard Jean   authored and   Gerrit Code Review   commited 2018-02-15 11:25:36 +00:00
bc388ae1a9
Merge "Copy IpSecConfig when IpSecTransforms are created" am: 2c8456b22e am: 7d843254b8
am: ba6e5dc1d2

Change-Id: I511e6b0cadfc24f24a492ae63c48a8b4baa89edb

Benedict Wong   authored and   android-build-merger   commited 2018-02-15 06:01:49 +00:00
a9cb58eb73
Publish FOREGROUND and add NOT_SUSPENDED capabilities.
NOT_SUSPENDED and FOREGROUND are capabilities that need to
be public so as to reach feature parity with what information
can be gotten through the use of CONNECTIVITY_ACTION and
synchronous calls to ConnectivityManager. This change makes
them public, and wires up the NOT_SUSPENDED capability.
This deprecates in effect the old onSuspended and onResumed
callbacks, but these have never been public.

This also converts the onAvailable path from a multiple
binder call design to a simpler, single binder call. This
is only for internal convenience

Test: runtest frameworks-net
Test: cts
Test: also manual testing
Change-Id: I6ea524bb361ecef0569ea2f9006c1e516378bc25

Chalard Jean   commited 2018-02-14 15:14:41 +09:00
b6a0c6dc07
Send null UIDs to apps instead of single-uid lists.
Prior to this change ConnectivityManager used to patch in the UID
of the requesting app inside the NetworkCapabilities sent to it.
The rationale was that the app may not know what other apps may
use the network, so the view it should have of the network should
always say the network only applies to that app.

But this has an unfortunate side effect : apps can't match the
received network against a default NetworkCapabilities. Ostensibly
this only applies to the system because all involved calls are
@hide, but still : system code would get some NetworkCapabilities,
for example using networkCapabilitiesForType, and then try to
match the capabilities of an available network using
satisfiedByNetworkCapabilities. Because the passed network is
declared to only apply to one's own UID and the UIDs of the
NetworkCapabilities are set to null meaning "I need this network
to apply to all UIDs", the answer will be "false".

While this is WAI in a sense, it is very counter-intuitive that
code trying to match a network would be required to patch in its
own UIDs.
There are three ways of fixing this :
1. Require all apps to do the above. It's correct, but it's
   cumbersome and counterintuitive. Multiple places in existing
   code needs to be fixed, Tethering is an example.
2. Write the UIDs of the caller in any NetworkCapabilities object
   that is created. This is not very practical, because it imposes
   the converse requirement on all NetworkAgents, which would then
   have to clear the UIDs before they send the capabilities to
   ConnectivityService. All NetworkAgents need to be fixed.
3. Instead of sending an object with a list of one UID to apps,
   send a null list. The drawback is that the networks nominally
   look to apps like they apply to all apps. I argue this does
   not matter ; what matters is that the UID lists do not leak.
   Clients just see a null list of UIDs (and third party can't
   even access them without using reflection). No other changes
   are required besides this two-line patch.

This patch implements 3. I believe it is the saner approach, with
both the most intuitive behavior and the best backward compatibility
characteristics, as well as the easiest change.

This does not encroach on the future plans to make the actual
UID list available to apps with NETWORK_SETTINGS.

Test: runtest frameworks-net
Change-Id: I978d91197668119e051c24e1d04aafe1644a41cf

Chalard Jean   commited 2018-02-14 12:47:15 +09:00
b70f7cc467
Copy IpSecConfig when IpSecTransforms are created
This change prevents IpSecTransforms from being inadvertently modified
by changes to the IpSecConfig. Specifically, once the transform is
created, it takes a copy of the config, rather than a reference.

Bug: 69385347
Test: New tests added, and all test passing
Change-Id: I89b8660c175ca20aa70352dcda893434ff7fd42b

Benedict Wong   commited 2018-02-13 23:23:13 +00:00
86e8477175
Merge "MacAddress: Use SecureRandom and add a 46 bit randomized MAC generator" am: 68d0525279 am: 5f392b596a
am: 5f11e9660f

Change-Id: I5f2d395705841b7da03b1552b16507466e47ef84

Jong Wook Kim   authored and   android-build-merger   commited 2018-02-07 09:26:56 +00:00
0c21af3afd
MacAddress: Use SecureRandom and add a 46 bit randomized MAC generator
Use SecureRandom instead of Random since Random is time based and can
increase the chance of generating same MAC address across multiple
devices.

createRandomUnicastAddress should randomize all bits of the address,
except for locally assigned bit and unicast bit. The previous method
that only randomizes NIC and use Google Base OUI is renamed to
createRandomUnicastAddressWithGoogleBase.

Bug: 72450936
Test: runtest frameworks-net
Change-Id: Icda650638c2c1c9fd90d509a87e86347c0e05f2d

Jong Wook Kim   commited 2018-02-07 01:28:46 +00:00
5dca6d1e3d
Merge "Frameworks: Mark tests" am: 2424af1b77 am: d69d87ea9b
am: f9c4b33b1b

Change-Id: I55b62b64236937c66a21ec667216f7f1d505a5b5

Andreas Gampe   authored and   android-build-merger   commited 2018-02-06 09:29:10 +00:00
4f05a49b4a
Merge "Frameworks: Mark tests"
Treehugger Robot   authored and   Gerrit Code Review   commited 2018-02-06 06:03:09 +00:00
2424af1b77
Frameworks: Mark tests
Add @Ignore and @Test to make Errorprone happy.

Bug: 72076216
Test: m javac-check RUN_ERROR_PRONE=true
Test: atest ConnectivityServiceTest
Test: atest WifiManagerTest
Change-Id: Id2423c545eccaa768203faf86e14d0a558d927cd

Andreas Gampe   commited 2018-01-31 01:04:00 +00:00
bcd960712a
Merge changes I303d1102,I72c9aa43,If13a5284 am: c2023317e1 am: c460b26969
am: db410b1864

Change-Id: Iad1030a22f25bed92bd9d504fb1a40fc1e1cfdc5

Hugo Benichi   authored and   android-build-merger   commited 2018-01-30 01:55:28 +00:00
7e26739b71
Fix default network validation overcounting
When switching from a validated default network to a new validated
default network (typically because of a better score),
DefaultNetworkMetrics would not reset the last validation timestamp.

This would cause the new default network to have a total recorded
validation time overcounted by the validation time of the previous
default network.

The following fix should be applied downstream for consumers of
previously recorded data:

  validation_time = min validation_time, duration_time);

Test: runtest -x frameworks/base/tests/net/../IpConnectivityMetricsTest
Change-Id: I303d11023527c19435f5f5e796a0295ae3f76d9f

Hugo Benichi   commited 2018-01-29 16:07:33 +09:00
5da8769252
Prevent crash in NetworkManagementServiceTest#shutdown()
The shutdown method in NetworkManagementServiceTest was trying to close
the local socket on the test side, causing the NativeDaemonConnector
internal to NetworkManagementService to sometime crash due to the
output stream on NetworkManagementService side to throw on pending
reads.

The correct fix would be to shutdown the NativeDaemonConnector
inside NetworkManagementService and implement NetworkManagementService's
shutdown method, however there is no way to cleanly close a
NativeDaemonConnector.

Instead, this patch doesn't do any cleanup of the listening socket, the
test local socket, and its output stream. These objects' resources get
eventually collected by the system when the test process exits.

Test: runtest frameworks-net
Change-Id: I72c9aa43403754b55e9d23bf4f3ba8b7b4a3e10a

Hugo Benichi   commited 2018-01-29 16:01:56 +09:00
14fb2003c2
Merge "Add tunnel-mode calls to netd in IpSecService" am: 475fe28c50 am: 130409d40b
am: 0a64c3711a

Change-Id: I998d44bac0993a8f2e9e228a0b0a80adfaa4d87e

Benedict Wong   authored and   android-build-merger   commited 2018-01-24 20:07:20 +00:00
31e9738f74
Merge "Add TunnelInterface API and KernelResourceRecords" am: eb2ff56abe am: c5fb7341b1
am: 4157627bbd

Change-Id: I955d5090171f08e4fa20eac5bdfe761132b87d35

Benedict Wong   authored and   android-build-merger   commited 2018-01-24 09:54:06 +00:00
ad10de3acb
Merge "Add xfrm mark in IpSecConfig" am: 5bee154c8c am: 8950ec7e38
am: 201b229a4f

Change-Id: Ibaee9700cc6befdf6bbdb792cb673611e571d19a

Benedict Wong   authored and   android-build-merger   commited 2018-01-24 09:48:25 +00:00
595bebada9
Add tunnel-mode calls to netd in IpSecService
Adds calls to relevant netd methods in IpSecService, enabling Tunnel
mode functionality.

Bug: 63588681
Test: Compiles, passing CTS + unit tests
Change-Id: I6deb68584cddb03f21bd76370d4ef69cadc1bf16

Benedict Wong   commited 2018-01-24 08:19:55 +00:00
d32b02cf69
Add TunnelInterface API and KernelResourceRecords
This change adds one KernelResourceRecord type (TunnelInterfaceRecord),
and adds methods for the creation of TunnelInterfaces, as well as the
application of Transforms to the given TunnelInterfaces

As part of the generation of ikeys/okeys, a ReserveKeyTracker manages a
java bitset to avoid collisions and reserve/release keys.

Bug: 63588681
Test: Compiles, CTS, unit tests all pass on AOSP_marlin
Change-Id: I9e9b6455e27073acd4491eae666aa966b3b10e0f

Benedict Wong   commited 2018-01-24 07:24:27 +00:00
b8421d7772