Commit Graph

1403 Commits

Author SHA1 Message Date
TreeHugger Robot
f8e0f14007 Merge "Captive portal systel log improvements" 2016-11-24 03:45:57 +00:00
Hugo Benichi
6fe7d3cdb3 Captive portal systel log improvements
This patch improves system logging around captive portal detection to
make inspection of bug reports sligthly easier:

- NetworkMonitor now logs by default CMD_CAPTIVE_PORTAL_RECHECK and
  CMD_CAPTIVE_PORTAL_APP_FINISHED. Other system logs are kept off with
  a new VDBG boolean contant,
- NetworkNotificationManager now prints the notification id at
  notification time. This allows to easily correlate show and clear.
- errors in NetworkNotificationManager are logged as Throwable instead
  of through their implicit toString() method.

Test: $ runtest frameworks-net
Bug: 32198726
Change-Id: Id74a9912880083d41e27753240e781595081ff7a
2016-11-24 10:36:04 +09:00
Etan Cohen
88087226a6 [CS] Remove timeout event after first available
Guarantees that timeouts are only delivered if a network never
becomes available. Once a network is available the timeout is
canceled.

Bug: 31402633
Test: all timeout related unit tests pass (new one added)
Change-Id: I2b7adffd82173cf8b99084cbfe5399961d51e148
2016-11-21 19:15:10 +00:00
Stephen Chen
7581e6d766 Implement metered tracking for NetworkStats summary queries.
Dependent on ag/1550196 where API is defined.

Bug: 31015360
Bug: 26545374
Test: runtest --path
frameworks/base/core/tests/coretests/src/android/net/NetworkStatsTest.java,
other test classes.

Change-Id: I968b9e3352d7880e3fc438f12de628a2da057e0a
2016-11-04 09:55:21 -07:00
Lorenzo Colitti
384a9cb1f9 Move the connectivity tests to frameworks/base/tests/net.
This will give us a good place to put all the networking tests.

Fix: 31479480
Test: adb  shell am instrument -w -e notClass com.android.server.connectivity.tethering.TetherInterfaceStateMachineTest 'com.android.frameworks.tests.net/android.support.test.runner.AndroidJUnitRunner'  # PASS
Change-Id: I4b389f7f4e33a996885b38670f585e58ca66f777
2016-10-28 17:12:36 +09:00
Lorenzo Colitti
f59c92bb17 De-guava BroadcastInterceptingContext and move it to testutils.
Removing the static dependency on guava reduces test compile time
by about 20 seconds on a Z840, thus substantially speeding up the
compile/test cycle.

Make FutureIntent public instead of package-private because it is
used directly by NetworkPolicyManagementServiceTest, which as of
this CL is now in a different package.

Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkPolicyManagerServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.net.NetworkStatsServiceTest  # PASS
Test: runtest frameworks-services -c com.android.server.NetworkManagementServiceTest  # Already failing.
Bug: 31479480
Change-Id: Ifab32c9214e9caab71dbf93b3d3ca88df6f49636
2016-10-28 17:12:36 +09:00
Lorenzo Colitti
1de880a8fa Move FakeSettingsProvider to a common location.
Test: runtest frameworks-util -c com.android.internal.util.test.FakeSettingsProviderTest
Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest
Test: runtest frameworks-services -c com.android.server.retaildemo.PreloadAppsInstallerTest
Test: runtest frameworks-services -c com.android.server.retaildemo.RetailDemoModeServiceTest
Bug: 31479480
Change-Id: I82a1a1a7219cf1385092b84d85eddf9dda90c685
2016-10-28 17:12:31 +09:00
Glen Kuhne
6543f1534f Merge "Move ipconnectivity.proto to services-proto.jar" 2016-10-27 16:27:27 +00:00
Hugo Benichi
72753055a8 Merge "ConnectivityServiceTest: mark flaky test as such" 2016-10-27 05:21:33 +00:00
Hugo Benichi
6d278a5693 ConnectivityServiceTest: mark flaky test as such
This patch extracts into its own independent test a test sub-block looking
for a race condition when not waiting on handlers to become idle:
there is no way to prevent the race from not happening when looking for
it this way. This makes the test flakky.

This new independent test is tagged with @FlakkyTest(tolerance = 3).

