Commit graph android_packages_modules_Co.../tests/net/java/com
Message SHA1
IpSec - API Tweak for removeTransportModeTransform
Because IpSecTransforms are now unidirectional,
and because the only mechanism for removing Transforms
removes it from both directions, the API can no longer
use the Transform parameter to meaningfully validate
that the caller had applied a transform. Since that
functionality was as-yet unimplemented and is now
infeasible, the transform parameter is removed.

Bug: 72079356
Test: cts - IpSecManagerTest; runtest frameworks-net
Change-Id: If19b0d34bdc6daf31a40d6d62bff326dcbca08c0

Nathan Harold   commited 2018-01-17 01:11:46 -08:00
2c97b2e3af
Merge changes from topic "ipsec-oneway-transform"
* changes:
  Update IpSecService UnitTests
  Make Transforms Unidirectional

nharold   authored and   Gerrit Code Review   commited 2018-01-17 08:40:37 +00:00
6987ca3620
Update IpSecService UnitTests
The IpSecService Unit tests relied on the
directionality of the IpSecConfig and previously
did not specify a source address. Unit tests
updated without functional change other than to
address these two requirements.

Bug: 71717213
Test: runtest frameworks-net
Change-Id: Iedbed735bc50fd4fdfe985f9e173956062a7b0d1

Nathan Harold   commited 2018-01-16 19:38:10 -08:00
e0d099dfb3
Make Transforms Unidirectional
Convert the IpSecTransform from being a bi-directional
pair of SAs to a unidirectional single SA. This CL
also removes the concept of "direction from SAs meaning
that a IpSecTransform may now be applied to a socket
in either direction.

-Make transforms unidirectional
-Add Convert allocateSpi() to use destination rather
 than direction and remote address
-Remove directionality from builders for IpSecTransform
-Change applyTransportModeTransform() to take a
 direction in which to apply the transform object.
-Additional minor naming updates
-Restrict IpSecConfig to only print keys on eng builds
-Move DIRECTION constants to IpSecManager
-Add sourceAddress parameter to IpSecTransform to provide
 additional guarantees about the source address of data;
 (explicit failure rather than implicit failure).
-Move SPI to the build() method of IpSecTransform

Bug: 71717213
Test: runtest frameworks-net, CTS - IpSecManagerTest
Change-Id: I0824b37f443f4b8c62536d9801238c63ed8f2a1c

Nathan Harold   commited 2018-01-16 11:08:31 -08:00
a47ac2bb32
Merge changes I0d0c0fac,Ifb9b00b6 am: b29d74c625 am: bfaf963337
am: aa9180b43f

Change-Id: I919f21566d5caff9fb35f57c439048b9b48f0971

Lorenzo Colitti   authored and   android-build-merger   commited 2018-01-16 18:59:02 +00:00
b073a4beb6
Merge changes I0d0c0fac,Ifb9b00b6
* changes:
  Split updateCapabilities into two methods.
  More strictly check NetworkCapabilities callbacks.

Treehugger Robot   authored and   Gerrit Code Review   commited 2018-01-16 14:25:13 +00:00
b29d74c625
More strictly check NetworkCapabilities callbacks.
This change more strictly accounts for onCapabilitiesChanged
callbaks and their values. It exposes several cases where we the
callbacks we send are spurious.

Test: ConnectivityServiceTest continues to pass
Change-Id: Ifb9b00b6f0cae48f8ed41a525100d1744b5f429b

Lorenzo Colitti   commited 2018-01-16 00:25:13 +09:00
23f3676c79
Merge changes I47ccfa99,I5db1de3e am: 3e2ccb4ff1 am: 03f3294103
am: c4bfb71ab9

Change-Id: Ic774b944238d6df07511df8e467d66cefcd4fa81

Erik Kline   authored and   android-build-merger   commited 2018-01-11 12:52:19 +00:00
16509a73d6
Extract DNS setting logic into DnsManager class
In future, managing DNS-over-TLS hostname lookup and netd programming
can be encapsulated here.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 64133961
Change-Id: I47ccfa99c30c780524c45c4af605e720ccba34a0

