Commit Graph

856 Commits

Author SHA1 Message Date
Benedict Wong
ebf59a8962 Merge "[ipsec-qtaguid] Tag sockets upon creation of encap sockets" am: d0ac50bcad am: 8caa274ade
am: 9de5c77303

Change-Id: I4140f386687c579044f9b5fe59dd7e05f86000fe
2017-12-19 00:41:55 +00:00
Benedict Wong
d0ac50bcad Merge "[ipsec-qtaguid] Tag sockets upon creation of encap sockets" 2017-12-18 23:50:52 +00:00
Benedict Wong
babe5d7364 [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
2017-12-18 19:46:06 +00:00
Hugo Benichi
a0ecf38d30 MacAddress: address api review comments
1) toSafeString() is renamed to toOuiString()
2) toOuiString() returns a String that only contains the first 3 bytes
   of the mac address.

Bug: 70336442
Test: runtest frameworks-net
Change-Id: I798d8fec32dbff5687a682028e5d90eb941f81c1
2017-12-18 09:22:47 +09:00
Erik Kline
648aee9407 Merge "Revert "Send empty LinkProperties when entering StoppedState."" am: e8a4cb13e9 am: bb8c1a501a
am: 327462b2f7

Change-Id: Ie43fa6ffba91df2d38011d17008c8033ad29cf7b
2017-12-15 07:37:48 +00:00
Erik Kline
e8a4cb13e9 Merge "Revert "Send empty LinkProperties when entering StoppedState."" 2017-12-15 07:09:24 +00:00
Erik Kline
85ca6f75c6 Merge "Send empty LinkProperties when entering StoppedState." am: 5557fe3e2d am: de336f18f9
am: d71ec3be6f

Change-Id: Ie775de7719bedc4fb0d1a50a3be6acad9651a9d9
2017-12-15 06:57:20 +00:00
Erik Kline
652044a7db Revert "Send empty LinkProperties when entering StoppedState."
This reverts commit 94209ab768.

Reason for revert: should not have auto-submitted prior to more extensive wifi team testing.

Change-Id: Ie81b10473caf34971226948038bc20dc4fa6a1ae
2017-12-15 06:36:50 +00:00
Treehugger Robot
5557fe3e2d Merge "Send empty LinkProperties when entering StoppedState." 2017-12-15 06:29:15 +00:00
Nathan Harold
05c21d632e 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
2017-12-14 23:13:45 +00:00
Nathan Harold
660a335f11 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
2017-12-14 23:04:42 +00:00
nharold
ccb9365019 Merge "Use consistent naming for allocating SPI." am: bf48afea49 am: 4753ed4b1b
am: f71c95dfe4

Change-Id: Ib6845ab0d7f385fbd1d59c0179771542e12c8be0
2017-12-14 21:48:58 +00:00
nharold
bf48afea49 Merge "Use consistent naming for allocating SPI." 2017-12-14 21:10:16 +00:00
Benedict Wong
51176cf847 Merge "Convert IpSecService resources to use refcounting" am: b6ba8fd49d am: 8698b33cc2
am: c475898995

Change-Id: Ib18839d7dff8e25898f81e877337fbb8cb24cc7b
2017-12-14 02:41:28 +00:00
Benedict Wong
344bd62a31 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
2017-12-13 23:28:41 +00:00
Benedict Wong
892786836e Merge "Add reference counted resources to IpSecService" am: e11366f38a am: adb6437fea
am: 012739e9ad

Change-Id: Iae17a5d33d71e8abf24211cbf2b215520f45c619
2017-12-13 22:11:20 +00:00
Benedict Wong
e11366f38a Merge "Add reference counted resources to IpSecService" 2017-12-13 21:33:38 +00:00
Benedict Wong
409c8ca7be 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
2017-12-12 23:40:52 -08:00
Erik Kline
94209ab768 Send empty LinkProperties when entering StoppedState.
Additionally, no longer try to transition from within a State's
enter() method (this can encounter Log.wtf()s). Introduce some
CMD_JUMP_* commands and use deferMessage().

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes (except for IpConnectivityMetricsTest failures)
    - manual changing from DHCP to static configurations works:
  2017-12-11T19:06:19.082 - INVOKE onLinkPropertiesChange({{InterfaceName: wlan0 LinkAddresses: []  Routes: [] DnsAddresses: [] Domains: null MTU: 0}})

