Commit Graph

4907 Commits

Author SHA1 Message Date
android-build-team Robot
f1faa9bf0d Snap for 4813226 from 737d83180e4b1dd5ced0b5aff275e5e98e9bfa49 to pi-release
Change-Id: I4827f8fd89588d326230a9ab370b392d56ca80a8
2018-05-31 07:26:01 +00:00
Lorenzo Colitti
c58ef904d5 Merge "Don't complain if a VPN changes capabilities." into pi-dev 2018-05-31 03:03:04 +00:00
Benedict Wong
e240835101 [automerger skipped] DO NOT MERGE: Add unit tests to ensure VPN meteredness
am: f0713b5491  -s ours

Change-Id: I7ce4d1327e4f26080bd1001fb8fa1d370d2bcb96
2018-05-30 16:10:46 -07:00
Lorenzo Colitti
614891d0d3 Don't complain if a VPN changes capabilities.
VPNs are not driven by NetworkRequests, so there's no risk of a
capability change on a VPN causing a connect/teardown loop.

Bug: 80439912
Test: builds, boots
Change-Id: Ic4c489ccc9fb97551d1ef440766f6cf6f99522db
2018-05-30 21:34:23 +09:00
android-build-team Robot
ae8690ac9a Snap for 4807121 from 6de8729657263d0dba112573298055d9396027d6 to pi-release
Change-Id: Ia6dce4a3bf6db94f344421e74795a23233b025fb
2018-05-27 07:25:05 +00:00
Benedict Wong
f0713b5491 DO NOT MERGE: Add unit tests to ensure VPN meteredness
These new tests ensure that VPNs report the meteredness of their
underlying networks correctly. The added test verifies VPN meteredness
for cases of metered and unmetered WiFi and Cell

Bug: 78644887
Test: This; ran on walleye-eng
Change-Id: I28bdc71a336bfd97f7908455d4781d774df44b87
2018-05-25 22:11:51 +00:00
android-build-team Robot
5ab2e46ae6 Snap for 4801384 from b82d3d7e741ff8fe6bf7d1cae79d519fe4922d9a to pi-release
Change-Id: I43f3badb9f29c0d8d748b896eb3d83cf740a8d49
2018-05-24 07:26:26 +00:00
Benedict Wong
687aa58f2e DO NOT MERGE: Fix ConnectivityController meteredness checks
This patch corrects ConnectivityController's meteredness checks to
perform correct meteredness checks while VPNs are running. This fixes a
bug in O-MR1 where any apps using the DownloadProvider with unmetered
network constraints fail to start while the VPN is enabled.

This change adds a bespoke method for ConnectivityController, allowing
it to correctly identify the meteredness without affecting public API
surfaces.

Bug: 78644887
Test: Built, flashed on Walleye, and tested.
Test: Additional test coverage in subsequent patch(es).
Change-Id: Ie1d11d93d51d936ce81cd5984af61bde30325983
2018-05-23 23:15:36 -07:00
Chalard Jean
d9fffc3510 Destroy networks as soon as they are disconnected.
...as opposed to after the async channel finished disconnecting.

Bug: 78308259
Test: runtest frameworks-net
      also used a device with this patch over the weekend and
      tried all I could think of

Change-Id: I77ad6d97abb20815b801a794eaa9685acf2d1173
2018-05-24 11:44:10 +09:00
Remi NGUYEN VAN
8ab8d5c74e Merge "Add configurable captive portal probes" into pi-dev 2018-05-23 14:26:39 +00:00
Remi NGUYEN VAN
c2491572d5 Add configurable captive portal probes
The probes allow testing for a configurable status code and location
header (regexes). They are disabled by default, so this CL is a
no-op unless the probe configurations are pushed.

Bug: b/79499239
Test: tests in CL pass, manual: captive portal login works
Change-Id: I785723aaed06054b9aa8ebff77803f23d7836db9
2018-05-23 20:48:46 +09:00
TreeHugger Robot
de0d35a229 Merge "Fixup SntpClient to bypass Private DNS" into pi-dev 2018-05-23 10:27:28 +00:00
android-build-team Robot
bfe89ab5d5 Snap for 4799153 from 3d00f35c758ce3b4f04f626e5711e6710cb1b8b0 to pi-release
Change-Id: I5ea3599d72f5834226fdcd4e5e9cafd217cd9ccf
2018-05-23 07:23:49 +00:00
Erik Kline
e5e21fd4b5 Fixup SntpClient to bypass Private DNS
NTP may be necessary in order to validate Private DNS certificates,
so it should be allowed to bypass Private DNS.