Test: ConnectivityServiceTest passes, with higher probability.
Bug: 31479480
Change-Id: Ic0e2ffbe669f2ea8cc62e8a0d4763703368db019
2016-10-27 09:38:54 +09:00
Glen Kuhne
3935ae9967 Move ipconnectivity.proto to services-proto.jar
Moved ipconnectivity.proto from services.core.jar to
framework-protos.jar.
Replaced 'mergeFrom' MessageNano base class calls, with 'parseFrom'
IpConnectivityLog calls.

This solves an issue where the services.jar would conflict with
duplicate nano proto base class definitions in other .jars
(wifi-service.jar).

Bug: 32261442
Test: Existing unit tests pass
Change-Id: I49100935fcae2e85e12eaa7f3462864f3a340b97
2016-10-26 10:18:46 -07:00
Christopher Wiley
ab83d5b80c Merge "Add unit tests for Tethering.isTetherProvisioningRequired" am: 836ffa6e1c am: 4942a15e19 am: 1e0ea3cc22
am: 2ae41619ae

Change-Id: Iee7c8575ee22a494e2657e15e1aaae9b05a37045
2016-10-25 18:43:16 +00:00
Christopher Wiley
1e0ea3cc22 Merge "Add unit tests for Tethering.isTetherProvisioningRequired" am: 836ffa6e1c
am: 4942a15e19

Change-Id: Ica704d0a64dde80ae0a9f1cef0250bfbdafcd49a
2016-10-25 18:31:02 +00:00
Christopher Wiley
4942a15e19 Merge "Add unit tests for Tethering.isTetherProvisioningRequired"
am: 836ffa6e1c

Change-Id: I1dab386e3891c01a2917c32847d2aecdbfa10102
2016-10-25 18:23:02 +00:00
Christopher Wiley
a28f756e2d Add unit tests for Tethering.isTetherProvisioningRequired
Check that we tolerate various dependencies not being available.

Bug: 31946071
Test: These are tests

Change-Id: Ic0a9cd6f255ba9ff4c774dee640df1a0bdf8dc39
2016-10-24 17:07:05 -07:00
TreeHugger Robot
9e4d9c5b99 Merge changes I1a544a8d,Ie78d3fb0
* changes:
  IpConnectivityMetrics: rate limit ApfProgramEvents
  IpConnectivityMetrics reads buffer size in settings
2016-10-24 14:45:46 +00:00
Hugo Benichi
811c4cec75 IpConnectivityMetrics: rate limit ApfProgramEvents
This patch uses the previously introduced TokenBucket to rate limit
ApfProgramEvents, still allowing for burst of ApfProgramEvents when a
new interface is set up (due to ipv4 provisioning, multicast lock, ipv6 RAs
triggering new APF program events in short amounts of time).

Test: new test in IpConnectivityMetricsTest
Bug: 1550402
Change-Id: I1a544a8d62e6b02f0ed0088ab76c4bad338d2f44
2016-10-24 21:54:37 +09:00
Hugo Benichi
d5f78a08b4 IpConnectivityMetrics reads buffer size in settings
Test: IpConnectivityMetricsTest passes. Also manually changed the new
setting and verified the buffer size is as expected after flushing the
buffer.
Bug: 32198637
Change-Id: Ie78d3fb03cea7883585549dac4f2063f0a8d9f4b
2016-10-24 13:52:41 +09:00
Hugo Benichi
b04e839e44 Merge "IpConnectivity metrics: add version number" 2016-10-21 04:35:52 +00:00
Calvin On
16da19b314 Add option to skip and avoid captive portals.
am: 1bf7fdd625

Change-Id: Id38d5c03d06822f9b20abd65db9dd04c90110b63
2016-10-20 20:18:10 +00:00
Calvin On
1bf7fdd625 Add option to skip and avoid captive portals.
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699
Change-Id: Ibe63942da04748ab0406e24e0f44be31d47710a0
(cherry picked from commit 3fd101e574)
2016-10-20 18:50:46 +00:00
Calvin On
3fd101e574 Add option to skip and avoid captive portals.
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699
Change-Id: Ibe63942da04748ab0406e24e0f44be31d47710a0
2016-10-20 00:51:39 -07:00
TreeHugger Robot
f8697b2dae Merge "Show notification for always-on app VPN" 2016-10-17 15:33:59 +00:00
Hugo Benichi
79a739cbf3 IpConnectivity metrics: add version number
This patch adds a version field to ipconnectivity.proto and populates it
to 2, which is the logical version number for NYC-MR2.