Bug: 69800563
Bug: 70394432
Change-Id: Ice249a48b66806c0270ec3f11dd2e8e387d4e29b
2017-12-13 12:13:36 +09:00
Jonathan Basseri
5fb929032d 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
2017-12-12 13:50:35 -08:00
Roshan Pius
cde4484262 Merge "Revert "Send empty LinkProperties when entering StoppedState."" am: e339662247 am: 66c8516600
am: a312cf38f9

Change-Id: Ib7aff28ca5088bf5ebbc86ab7ee5c607e35d6a2b
2017-12-09 02:09:51 +00:00
Treehugger Robot
e339662247 Merge "Revert "Send empty LinkProperties when entering StoppedState."" 2017-12-09 01:34:07 +00:00
Roshan Pius
f1967c4125 Revert "Send empty LinkProperties when entering StoppedState."
This reverts commit b3f9f4a305.

Reason for revert: Crash in WifiStateMachine (b/70394432)

Change-Id: I3a96c822eddcebcdd6621cee878b865171d094e8
2017-12-08 22:29:50 +00:00
Erik Kline
60e07a09c9 Merge "Refactor to IpNeighborMonitor and single-threaded semantics" am: b501e7e25b am: c4ca15786f
am: 91bb7b17d2

Change-Id: I128763174d70cc4b5999f3fcda485604c006a24e
2017-12-08 06:21:03 +00:00
Treehugger Robot
b501e7e25b Merge "Refactor to IpNeighborMonitor and single-threaded semantics" 2017-12-08 05:44:26 +00:00
Erik Kline
ad2b492fe9 Merge "Send empty LinkProperties when entering StoppedState." am: efdca004ab am: 72aa5bbd4e
am: ca08e38e3a

Change-Id: Ia33d99f181f67f33b14c0c7552f934b089182c4a
2017-12-08 04:23:50 +00:00
Erik Kline
84714bffa1 Refactor to IpNeighborMonitor and single-threaded semantics
IpReachabilityMonitor (and IpNeighborMonitor) are only accessed from
the IpManager StateMachine's thread. Consequently lots of locking can
now be removed.

Additionally:
    - rename BlockingSocketReader to PacketReader
    - incorporate IpReachabilityMonitor output in dump()

Test: as follows
    - runtest frameworks-net passes
    - "adb shell ip neigh change <address> dev wlan0 nud failed"
      triggers wifi to disconnect
Bug: 62476366
Bug: 67013397
Change-Id: I18aca29ae0019a72a7e559c2832e0d9b0e33d81e
2017-12-08 11:12:05 +09:00
Erik Kline
b3f9f4a305 Send empty LinkProperties when entering StoppedState.
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
    - changing from DHCPv4 to static while continuously pinging the
      default gateway works jsut fine
    - dumpsys log shows that during the change we send the empty LP:
  12-06 08:46:51.085 - CMD_ON_QUIT wlan0/23 0 0 null [rcvd_in=StoppingState, proc_in=StoppingState]
  12-06 08:46:51.092 - INVOKE onLinkPropertiesChange({{InterfaceName: wlan0 LinkAddresses: []  Routes: [] DnsAddresses: [] Domains: null MTU: 0}})

Bug: 69800563
Change-Id: I01047e9a72fce718a167c592bf14406c3bab3ba9
2017-12-07 18:07:38 +09:00
ludi
1229bed274 Merge "Cleanup of resource limit tests" am: 39f58678db am: da23b08c6c
am: cf1a4315f7

Change-Id: If26dc3a8a969ad63f250608427480996c3b02845
2017-12-06 04:08:23 +00:00
ludi
da23b08c6c Merge "Cleanup of resource limit tests"
am: 39f58678db

Change-Id: Ifcbc61ad8003c43ba1baff6d4d534192f6498206
2017-12-06 03:29:35 +00:00
Treehugger Robot
39f58678db Merge "Cleanup of resource limit tests" 2017-12-06 02:58:41 +00:00
Hugo Benichi
f5cf390e41 Merge "Fix bug in MacAddress.fromString()" am: cdb84d2fc7 am: 9d077ecd9d
am: 5d2bd6bf0c

Change-Id: I7df23a45618825b874658ccbbf1d1fda6b164954
2017-12-05 10:09:35 +00:00
Hugo Benichi
9d077ecd9d Merge "Fix bug in MacAddress.fromString()"
am: cdb84d2fc7

Change-Id: If4c85f0a5ea259f53f9cffa6eacb58fcde1fd1df
2017-12-05 09:47:50 +00:00
Hugo Benichi
d2c5b1925b Fix bug in MacAddress.fromString()
Test: runtest frameworks-net
Bug: 69390696
Change-Id: I83f01e4915092e08ed201d9b6738bb02498d3bba
2017-12-05 13:14:08 +09:00
nharold
b8ab1d404b Merge "Validate IpSecAlgorithm Length" am: 68b81299d2 am: 5e3d66e78b
am: 7a8f0dc0c0