Test: as follows
    - built, flashed, booted
    - tcpdump for port 53; adb shell am restart
      queries for the NTP hostname appear in the clear
    - runtest frameworks-net passes
Bug: 64133961
Bug: 80118648
Change-Id: Id9ceb3fcaaffb48cbbd4cd381d48cae991572c9e
2018-05-23 16:03:03 +09:00
Chalard Jean
8397a84ea8 Fix a ConcurrentModificationException crash.
This is a pinpoint fix against the bug listed below. While a client
is synchronously reading the LinkProperties of a network, the
ConnectivityServiceThread is updating its properties. Make sure
that update is done atomically.

This is a stopgap countermeasure against a problem that is
pervasive with usage of LinkProperties, but fixing the problem
itself will happen later.

Bug: 80077223
Test: runtest frameworks-net
Change-Id: I9302f8fb5303cb39aa82691d4f6d7f38707a41fa
2018-05-23 10:48:02 +09:00
Chalard Jean
f90bb339f5 Unify behavior of various cases of "no underlying networks"
Before this change, VPNs having no underlying networks would be
marked as metered as the safe option, but VPNs having only
disconnected underlying networks would be marked as unmetered.
Fix this discrepancy.

Bug: 79748782
Test: runtest frameworks-net
Change-Id: I51c3badde29f43f692f383553bd98327d2da8dd1
2018-05-22 18:50:00 +09:00
Chalard Jean
d4f01cadc0 Fix: VPNs update caps upon underlying network disconnect.
Bug: 79748782
Test: ConnectivityServiceTests still pass
Change-Id: Ic8231b18a17e6feb5ebafe8d5688fb59f9d4d58e
2018-05-22 18:49:58 +09:00
Chalard Jean
e2b9a76574 Add tests for setUnderlyingNetworks.
Fixes come later. This is complex enough as it is.

Bug: 79748782
Test: new test passes, old tests still pass
Change-Id: I30009f88e68a534c332ca88bae517cacc39a60bb
2018-05-22 18:25:33 +09:00
Remi NGUYEN VAN
11d94b5742 Merge "Move CaptivePortalProbeResult to its own file" into pi-dev 2018-05-22 08:00:56 +00:00
Chalard Jean
cb42feb502 Merge "Fix setCapabilities." into pi-dev 2018-05-22 07:51:09 +00:00
Remi NGUYEN VAN
cabd8329f3 Move CaptivePortalProbeResult to its own file
This is necessary to resolve visibility issues for the next change.

Bug: b/79499239
Test: runtest frameworks-net
Change-Id: I50bc96afe6ae88c8f58a693f0a4e821f1f9b3299
2018-05-22 10:00:28 +09:00
Chalard Jean
e15627ef72 Fix setCapabilities.
P introduced setSSID, UIDs and unwanted capabilities.
None of these exhibit commutative behavior through combineCapabilities
because their semantics don't allow it. Therefore
NetworkRequest.setCapabilities() is badly broken around any of
these. Look at the comments in the new tests to realize the
extent of the damage.

Bug: 79748782
Test: new tests written, old tests pass
Change-Id: Ie46581bdaf9ecc2f14aab44788bbdb27a3fec8c1
2018-05-21 14:46:40 +09:00
android-build-team Robot
b3eae29c2e Snap for 4793185 from 915e94484b73d5184ccd0e8d4f58e16b973e5b3b to pi-release
Change-Id: Ic8c5947927774388a5fbcd6923bbdbcc631610c1
2018-05-20 07:21:16 +00:00
Erik Kline
a7edf6ff56 Add explicit override for default Private DNS mode
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 79719289
Change-Id: I943c5476666e47d04690626e2133f501cb875b46
2018-05-17 17:41:12 +09:00
android-build-team Robot
121364aa82 Snap for 4784261 from 037834d55772403be181cac74e8d806aa3385ddc to pi-release
Change-Id: If699bf35aa77c7c0aeca814b9c02cf155159fa69
2018-05-16 07:24:30 +00:00
Jeff Sharkey
7b6ed22507 Let tests enumerate all transports/capabilities.
This gives them a way to collect all included values without
resorting to manual probing of each newly added value.

