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
(cherry picked from commit 6fe7d3cdb3)
Change-Id: I7780c389a94c4b9fa226f53b02fe5960d1c08618
Nothing in the system consumes these properties, they were never part
of an official public API, and they can leak information about the
current network to applications without networking prvileges.
Specifically, these properites allow applications to access network state
(and detect network changes, etc.) without having the ACCESS_NETWORK_STATE
permission.
Test: runtest ConnectivityServiceTest passes
Bug: 33308258
Change-Id: I85abc52bc11aee33940fd0af2397478a9a5c3b8f
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)
(cherry picked from commit 88087226a6)
Change-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748
Etan Cohenauthored and Lorenzo Colitticommited 2016-12-08 17:13:37 +09:00
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699
(cherry picked from commit 3fd101e574)
Change-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696
Calvin Onauthored and Lorenzo Colitticommited 2016-12-08 17:13:33 +09:00
Check that we tolerate various dependencies not being available.
Bug: 31946071
Test: These are tests
Change-Id: Ic0a9cd6f255ba9ff4c774dee640df1a0bdf8dc39
Christopher Wileycommited 2016-10-24 17:07:05 -07:00
Test: ConnectivityServiceTest updated with test cases.
Test: Manually tested against att-wifi in B42.
Bug: 30222699
Change-Id: Ibe63942da04748ab0406e24e0f44be31d47710a0
(cherry picked from commit 3fd101e574)
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
Erik Klineauthored and Lorenzo Colitticommited 2016-10-04 15:07:42 +09:00
(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
Christopher Wileycommited 2016-09-30 10:33:19 -07:00
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
When a network goes into the background, tell netd to set the
network's permission to NETWORK. Also, close all TCP sockets on
that network, to prevent long-lived TCP connections from staying
on it and possibly continuing to use metered data.
Bug: 23113288
Change-Id: Ie89c1940b6739160e25c6e9022b8b977afb3e16e
Lorenzo Colitticommited 2016-09-23 11:27:13 +09:00
Currently, when the avoid bad wifi setting changes, we rematch
all networks and requests, but do not update any NetworkFactories
with new scores. This means that if a wifi network's score goes
down as a result of enabling bad wifi avoidance, we will not look
for another network (e.g., cell data) to satisfy its requests.
This makes it so that when the user enables avoiding bad wifi,
we will attempt to bring up cell data will if it is not already
connected.
Bug: 31075769
Change-Id: Ie5b685be8676999adea8c9ecbbc1abb92f81a74f
Lorenzo Colitticommited 2016-09-21 15:10:14 +09:00
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
Christopher Wileycommited 2016-09-20 15:18:50 -07:00
This contains the following changes:
1. Make NETWORK_AVOID_BAD_WIFI a tristate: 0 means never avoid
bad wifi, unset means prompt the user, 1 means always avoid.
2. Look at NETWORK_AVOID_BAD_WIFI only if the carrier restricts
avoiding bad wifi (previously, we relied on the setting being
null and defaulting to the value of the config variable).
3. Add an avoidUnvalidated bit to NetworkAgentInfo to track
whether the user has requested switching away from this
unvalidated network even though avoiding bad wifi is generally
disabled. This is set to true when the user selects "switch"
in the dialog without setting the "Don't ask again" checkbox.
4. Add a hidden setAvoidUnvalidated API to ConnectivityManager to
set the avoidUnvalidated bit.
5. Additional unit test coverage.
Bug: 31075769
Change-Id: I1be60c3016c8095df3c4752330149ce638bd0ce1
Lorenzo Colitticommited 2016-09-20 16:03:53 +09:00
Currently, every call to avoidBadWifi fetches the current value
of the config variable and setting whenever it is called. This
means that the score of an unvalidated wifi network can
unpredictably change at any time, creating a data race.
Instead, persist the value and only update it when something
changes.
Bug: 31075769
Change-Id: I0f4e0e742c91ef77fabc95d3ebb494338396aca5
Lorenzo Colitticommited 2016-09-17 00:57:38 +09:00