Erik Kline   commited 2018-01-11 18:16:50 +09:00
cca88b079c
Add minimal test for setting DNS properties
Test: as follows
Change-Id: I5db1de3ee8e179edd56c93988b821242b81c2387

Erik Kline   commited 2018-01-11 18:16:20 +09:00
3fce4e528d
Merge "Add validation to IpSecConfig algorithm setters" am: a954f20f46 am: c93df5ca1c
am: 96b8f818af

Change-Id: I7ff85771945c68025ce8d66ca85313bac087b3a5

Benedict Wong   authored and   android-build-merger   commited 2018-01-09 21:23:35 +00:00
3064d7cfe0
Add validation to IpSecConfig algorithm setters
Adds checks to ensure that users can only set the correct types of
algorithms for the Authentication, Encryption and Authenticated
Encryption algorithms.

Bug: 65223935
Test: Added tests in IpSecConfigTest, and passed on aosp_marlin-eng
Change-Id: I462c77d9eb5710b8d03a48866453649d3b6fc6bf

Benedict Wong   commited 2018-01-04 16:56:40 -08:00
48db30d4c7
Merge "[ipsec-doze] Add fchown to IpSecService to support doze" am: 4edb4c8ec4 am: 5949912523
am: 1281a3629a

Change-Id: Id6a5ff71ead4566b9a91b9e9b6c78d81f1ac0f54

Benedict Wong   authored and   android-build-merger   commited 2017-12-20 18:58:30 +00:00
e6714a3685
Merge "[ipsec-qtaguid] Tag sockets upon creation of encap sockets" am: 12045eafe6 am: 8caa274ade
am: 46a6429f68

Change-Id: I4140f386687c579044f9b5fe59dd7e05f86000fe

Benedict Wong   authored and   android-build-merger   commited 2017-12-19 00:41:55 +00:00
590c47f6dd
[ipsec-doze] Add fchown to IpSecService to support doze
Encap sockets are currently created as the system server, and should be
fchown'd to the user for whom it was created on behalf of.

Bug: 62994731
Test: New tests added and run to IpSecService
Change-Id: Icc49e709ae588981e69765fdb77537d7ffbac5fe

Benedict Wong   commited 2017-12-18 16:01:58 -08:00
3e4e37a38b
[ipsec-qtaguid] Tag sockets upon creation of encap sockets
Added calls to tag encap sockets to that of the UID for which the encap
socket is being created on behalf of. This ensures that all data
accounting generated for the UDP-encap-ESP socket is correctly billed to
the right UID.

Bug: 62994731
Test: New tests added to IpSecServiceTest.java, passing
Change-Id: I15365ea9c982fd7b4e3cdeff314ddfba2289c86e

Benedict Wong   commited 2017-12-18 19:46:06 +00:00
768c332e51
Fix broken test due to API rename
A race condition during an Api rename has caused
the name change from reserveSecurityParameterIndex
to allocateSecurityParameterIndex to be wrong in
a test. Fixing.

Bug: 69128142
Test: runtest frameworks-net
Change-Id: I12fb9832cb938dc19f463b1f1124127435d7b173

Nathan Harold   commited 2017-12-14 23:13:45 +00:00
4d3d0e096b
Fix broken test due to API rename
A race condition during an Api rename has caused
the name change from reserveSecurityParameterIndex
to allocateSecurityParameterIndex to be wrong in
a test. Fixing.

Bug: 69128142
Test: runtest frameworks-net
Change-Id: I12fb9832cb938dc19f463b1f1124127435d7b173

Nathan Harold   authored and   nharold   commited 2017-12-14 23:04:42 +00:00
55bd2e0e92
Merge "Use consistent naming for allocating SPI." am: 624b2c1541 am: 4753ed4b1b
am: 4109d207eb

Change-Id: Ib6845ab0d7f385fbd1d59c0179771542e12c8be0

nharold   authored and   android-build-merger   commited 2017-12-14 21:48:58 +00:00
fc35e198fc
Merge "Use consistent naming for allocating SPI."
nharold   authored and   Gerrit Code Review   commited 2017-12-14 21:10:16 +00:00
624b2c1541
Merge "Convert IpSecService resources to use refcounting" am: 583a29abe6 am: 8698b33cc2
am: 6b129a012f