Test: IpConnectivity{EventBuilder,Metrics}Test pass
Bug: 32127906
Change-Id: I1439f012b7f9b4211d5d5429c274ad03d2ac9d6b
2016-10-17 16:24:19 +09:00
Michal Karpinski
33fa018898 Extending DNS event reporting
This adds hostname, array of addresses, total count of IP addresses
and uid to the existing pipeline.
Currently ignores the new data it receives, further work will be
done in the subsequent CLs.

Test: for now just the benchmarking, in the future unit and CTS

Bug: 29748723
Change-Id: Ice7db208282934e74f0e1808ffbae96d476c4216
2016-10-10 16:49:07 +01:00
Erik Kline
58d1a44fbe Refactor "avoid bad wifi" logic into a utility class am: fc52be9643 am: f0582faceb am: fdb7b562cf
am: 8bd57a31b8

Change-Id: Ie3d058d6c9da43763d10b0a2bc96171d07673e9d
2016-10-07 01:03:58 +00:00
Erik Kline
8bd57a31b8 Refactor "avoid bad wifi" logic into a utility class am: fc52be9643 am: f0582faceb
am: fdb7b562cf

Change-Id: I7db61e54c80ec836d00bf4ae087137bb296c30f1
2016-10-06 20:44:56 +00:00
Tony Mak
81f2dff176 Show notification for always-on app VPN
This is the same notification as the one shown during legacy lockdown
mode, sans the 'reset' button.

The notification is only shown during times when VPN has not yet
established or has failed, for example during boot or after a crash.

Bug: 29123115
Change-Id: If0e2eb4f8fb220a21d6d462363a05869e27c7b6e
2016-10-06 19:58:04 +00:00
Erik Kline
f0582faceb Refactor "avoid bad wifi" logic into a utility class
am: fc52be9643

Change-Id: I4a6ad3791ac551b0d64b37dd4e2afef1e8e8ee10
2016-10-04 07:47:52 +00:00
Erik Kline
fc52be9643 Refactor "avoid bad wifi" logic into a utility class
Additionally, add this utility class to IpManager for compatibility
verification.  A follow-on CL will make use of IpManager's local
AvoidBadWifiTracker.

Bug: 31827713
Change-Id: If8c56c3f8076d6a5157ea180e361bbdadc2bc1dd
2016-10-04 15:07:42 +09:00
Christopher Wiley
0c252807c8 Notify NetworkPolicyManagerService on tethering changes
(cherry-pick of d73faf07606d40d3915d22a72fa14f7ba956d459)

No longer do this in ConnectivityService#tether/untether.
Instead, have Tethering do it when an interface is actually
tethered.

Bug: 31405407
Test: Toggling hotspot now disables data saver

Change-Id: I9910a2e488c30c92d45f817c8f5df0fac5510de6
2016-09-30 10:33:19 -07:00
Hugo Benichi
164dd69148 New Settings symbols for captive portal detection am: 728a769ee1 am: b196a8e231
am: 3f807c2529

Change-Id: Iad6840b4edd243a77fe65a69a2f4dcba28e0a7cb
2016-09-29 06:09:56 +00:00
Hugo Benichi
9a3734938f Captive portal detection uses 3rd fallback probe am: a3d1962ab3 am: a40c84eae0
am: c14ca3d4b8

Change-Id: I221cf47aa43105d4094ec724f8d6f4f6c98d0757
2016-09-29 06:07:53 +00:00
Hugo Benichi
3f807c2529 New Settings symbols for captive portal detection am: 728a769ee1
am: b196a8e231

Change-Id: I6e965696ed03b0eb4a49db3b21ad6a382ba1d081
2016-09-29 01:23:59 +00:00
Hugo Benichi
c14ca3d4b8 Captive portal detection uses 3rd fallback probe am: a3d1962ab3
am: a40c84eae0

Change-Id: Iec8ccdbcd433d8b2f5538d7b4bed5c945b5b688a
2016-09-29 01:22:01 +00:00
Hugo Benichi
728a769ee1 New Settings symbols for captive portal detection
This patch defines new Settings symbols for
  - setting the probe urls for captive portal detection.
  - setting which User-Agent to use for captive portal detection.

