Commit Graph

2590 Commits

Author SHA1 Message Date
Christopher Wiley
583fe355b4 Merge "Notify NetworkPolicyManagerService on tethering changes" am: 4062bec04e
am: 8d7e3b0205

Change-Id: I9595856421a848a570f4894fa55523a72a7fec44
2016-09-27 13:32:06 +00:00
Christopher Wiley
bc83ba55e5 Notify NetworkPolicyManagerService on tethering changes
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-20 15:18:50 -07:00
Etan Cohen
525481484c [NAN] Add transport type for NAN.
am: 305ea28a43

Change-Id: I9e12a30de06481418fa2c322fbeef0ecde75f746
2016-09-16 18:45:49 +00:00
Etan Cohen
7749cc7072 [NAN] Add transport type for NAN. [DO NOT MERGE] am: b91435ad22 -s ours
am: e3efe944fd  -s ours

Change-Id: I439ed5ac5b70f6e693a441d8b6000f208351a3f7
2016-09-07 04:33:21 +00:00
Etan Cohen
b91435ad22 [NAN] Add transport type for NAN. [DO NOT MERGE]
Add TRANSPORT_WIFI_NAN - specifies a peer-to-peer Wi-Fi NAN data
connectivity request.

While NAN uses Wi-Fi L1 PHY and part of the MAC - it is a different
protocol and constitutes a different transport.

(cherry-pick of commit 5b2641ee62)

Bug: 26564277
Change-Id: I975ebc72d8f97a592d18038b3d6465b7a40efa75
2016-09-06 15:54:10 -07:00
Hugo Benichi
e34e29d2ac Merge \\"Fix unsafe concurrent access in LegacyTypeTracker\\" am: a575de0de8
am: 40efcef1c6

Change-Id: I20a3426002ebe6f4db9de7edf7c4072d0a27dbdc
2016-07-12 13:20:56 +00:00
Hugo Benichi
40efcef1c6 Merge \"Fix unsafe concurrent access in LegacyTypeTracker\"
am: a575de0de8

Change-Id: I928b2c6ef8e20e197425c214242287185a9daa06
2016-07-12 13:15:41 +00:00
Treehugger Robot
a575de0de8 Merge "Fix unsafe concurrent access in LegacyTypeTracker" 2016-07-12 13:08:21 +00:00
Hugo Benichi
4e99811dc2 Fix unsafe concurrent access in LegacyTypeTracker
This patch adds synchronization inside LegacyTypeTracker so that
getNetworkForType() can safely run concurrently with remove().

Without synchronization if remove() removes the last network for a
given type while getNetworkForType() runs for the same type, it is
possible that getNetworkForType tries to access the head of an empty
list, resulting in a runtime exception.

This issue was found by zoran.jovanovic@sonymobile.com who proposed a
fix in AOSP (Change-Id: Ia963662edb9d643790e8d9439e4dbdcac4c2187b).

This patch differs from the fix proposed by the bug reporter and tries
instead to do the minimum amount of locking to make getNetworkForType
safe.

Bug: 29030387

(cherry picked from commit 9c807fdcd4)

Change-Id: I915aac527fc8828b32bf35fee870add2dfb11d8d
2016-07-12 21:56:40 +09:00
Lorenzo Colitti
a3dfda9f45 Merge \"Make registerDefaultNetwork work on metered networks.\" into nyc-dev
am: 33cdc4d136

Change-Id: I0ad7b79f1af992dd556de5e17a6a1aae9c46e423
2016-07-06 20:45:09 +00:00
Lorenzo Colitti
446e67a633 Make registerDefaultNetwork work on metered networks.
Bug: 29927488
Change-Id: I3b705c2ab0d1493546ffa5185bb5b07d5e25c897
2016-07-01 04:42:58 +00:00
Tobias Thierer
776136f77c Merge \"Changes for upgrade to OkHttp 2.7.5\"
am: 9ca932b06e

Change-Id: Id79249756929a61dca374f9f1d43d0ea9e6b1280
2016-06-30 12:49:47 +00:00
Tobias Thierer
9ca932b06e Merge "Changes for upgrade to OkHttp 2.7.5" 2016-06-30 12:35:03 +00:00
Tobias Thierer
852f2e2ec0 Changes for upgrade to OkHttp 2.7.5
- Use com.android.okhttp.Dns in place of com.android.okhttp.internal.Network
 - Specify TimeUnit.MILLISECONDS for timeouts which 2.7.5 allows and
   brings us closer to 3+