Change-Id: Ib18839d7dff8e25898f81e877337fbb8cb24cc7b

Benedict Wong   authored and   android-build-merger   commited 2017-12-14 02:41:28 +00:00
0ffe141dd8
Convert IpSecService resources to use refcounting
This is part 2 of 2 of the refcounting refactor for IpSecService
resources.

Switched ManagedResources to use RefcountedResource structure for
managing reference counts and eventual cleanup. Further, resource arrays
and quota management have been aggregated into a UserRecord for better
isolation. UID access checking has been similarly moved into the
UserRecordTracker, and resourceId checking has been rolled into
RefcountedResourceArray's accessor methods.

Bug: 63409385
Test: CTS, all unit tests run on aosp_marlin-eng, new tests added
Change-Id: Iee52dd1c9d2583bb6bfaf65be87569e9d50a5b63

Benedict Wong   commited 2017-12-13 23:28:41 +00:00
1cb5dabc65
Merge "Add reference counted resources to IpSecService" am: 42ae264bc8 am: adb6437fea
am: 24ddbe542c

Change-Id: Iae17a5d33d71e8abf24211cbf2b215520f45c619

Benedict Wong   authored and   android-build-merger   commited 2017-12-13 22:11:20 +00:00
d6a38397b0
Merge "Add reference counted resources to IpSecService"
Benedict Wong   authored and   Gerrit Code Review   commited 2017-12-13 21:33:38 +00:00
42ae264bc8
Add reference counted resources to IpSecService
This patch adds (but does not enable the usage of) RefcountedResource
objects to IpSecService, with tests to ensure correct function. This is
patch 1 of a series of patches to refactor the resource management
systems in IpSecService.

RefcountedResource objects allow for management of acyclical dependency
trees, ensuring eventual cleanup when resources are no longer used. This
cleanup may be triggered by binder death or by explicit user action.

Bug: 63409385
Test: New tests written in IpSecServiceRefcountedResourceTest,
explicitly testing the RefcountedResource class

Change-Id: Ib5be7482b2ef5f1c8dec9be68f15e90d8b3aba6d

Benedict Wong   commited 2017-12-12 23:40:52 -08:00
c926bdefee
Use consistent naming for allocating SPI.
Throughout the IPsec code (API, system server, netd) we use "reserve"
SPI and "allocate" SPI interchangeably. This renames to use "allocate"
everywhere for self-consistency and consistency with the kernel
(ALLOCSPI).

In javadoc, I am leaving the word "reserve" in several places because it
is still an accurate description of how the method behaves.

Bug: 69128142
Test: TreeHugger should be enough
Change-Id: I8ea603b4612303b0393beef04032671fa53d2106

Jonathan Basseri   authored and   Nathan Harold   commited 2017-12-12 13:50:35 -08:00
298643506a
Merge "Cleanup of resource limit tests" am: 5bb84059ba am: 6cd30fe9d5
am: c5d7f3b714

Change-Id: If26dc3a8a969ad63f250608427480996c3b02845

ludi   authored and   android-build-merger   commited 2017-12-06 04:08:23 +00:00
01061a6e75
Merge "Cleanup of resource limit tests"
am: 5bb84059ba

Change-Id: Ifcbc61ad8003c43ba1baff6d4d534192f6498206

ludi   authored and   android-build-merger   commited 2017-12-06 03:29:35 +00:00
6cd30fe9d5
Track some event history and include it in netpolicy dump.
Bug: 66921847
Test: manual
Change-Id: I0c473790f83076def807308fe44db9cb9365769e

Sudheer Shanka   commited 2017-11-28 11:33:43 -08:00
5d4e5c4cd5
Cleanup of resource limit tests
Test: runtest frameworks-net
Bug: 65688605
Change-Id: Ice3ff2624b83c833a99559485c1e782d36c54ae3

ludi   commited 2017-11-28 10:21:18 -08:00
126c2f71bf
Merge "Add test case for user quota management in IpSecService" am: 9faa64ff17 am: 86c137bdd0
am: c6d1006f05

Change-Id: I84e81e261c93d2199e4932431ee57b75496ea2d5

Di Lu   authored and   android-build-merger   commited 2017-11-15 20:39:53 +00:00
4a80963948
Merge "Add test case for user quota management in IpSecService"
am: 9faa64ff17