The existing default values for these settings are not changed, i.e:
  - HTTP and HTTPS probes urls are unchanged.
  - the fallback probe is not used.
  - User-Agent is empty by default.

Bug: 29367974
Change-Id: I6e4b3b172e56b8b67fffa4b51f776d68d5851f25
2016-09-28 23:13:25 +09:00
Hugo Benichi
a3d1962ab3 Captive portal detection uses 3rd fallback probe
This patch adds the possitibility to send a 3rd fallback validation
probe in sendParallelHttpProbes when neither the 1st http probe nor the
https probe came back with a conclusive answer.

This 3rd probe is only used for trying again captive portal detection
and does not return success, so that network validation always fails if
the https probe fails.

In addition, the url reveals a captive portal is now sent to the
CaptivePortalLoginActivity so that all three probes can use different
urls.

Bug: 29367974

Change-Id: I7385fde1aa1316d94aac350af0e956cb193aa4ee
2016-09-28 23:12:31 +09:00
Christopher Wiley
9e7695915e Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e am: 8d7e3b0205 am: 583fe355b4
am: a8c7166533

Change-Id: I6075604795f97992d02bef28bb5cef85eb31d589
2016-09-27 14:24:33 +00:00
Christopher Wiley
a8c7166533 Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e am: 8d7e3b0205
am: 583fe355b4

Change-Id: I4d1081c832c1d3bff9a0946c670929eca4f0f695
2016-09-27 14:18:46 +00:00
Christopher Wiley
583fe355b4 Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e
am: 8d7e3b0205

Change-Id: I9595856421a848a570f4894fa55523a72a7fec44
2016-09-27 13:32:06 +00:00
Michal Karpinski
4c9fcb84ca Fix naming of the service in NetdEventListenerServiceTest
Bug: 29748723
Change-Id: I285cb77fba824036df80a9ed2560ee95d1d1919c
(cherry picked from commit 4b6d072726)
2016-09-26 10:43:56 +00:00
Michal Karpinski
4b6d072726 Fix naming of the service in NetdEventListenerServiceTest
Bug: 29748723
Change-Id: I285cb77fba824036df80a9ed2560ee95d1d1919c
2016-09-26 09:20:25 +01:00
Hugo Benichi
b54260227b resolve merge conflicts of 8e9d612 to nyc-mr1-dev-plus-aosp
am: fc76c02ce2

Change-Id: I4bfd7a9bc5ef4c3c5a30bed63b92eaef90b1a30e
2016-09-25 20:18:16 +00:00
Lorenzo Colitti
236ecdcd2c Restrict access to background networks to CHANGE_NETWORK_STATE. am: 1034b7c1ff am: 783c3e763d
am: 1b9ddf554d

Change-Id: I49bc23dcb5f36654c61a7aa76c41cebda81349f5
2016-09-25 20:11:52 +00:00
Hugo Benichi
8e4f8ff0ee Add ipconnectivity.proto to services jar am: ad509bd205 am: 446a3847b4
am: 0c85261577

Change-Id: Id194acbb25c8f3dd8fdf03af67912f7a0f0f770f
2016-09-24 02:11:20 +00:00
Hugo Benichi
fc76c02ce2 resolve merge conflicts of 8e9d612 to nyc-mr1-dev-plus-aosp
Change-Id: I82865b2847c584f8a1d728ef76113e3969f222ca
2016-09-23 14:48:01 +09:00
Hugo Benichi
8e9d612218 IpConnectivityLog uses new metrics service
am: 9eec53dbe4

Change-Id: I1e3b611eeec448e333e83cb8d630f0e9906b7f14
2016-09-23 04:48:49 +00:00
Hugo Benichi
4996bc8105 Merge "IpConnectivityLog uses new metrics service" into nyc-mr1-dev 2016-09-23 04:43:23 +00:00
Lorenzo Colitti
1b9ddf554d Restrict access to background networks to CHANGE_NETWORK_STATE. am: 1034b7c1ff
am: 783c3e763d

Change-Id: Ie4179344aa12e38d2e2a5fab43e028ca0c97150d
2016-09-23 04:01:07 +00:00
Lorenzo Colitti
783c3e763d Restrict access to background networks to CHANGE_NETWORK_STATE.
am: 1034b7c1ff

Change-Id: Iaf4ccd24298f680cab39bf9b87604eb16bc53aa5
2016-09-23 03:57:32 +00:00