Change-Id: I95b5d72a94ebe1389f7c2e8d95903aa1aadd944b
2016-06-29 17:41:32 +01:00
Felipe Leme
c65d475906 Merge \"Ignore system apps on enforceMeteredApnPolicy().\" into nyc-dev
am: fa2715e03b

Change-Id: I98440b2ae3371661ed8b1b2f29b0ba18e1b6e6c3
2016-06-21 19:59:53 +00:00
Felipe Leme
ff76014fe8 Ignore system apps on enforceMeteredApnPolicy().
BUG: 29514913
Fixes: 29448383
Change-Id: I19eb004c937e1c872bbf82caa7a919e43d48a259
2016-06-20 17:15:46 -07:00
Robin Lee
b4f3bf969d Merge \"Move \'is already always-on\' check into Vpn.java\" into nyc-dev
am: 6a58c98cef

Change-Id: Id363cef8369d63ce4739089d94139e34ed25f665
2016-06-16 10:10:23 +00:00
Robin Lee
6a58c98cef Merge "Move 'is already always-on' check into Vpn.java" into nyc-dev 2016-06-16 10:06:11 +00:00
Robin Lee
a4325d282c Move 'is already always-on' check into Vpn.java
It's with the rest of the logic now and allows checking whether the
lockdown state matches, too, which led to a lot of misunderstandings.

Fix: 29199431
Change-Id: I94a2c38c4837f9c33b5b9c2becb52eeb7e2a2534
2016-06-14 13:24:17 +00:00
Paul Jensen
601f877903 Merge \"Show sign-in to network notification to all users, not just owner.\" into nyc-dev
am: 634bd0eb4e

Change-Id: Ic8f99cb7c7fa7ed1f40c73342840f82c56f9f90f
2016-06-14 11:16:15 +00:00
Paul Jensen
634bd0eb4e Merge "Show sign-in to network notification to all users, not just owner." into nyc-dev 2016-06-14 11:05:32 +00:00
Paul Jensen
efffb79661 Show sign-in to network notification to all users, not just owner.
All users should be made aware a captive portal is in place and be
given the opportunity to sign into the network.  Without this fix
other users are not notified and given a chance to sign-in.

Change-Id: I1bf823d5f6a36f391dca4be5f6a584e8562a72a7
Fixes: 23079964
2016-06-13 09:39:28 -04:00
Robin Lee
f187518b18 Merge \"Package changed/removed listeners for always-on VPN\" into nyc-dev
am: ee5e4cc836

Change-Id: Idd2e019feb73bd580aa7d8baba03c27083e26b02
2016-06-08 10:50:43 +00:00
Robin Lee
2073a5c734 Package changed/removed listeners for always-on VPN
Fix 2 problems of always-on vpn after always-on package is removed
1. Prevent network being locked down (blocking all network traffic)
   Otherwise, user has no way to download the vpn app from Play Store,
   and never be able to gain control of the network again.
2. Allow user to connect other vpn app.

Implementation
1. Switch off always-on mode if the package gets removed.
2. Restart always-on mode if the package gets replaced/upgraded.

Bug: 29050764
Change-Id: Id3e389ae0b11c6002a5167919292d9634c2014cb
2016-06-06 15:42:50 +00:00
Paul Jensen
1980eacf27 Merge "Include network name in validation logs for dumpsys" into nyc-dev
am: daef5224d1

* commit 'daef5224d1e8055f2a95650ef4139688976a05a7':
  Include network name in validation logs for dumpsys

Change-Id: I157481d338e65d7e89e4f97382f84ab2a3110e20
2016-06-06 11:23:57 +00:00
Paul Jensen
daef5224d1 Merge "Include network name in validation logs for dumpsys" into nyc-dev 2016-06-06 11:08:45 +00:00
Victor Chang
2360356d70 Merge "Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on" into nyc-dev
am: 265f4113ee

* commit '265f4113ee42e89f324b087a81044a9f1dab457e':
  Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on