Change-Id: Ib1887b2395f0b1391711a9df9bebe224b6be1643

Di Lu   authored and   android-build-merger   commited 2017-11-15 20:23:14 +00:00
86c137bdd0
Merge "Add test case for user quota management in IpSecService"
Di Lu   authored and   Gerrit Code Review   commited 2017-11-15 20:12:38 +00:00
9faa64ff17
Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7
Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d

Xin Li   commited 2017-11-14 12:31:11 -08:00
3fa5c2b1a8
Merge "IP connectivity metrics: NetworkEvents have transports" am: 703eca1a5d am: f3ada43f6e
am: a5cd5e8643

Change-Id: If452f742e50344e730f63b7329788b19d13280ec

Hugo Benichi   authored and   android-build-merger   commited 2017-11-14 12:03:25 +00:00
b1398ca799
Merge "Add L2~L4 information to packet wakeup logs and metrics" am: 6ee20ca7d3 am: ab15f7fc64
am: 3fade329de

Change-Id: Ia0b300662d4758f31ca583c9cf05f9186b8331aa

Hugo Benichi   authored and   android-build-merger   commited 2017-11-14 11:55:45 +00:00
95915c8e30
Merge "IP connectivity metrics: NetworkEvents have transports" am: 703eca1a5d
am: f3ada43f6e

Change-Id: I8cd50ea805fe3e533c0fc21b220827155cb0d23b

Hugo Benichi   authored and   android-build-merger   commited 2017-11-14 01:46:23 +00:00
a5cd5e8643
Merge "Add L2~L4 information to packet wakeup logs and metrics" am: 6ee20ca7d3
am: ab15f7fc64

Change-Id: I9dba29b10c824d382b08b16313e49cc8c775f7eb

Hugo Benichi   authored and   android-build-merger   commited 2017-11-14 01:40:06 +00:00
3fade329de
Add test case for user quota management in IpSecService
Test: runtest frameworks-net
Bug: 65688605
Change-Id: I3210c4920d0ac1d09fecb56c25e392e2bcba641f

ludi   commited 2017-11-13 14:14:11 -08:00
20e1c8af67
IP connectivity metrics: NetworkEvents have transports
Also removes netId field from inside NetworkEvent and stop populating
the network_id field of the NetworkEvent field, deprecating it.

Bug: 34901696
Test: runtest frameworks-net,
      manually looking at $ adb shell dumpsys connmetrics

Change-Id: I2c36860f976898883714f72f4d18e06da250c6a6

Hugo Benichi   commited 2017-11-13 14:15:51 +09:00
c3b3c5345a
Add L2~L4 information to packet wakeup logs and metrics
Example of $ adb shell dumpsys connmetrics list:
...
WakeupStats(wlan0, 21851s, total: 85, root: 0, system: 4, apps: 63, non-apps: 0, no uid: 18, l2 unicast/multicast/broadcast: 85/0/0, ethertype 0x800: 23, ethertype 0x86dd: 62, ipNxtHdr 6: 74, ipNxtHdr 17: 1, ipproto 58: 10)
...
WakeupEvent(06:55:54.094, wlan0, -1, eth=0x800, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=216.58.200.110, dstIp=100.112.108.29, srcPort=443, dstPort=46878)
WakeupEvent(06:57:14.379, wlan0, -1, eth=0x86dd, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=58, srcIp=ff02::1, dstIp=fe80::fa00:4:fd00:1)
WakeupEvent(06:57:52.786, wlan0, 1000, eth=0x800, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=172.217.27.67, dstIp=100.112.108.29, srcPort=80, dstPort=49360)
WakeupEvent(06:58:02.919, wlan0, 10004, eth=0x86dd, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=2401:fa00:4:fd00:a585:13d1:6a23:4fb4, dstIp=2404:6800:4006:809::200a, srcPort=443, dstPort=46197)
WakeupEvent(06:58:05.586, wlan0, 10004, eth=0x86dd, dstHw=10:e:7e:26:3f:c1, ipNxtHdr=6, srcIp=2401:fa00:4:fd00:a585:13d1:6a23:4fb4, dstIp=2404:6800:4006:803::200a, srcPort=443, dstPort=46096)