Bug: 16207332
Test: atest com.android.cts.net.HostsideVpnTests
Change-Id: I35ca412512dc8515b44d5518e1ca4caa5bdc678f
2018-05-14 17:17:33 -06:00
android-build-team Robot
d04b401d1f Snap for 4773106 from 98451417018a312251b6267c42236c3802f45812 to pi-release
Change-Id: I0170c5b3f8940e2956242ef5f527a54b74567b6a
2018-05-10 07:26:53 +00:00
Chalard Jean
f2da177b59 Fix SSID not being logged by the validation logs
Also add it in the logs of the notification manager.

Bug: 78547904
Test: manual
Change-Id: I262e65efadb00e1efce5056771978053f304ca6f
2018-05-09 18:11:10 +09:00
android-build-team Robot
bff9864dd7 Snap for 4765094 from f7416d1fe0f906d7bec1db767de2ab1ec4bb1026 to pi-release
Change-Id: Ie3108009fb6c7c946de546362c2f6ca7713f016d
2018-05-06 07:26:32 +00:00
android-build-team Robot
8c9396a826 Merge "Add static IpClient logging" into pi-dev 2018-05-03 08:19:43 +00:00
android-build-team Robot
7e16831395 Snap for 4759746 from 49a987c277b8644f81c53defbc7ff8c2a950ba28 to pi-release
Change-Id: I4dd0e1b090acebe52adbe7c57d9ea63772a2fe91
2018-05-03 07:21:04 +00:00
android-build-team Robot
24596473b7 Merge changes from topic "ifaceStatsDetail" into pi-dev
* changes:
  Remove the unused file parsing function
  Use eBPF map data for per iface stats
2018-05-02 19:17:27 +00:00
Erik Kline
78b85e6ca3 Add static IpClient logging
Support keeping IpClient logs around and dumping them
during dumpsys.  Previously we got this benefit for
wifi by virtue of WifiStateMachine's long-lived nature.
Now that this is changing we need to be sure we have
logs, and this method gets us Ethernet logs as well.

Bug: 62476366
Bug: 77999594
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
    - dumpsys connmetrics [ipclient] works
Change-Id: I1136a83de8097fdb4130debe1eaf689be7132fe5
2018-05-02 21:53:17 +09:00
Chenbo Feng
cf7567ba7a Remove the unused file parsing function
With the new xt_bpf support for iface stats. We no longer need to parse
the per interface stats from /proc/net/dev. And since the old xt_qtaguid
code path also not depend on it, we can completly remove that helper
function since no caller is depending on it now.

Bug: 72111305
Test: runtest frameworks-net -c com.android.internal.net.NetworkStatsFactoryTest
Change-Id: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe
Merged-In: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe
(cherry picked from aosp commit b815c978b81eee4b1494bd0b9d25bfad52f08b72)
2018-05-01 19:48:03 -07:00
android-build-team Robot
88c797787b Snap for 4751833 from 8f5b3f19b4b10a55e283c48ba64261e1f33c9b0c to pi-release
Change-Id: I049ecf5ab302a6bef275210404b9119be9ceb328
2018-04-29 07:22:11 +00:00
Bernie Innocenti
f1089bfa95 apf: Add counters for dropped / passed packets
ApfFilter maintains separate counters for each reason why a packet was
passed or dropped by the filter logic.

There's also a total which should match the individual counters,
*unless* the APF interpreter aborted execution early due to an illegal
instruction or an out-of-bounds access.

Test: both on APFv2 and APFv4-capable device:
	runtest -x tests/net/java/android/net/ip/IpClientTest.java
	runtest -x tests/net/java/android/net/apf/ApfTest.java
	manual tests connected to an AP