Change-Id: Iba3df72496f067c5e0291449be3bfbd9ce2031ff
2016-06-06 10:33:00 +00:00
Paul Jensen
72b24b1b5b Include network name in validation logs for dumpsys
Previously this was included in the log messages from NetworkMonitor
but that has been removed (ag/944107), making it frequently impossible
to know what network the logs apply to as there may be no way to
correlate NetIDs to WiFi SSIDs or Cellular networks if the log has wrapped.

Bug: 26075613
Change-Id: I2e3cd41fffb616ab9f855cb16790360bd3414793
2016-06-03 13:51:21 -04:00
Victor Chang
4754f8d47f Fix that fail to setup any vpn after Network Settings reset and always-on vpn is on
Cause: It revoked the user consent of the vpn app without reseting always-on vpn.
In addition, prepareVpn sets legacy vpn as the current package, the state in
Vpn.class is broken, as it thought the current always-on package is legacy vpn,
(mAlwaysOn is only for app vpn, not for legacy vpn). As a result, prepareVpn rejects
all VpnService.prepare.

Bug: 29031820
Change-Id: Id6bf1d6f38cf134a872811806301b8a602fb5725
2016-06-03 17:14:32 +01:00
Robin Lee
b8a5f360e3 Merge "Return legacy VPN info regardless of lockdown mode" into nyc-dev
am: ca9615bb20

* commit 'ca9615bb208454a112437219087e217e69f78c8d':
  Return legacy VPN info regardless of lockdown mode

Change-Id: I89c0784d5edae3c7ef9f8ec1c6ee4f823dbbae02
2016-05-25 21:20:43 +00:00
Robin Lee
ca9615bb20 Merge "Return legacy VPN info regardless of lockdown mode" into nyc-dev 2016-05-25 21:05:55 +00:00
Jeff Sharkey
38af2337be Merge "API council feedback: hide and document." into nyc-dev
am: d28e2363ed

* commit 'd28e2363ed7c0d651f82c764328cea373920d906':
  API council feedback: hide and document.

Change-Id: I180f504fe21f6f90179d359e8808ffff006e4538
2016-05-25 20:51:03 +00:00
TreeHugger Robot
d28e2363ed Merge "API council feedback: hide and document." into nyc-dev 2016-05-25 20:43:56 +00:00
Hugo Benichi
86d587563a Merge "Fix default network transition event recording" into nyc-dev
am: 3cd6a8b85d

* commit '3cd6a8b85d48752ac4378cf0515dd5892f5dd214':
  Fix default network transition event recording

Change-Id: Ic6ae9cd2620b1793f53667eb7d84c0b6f56d716e
2016-05-25 03:31:34 +00:00
Hugo Benichi
3cd6a8b85d Merge "Fix default network transition event recording" into nyc-dev 2016-05-25 03:22:32 +00:00
Hugo Benichi
3f34b66e47 Fix default network transition event recording
When disconnecting from a default network X and falling back on another
connected network Y as the new default, ConnectivityService was
attempting to record this event as a X -> Y "atomic" transition.

In practice the default network connectivity is actually lost and
recovering default network takes some non-zero time.

This patch changes the event recording to always record disconnection as
X -> 0 events. At the same time, if there is a fallback network that is
elected as the new default ConnectivityService will also record a 0 -> Y
event.

This patch also improves pretty-printing of DefaultNetworkEvent.

Extract from $ adb shell dumpsys connectivity_metrics_logger --events
17:51:00.086: DefaultNetworkEvent(0 -> 100:CELLULAR)
17:51:25.232: DefaultNetworkEvent(100:IPv4 -> 101:WIFI) # wifi goes on
17:51:44.064: DefaultNetworkEvent(101:DUAL -> 0)        # wifi goes off
17:51:44.187: DefaultNetworkEvent(0 -> 100:CELLULAR)

Bug: 28204408
Change-Id: I63252633235bf6ba833b9ac431a80dda75a93e67
2016-05-25 10:03:38 +09:00
Felipe Leme
1411952a68 Merge "Fixed enforceMeteredApnPolicy when Data Saver is on." into nyc-dev
am: efd3a1749f

* commit 'efd3a1749f2737199643cc29bea6132a9786223b':
  Fixed enforceMeteredApnPolicy when Data Saver is on.