Change-Id: I1a28d860ac7125afc1f82ac17d1834b0121c0e11
2017-12-05 02:46:06 +00:00
nharold
5e3d66e78b Merge "Validate IpSecAlgorithm Length"
am: 68b81299d2

Change-Id: I23f7612c119e67f9a1647568aeefde38a365f8da
2017-12-05 02:28:10 +00:00
nharold
68b81299d2 Merge "Validate IpSecAlgorithm Length" 2017-12-05 02:13:55 +00:00
Hugo Benichi
469f4f6010 Merge "MacAddress: light refactors and improve documentation" am: d871cab32d am: 2f7cb5752b
am: 13b2fa0f85

Change-Id: Iae0e87bcc9bd9c1ba98319f3b65f18f6743c02a0
2017-12-05 00:06:50 +00:00
Hugo Benichi
2f7cb5752b Merge "MacAddress: light refactors and improve documentation"
am: d871cab32d

Change-Id: I51bb8786ecd7f53e3342625c7a2625007eedfc0f
2017-12-04 23:38:27 +00:00
Nathan Harold
3349b26630 Validate IpSecAlgorithm Length
Improve the Validation of IpSecAlgorithm by
explicitly checking the length in addition to
the truncation length (previously an oversight).
In addition, we now check the lengths during
un-parceling, which will catch someone maliciously
manually building a parcel and passing it, bypassing
the checks in the constructor.

Bug: 68780091
Test: runtest -x IpSecAlgorithmTest.java
Change-Id: I8172762617264d34f47d5144336464510f07a701
2017-12-04 15:12:14 -08:00
Hugo Benichi
84bb7fc761 MacAddress: light refactors and improve documentation
This patch does some light refactoring in MacAddress to prepare for
exposing MacAddress in the public api:
 - documention is improved
 - some method names are renamed
 - a toSafeString method is added
 - a padding bug in the conversion methods outputting strings for
   mac addresses is fixed

Bug: 69390696
Test: runtest frameworks-net
Change-Id: I399a97dabc2dfa8df9c5518c8b12484e43ca05c9
2017-12-04 22:34:43 +09:00
Sudheer Shanka
352dc57186 Track some event history and include it in netpolicy dump.
Bug: 66921847
Test: manual
Change-Id: I0c473790f83076def807308fe44db9cb9365769e
2017-11-28 11:33:43 -08:00
ludi
6b7fb6bbec Cleanup of resource limit tests
Test: runtest frameworks-net
Bug: 65688605
Change-Id: Ice3ff2624b83c833a99559485c1e782d36c54ae3
2017-11-28 10:21:18 -08:00
Di Lu
0620c30651 Merge "Add test case for user quota management in IpSecService" am: cf1a4614e1 am: c9c65317e8
am: 0ec853390a

Change-Id: I84e81e261c93d2199e4932431ee57b75496ea2d5
2017-11-15 20:39:53 +00:00
Di Lu
c9c65317e8 Merge "Add test case for user quota management in IpSecService"
am: cf1a4614e1

Change-Id: Ib1887b2395f0b1391711a9df9bebe224b6be1643
2017-11-15 20:23:14 +00:00
Di Lu
cf1a4614e1 Merge "Add test case for user quota management in IpSecService" 2017-11-15 20:12:38 +00:00
Xin Li
220871a697 Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7
Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d
2017-11-14 12:31:11 -08:00
Hugo Benichi
9769872de6 Merge "IP connectivity metrics: NetworkEvents have transports" am: f8fdb06c27 am: f3ada43f6e
am: 1b2e6c11e7

Change-Id: If452f742e50344e730f63b7329788b19d13280ec
2017-11-14 12:03:25 +00:00
Hugo Benichi
d80b572c1a Merge "Add L2~L4 information to packet wakeup logs and metrics" am: 6ee20ca7d3 am: ab15f7fc64
am: 4c0b7e52e4

Change-Id: Ia0b300662d4758f31ca583c9cf05f9186b8331aa
2017-11-14 11:55:45 +00:00
Hugo Benichi
1b2e6c11e7 Merge "IP connectivity metrics: NetworkEvents have transports" am: f8fdb06c27
am: f3ada43f6e

Change-Id: I8cd50ea805fe3e533c0fc21b220827155cb0d23b
2017-11-14 01:46:23 +00:00