Bug: 73804303
Change-Id: I54b17fcbb95dfaea5db975d282314ce73d79d6ec
2018-04-27 23:30:23 +09:00
android-build-team Robot
b12202bda9 Snap for 4742838 from 728cb519a5c734af0b7befa52d803d9d090a20aa to pi-release
Change-Id: I41c109022b915f160a4971c66eb9fd171d64a8a8
2018-04-25 07:25:44 +00:00
Lorenzo Colitti
9d64b6e6b2 Merge "Actually @hide unwanted capability methods." into pi-dev 2018-04-24 21:20:25 +00:00
Chalard Jean
46adcf3089 Make sure getActiveNetwork is consistent with default callbacks
Bug: 77737389
Test: runtest framework-net
      new test don't pass without the main code change, but they
      do with it
Change-Id: I0cd83a935ab0b349aa47e065b830e5a43ab9a091
2018-04-24 17:32:00 +09:00
android-build-team Robot
8d7c7fed46 Snap for 4739962 from d5a1bb621a05d414ed630643898f98081893f71b to pi-release
Change-Id: I1f6271a48eebc519d5ee2bcbc23761954fe3af98
2018-04-24 07:23:04 +00:00
Chalard Jean
fd424b90be Add tests for getActiveNetwork.
Bug: 77737389
Test: runtest frameworks-net
Change-Id: I03ae2bbb08559f2cd44979e291c1f5d50eb215da
2018-04-24 15:23:28 +09:00
Lorenzo Colitti
88e7d8e3e5 Actually @hide unwanted capability methods.
Bug: 77601789
Test: builds, boots
Test: make doc-comment-check-docs
Change-Id: I7a913b83ab5110047d187564b3a1b0bbe1631942
2018-04-24 13:12:56 +09:00
Chalard Jean
48bb49deff Let DnsManager fill in LinkProperties for private DNSes
Test: new tests pass
Bug: 73641539
Change-Id: I971ef4d27b22a435d7459e1c4b31a8715ef6e610
2018-04-23 13:58:42 +09:00
android-build-team Robot
46de532631 Snap for 4736748 from e71fb69ec9551029959ae2cc75ca2de2a2be3652 to pi-release
Change-Id: I079ed104b35b4d57aa5393980595e3827bf01939
2018-04-22 07:23:51 +00:00
Chalard Jean
3e0a46a439 Add the list of private DNS addresses to LinkProperties
Test: atest android.net.LinkPropertiesTest, also new tests pass
Bug: 73641539
Change-Id: If33a35b1354a67db09411ff098f20064797296ad
2018-04-20 16:48:43 +09:00
android-build-team Robot
54b7c7f70f Snap for 4725392 from 34a0b18a5c730e4fa16e27c63ed0cd79a6df188e to pi-release
Change-Id: Ifaf1b911565819b2bd1f466eaa61a1292868f497
2018-04-17 07:22:21 +00:00
android-build-team Robot
55393189f1 Merge cherrypicks of [3907239, 3907816] into pi-release
Change-Id: I90cbf2491df8c8606b9744aa732647ec26d3bddc
2018-04-16 20:14:42 +00:00
Jeff Sharkey
d810e5e914 Revert "OP_GET_USAGE_STATS should be noted, not checked."
This reverts commit b1296e58da.

Reason for revert: ijpedowitz@

Bug: 77662908
Change-Id: I5dd0ad5038df90ea8a80ba6f583ee46fb24600c2
Exempt-From-Owner-Approval: keep tests passing
(cherry picked from commit d5992e681f)
2018-04-16 20:14:24 +00:00
Jeff Sharkey
687ddf6928 Merge "Revert "Revert "OP_GET_USAGE_STATS should be noted, not checked.""" into pi-dev 2018-04-16 16:54:32 +00:00
Jeff Sharkey
069002e639 Revert "Revert "OP_GET_USAGE_STATS should be noted, not checked.""
This reverts commit d5992e681f.

Reason for revert: ijpedowitz@

Bug: 77662908
Change-Id: I596d330d64942105f447bb613012bb11e281a805
Exempt-From-Owner-Approval: keep tests passing
2018-04-16 16:50:34 +00:00