Bug: 66869042
Test: runtest frameworks-net
      + manual testing by monitoring $ dumpsys connmetrics list
Change-Id: I03215c0c9fb7feda3e6ceb1b916f61f4ffb15344

Hugo Benichi   commited 2017-11-12 18:51:28 +09:00
b57b87637c
Merge "Update documentation for AES-GCM-ESP keymat length" am: b772a466c4 am: 6491b03410
am: 1e0eccff43

Change-Id: Ia0e1538feea2ddb0982875c925705c3648e50c8a

Benedict Wong   authored and   android-build-merger   commited 2017-11-08 18:27:06 +00:00
d4b8345cda
Merge "Update documentation for AES-GCM-ESP keymat length" am: b772a466c4
am: 6491b03410

Change-Id: I5e61a9c28dac49f2dca554ce2fdf755ab7be0dab

Benedict Wong   authored and   android-build-merger   commited 2017-11-08 18:12:25 +00:00
1e0eccff43
Merge "Update documentation for AES-GCM-ESP keymat length"
Benedict Wong   authored and   Gerrit Code Review   commited 2017-11-08 17:47:40 +00:00
b772a466c4
Update documentation for AES-GCM-ESP keymat length
Added notes that keymat length must include 32 bits of salt.

Bug: 68672051
Test: Frameworks-net unit tests & IpSecManager CTS tests run
Change-Id: I0ae0c5be8a45b2374783b3bd1fa8bf930f15e687

Benedict Wong   commited 2017-11-07 17:39:35 -08:00
698bd80129
Merge "DefaultNetworkEvent metrics: rehaul" am: 37a0df93a0 am: d025358166
am: d42223572a

Change-Id: Ia5c19bfbdf9eea553f4517f312295c14c2f02046

Hugo Benichi   authored and   android-build-merger   commited 2017-11-06 07:41:53 +00:00
413dcc46cc
Merge "DefaultNetworkEvent metrics: rehaul" am: 37a0df93a0
am: d025358166

Change-Id: If6bf966ba547a2ce50e17340e0374dd9b75b80d9

Hugo Benichi   authored and   android-build-merger   commited 2017-11-06 07:31:39 +00:00
d42223572a
Merge "DefaultNetworkEvent metrics: rehaul"
Hugo Benichi   authored and   Gerrit Code Review   commited 2017-11-06 07:09:49 +00:00
37a0df93a0
DefaultNetworkEvent metrics: rehaul
This patch changes instrumentation of default networks and default
network events:
- stop logging events for default network transitions,
  but instead consistently log one event per continuous segment
  when one given network was the default, including logging an
  event for when there is no default network.
- keep a separate rolling buffer of DefaultNetworkEvent for
  dumpsys and bug reports.

These changes allow to simplify post aggregation of default network
event metrics by removing any need to do time series processing.
Instead, metrics and counters can be implemented withouth any ambiguity
by following the recipe:

% of x = sum(duration | x = true) / sum (all durations)

where x can be various conditions such as:
- the default network was validated
- the default network was WiFi
- the default network was IPv6
- there was no default network
- ...

Most importantly, this new logging scheme allows to measure much more
reliably:
- the % of the time that a device had Internet, in the sense that the
default network was validated.
- the time transitions between default networks, keyed by previous and
new transports/link layer, which allows to derive wakelock durations
and wakelock power costs from default network switches.

This patch also simplifies the dumpsys interface of the connmetrics
service and reduces the commands to three:
- "flush" for metrics upload.
- "proto" for printing buffered event in text proto format.
- "list" for listing all events and statistics.

Bug: 34901696
Bug: 65700460
Test: runtest frameworks-net
Change-Id: I0521f1681a60cca07ac3bfd5741d64ce44de4cdd

Hugo Benichi   commited 2017-11-06 09:04:02 +09:00
6d7c63fa64
Merge "Define NOT_ROAMING network capability." am: 8f380ab29c am: 3fe1ae29cd
am: db888d1704

Change-Id: I04220ff55fc87dbf8d417a30f15a06a877b412d4

Jeff Sharkey   authored and   android-build-merger   commited 2017-11-03 23:18:45 +00:00
f27fbf89ef