Change-Id: I87b596346c058c7ac8efbebb67b43664f1be0fed
2016-05-24 18:13:16 +00:00
Felipe Leme
35631e00c9 Fixed enforceMeteredApnPolicy when Data Saver is on.
When enforceMeteredApnPolicy() is called when Data Saver mode is on and
the caller's UID is not whitelisted, it should add a
NET_CAPABILITY_NOT_METERED to the capabilities.

Change-Id: Ieed4f4a7634ee023ec58c91859263655e0ba62d4
Fixes: 28608499 (and https://code.google.com/p/android/issues/detail?id=208478)
2016-05-23 09:43:53 -07:00
Jeff Sharkey
c8113cac70 API council feedback: hide and document.
Hide isMetered() and clarify moveDatabaseFrom() docs.

Bug: 28870582, 28775585
Change-Id: Iabe63045c39ce7f662488f4224b56387c3c59519
2016-05-20 11:34:55 -06:00
Erik Kline
81092a2de8 Merge "DHCPv4: lease expiration is fatal, renew failures are not" into nyc-dev
am: 42a5755916

* commit '42a5755916a21f01d264bdb58d2213dacf221cdf':
  DHCPv4: lease expiration is fatal, renew failures are not

Change-Id: Ic99edb732d532da27c042824e5ca07c4b35ccfa1
2016-05-19 04:21:17 +00:00
Erik Kline
42a5755916 Merge "DHCPv4: lease expiration is fatal, renew failures are not" into nyc-dev 2016-05-19 04:12:40 +00:00
Robin Lee
198d6cf688 Merge "Lock down networking when waiting for always-on" into nyc-dev
am: 1540a79a8b

* commit '1540a79a8b65e1f2652f4882784d6386f9661cae':
  Lock down networking when waiting for always-on

Change-Id: I7be0a85597936421750d1da0fde3d55d7d4fabc5
2016-05-18 23:42:43 +00:00
Robin Lee
1540a79a8b Merge "Lock down networking when waiting for always-on" into nyc-dev 2016-05-18 23:37:24 +00:00
Robin Lee
48bf4ec223 Lock down networking when waiting for always-on
Fix: 26694104
Fix: 27042309
Fix: 28335277
Change-Id: I47a4c9d2b98235195b1356af3dabf7235870e4fa
2016-05-19 00:26:53 +01:00
Erik Kline
c6c6abab82 DHCPv4: lease expiration is fatal, renew failures are not
Bug: 24837343

Change-Id: Ib330864f8376b0907390d581b48cff5446b3392b
2016-05-18 16:17:03 +09:00
Felipe Leme
b6b7b81ae0 Merge "Added a onRestrictBackgroundBlacklistChanged() callback." into nyc-dev
am: 54bc88cdbc

* commit '54bc88cdbcc566015a8cda3595b375a474b3def3':
  Added a onRestrictBackgroundBlacklistChanged() callback.

Change-Id: I4e19dd2828b8b67fc7b2d2173d77a82d67d53d19
2016-05-17 18:43:43 +00:00
TreeHugger Robot
54bc88cdbc Merge "Added a onRestrictBackgroundBlacklistChanged() callback." into nyc-dev 2016-05-17 18:28:22 +00:00
Robin Lee
a7cc7c5b4e Merge "Make some of the UID-based VPN code reusable" into nyc-dev
am: b0f3016b64

* commit 'b0f3016b64552674681dbc742667203d36c4c86d':
  Make some of the UID-based VPN code reusable

Change-Id: I3f1b1a08059aa58cb76db6cdd070b103024b9bf3
2016-05-17 17:36:43 +00:00
TreeHugger Robot
b0f3016b64 Merge "Make some of the UID-based VPN code reusable" into nyc-dev 2016-05-17 17:30:01 +00:00
Robin Lee
08b036aebd Return legacy VPN info regardless of lockdown mode
This stops Settings from telling the user detailed information, and
doesn't really protect anything secret -- privileged apps can already
tell that there's an active VPN by looking at network info.

Change-Id: I9c2a3cab6dff1b62e94a9e0735dccde226fd26a3
Fix: 28624328
2016-05-17 14:31:52 +01:00