Commit Graph

2847 Commits

Author SHA1 Message Date
Hugo Benichi
edea5c8266 Merge "NetworkCapabilities: fix describeImmutableDifferences" am: 7575ec2240 am: f6346af47e am: 8dfb91df6c
am: 722c71ed8b

Change-Id: I12636c6699ff60487a28570208e819ea0b66fa2e
2017-08-05 01:28:01 +00:00
Hugo Benichi
722c71ed8b Merge "NetworkCapabilities: fix describeImmutableDifferences" am: 7575ec2240 am: f6346af47e
am: 8dfb91df6c

Change-Id: I533ef8fe369cec19d283ff2950314fce6e28cffd
2017-08-05 01:14:30 +00:00
Hugo Benichi
8dfb91df6c Merge "NetworkCapabilities: fix describeImmutableDifferences" am: 7575ec2240
am: f6346af47e

Change-Id: Ieccad46fcffcaf748f5644b04617e9a82527000e
2017-08-05 01:01:04 +00:00
Hugo Benichi
f6346af47e Merge "NetworkCapabilities: fix describeImmutableDifferences"
am: 7575ec2240

Change-Id: If38efacdeec8476880835657938e435f9b598525
2017-08-05 00:54:43 +00:00
Hugo Benichi
2ecb9408f4 NetworkCapabilities: fix describeImmutableDifferences
This patch fixes the mask used in describeImmutableDifferences which did
not correctly turn NET_CAPABILITY_NOT_METERED into bit flag.

Bug: 63326103
Test: added unit tests, runtest frameworks-net
Change-Id: Ib6b390b1daef5912859302692af7dcd6cfd3e39a
2017-08-04 15:17:40 +09:00
Jeremy Joslin
f16bb77191 Merge "NetworkRecommendationProviders require the location permission." into oc-mr1-dev
am: 589ba65d91

Change-Id: I971c3a922340ee2d73722eea5e293d928b6f9a54
2017-08-03 20:46:38 +00:00
Hugo Benichi
2096edd6f2 NsdManager: remove duplicated argument validation
am: cf96a1b36d

Change-Id: I3cad605d34cd9612b6073e689dc4af04b1717413
2017-08-03 07:28:16 +00:00
Hugo Benichi
cf96a1b36d NsdManager: remove duplicated argument validation
This patch simplifies argument validation in NsdManager public api and
regroup duplicated validation into common methods.

This makes stack traces more actionable as now specific errors will
cause the api to throw exception from specific methods, whereas before
IllegalArgumentException would be thrown from inside the same api method
for different reasons.

This patch also includes a couple of other small cleanups.

Test: $ runtest -x frameworks/base/tests/net/../NsdManagerTest.java
Bug: 37013369

(cherry picked from commit ff3e6ccca1)

Change-Id: Icf047532aa551fbe0a70721cfb95507eaa84d51e
2017-08-03 14:19:43 +09:00
Jeremy Joslin
59502ebcfd NetworkRecommendationProviders require the location permission.
Any NetworkRecommendationProvider bound to by the system must have
access to location (i.e. it holds the location permission and
location is enabled on the device).

If the location permission is revoked then the binding will be
disconnected and the system will revert to the default network
recommendation provider (if set and valid). If location access
is disabled on the device then the binding will be disconnected
but the system won't fall back to the default provider (because
it won't have location either), instead the current provider will
be re-enabled when location access is enabled again.

BUG:62263953
Test: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest
Test: runtest frameworks-services -c com.android.server.NetworkScorerAppManagerTest
Change-Id: I93c37eeda47840d92f3ca52767e878dc19b46740
(cherry picked from commit d816abe97b)
2017-08-02 21:34:26 +00:00
Hugo Benichi
4aa743c343 NsdManager: remove duplicated argument validation
This patch simplifies argument validation in NsdManager public api and
regroup duplicated validation into common methods.

This makes stack traces more actionable as now specific errors will
cause the api to throw exception from specific methods, whereas before
IllegalArgumentException would be thrown from inside the same api method
for different reasons.

This patch also includes a couple of other small cleanups.

Test: $ runtest -x frameworks/base/tests/net/../NsdManagerTest.java
Bug: 35362108
Bug: 37013369
Bug: 62044295
Bug: 63826516
Merged-In: Iaad13e13976e9bf8f508d7188f823f8184ac414b

(cherry pick from commit ff3e6ccca1)

Change-Id: I5e6a1ecc6b98069ef0089bbceecf73f7692df227
2017-08-01 02:45:23 +00:00
Hugo Benichi
88a572da7d Merge "Logging improvements when NetworkCapabilities change" am: f60a38e152
am: bdfb4ee19c

Change-Id: Ie7f90ac6b8073e756ff14afcaac7ed291b165e87
2017-07-31 01:58:33 +00:00
Hugo Benichi
bdfb4ee19c Merge "Logging improvements when NetworkCapabilities change"
am: f60a38e152

Change-Id: I886e39db8969eb1ac1dfe06c6f448e53a90fd92c
2017-07-31 01:50:38 +00:00
Hugo Benichi
eae7a22944 Logging improvements when NetworkCapabilities change
This patch improves the wtf() logging in updateCapabilities to
better distinguish between the cases of a changed specifiers, changed
transports, or changed capabilities. The case of NOT_METERED being added
or removed is ignored.

Bug: 63326103
Test: runtest frameworks-net, runtest frameworks-wifi
Merged-In: I05c6e78891e1eac658f1cf883223af520a9a4f8f
Merged-In: I4f6cbc0adb461cef6610460daeba72ca38b8f10c
Merged-In: I165a8bbe8362100f1e2bb909459fb45b1c68d5ae
Merged-In: Iec6d92e9a3a12bab87c5adfaf17f776465077060
Merged-In: I633d6347a7f852c27c03fc96b36ca2a60f70c73c
Merged-In: I38739184fc0db105bfd3b4c02cce01e803739e5d
Merged-In: Ia58b877056e2442136cc8b145ac8f4e6560cfc2c

(cherry pick from commit 683ea489d3)

Change-Id: Id32ca66068c8ff549627e8e8c0e50897ef928c58
2017-07-31 09:25:37 +09:00
Hugo Benichi
0cad8d2e14 Merge "Logging improvements when NetworkCapabilities change" into oc-dr1-dev am: 6e269ec6fe
am: 6992f4edb3

Change-Id: Iec6d92e9a3a12bab87c5adfaf17f776465077060
2017-07-29 00:03:27 +00:00
Hugo Benichi
359f2215eb Merge "Logging improvements when NetworkCapabilities change" into oc-dr1-dev
am: 6e269ec6fe

Change-Id: I165a8bbe8362100f1e2bb909459fb45b1c68d5ae
2017-07-28 23:54:05 +00:00
Hugo Benichi
6992f4edb3 Merge "Logging improvements when NetworkCapabilities change" into oc-dr1-dev
am: 6e269ec6fe

Change-Id: I4f6cbc0adb461cef6610460daeba72ca38b8f10c
2017-07-28 23:54:03 +00:00
Hugo Benichi
683ea489d3 Logging improvements when NetworkCapabilities change
This patch improves the wtf() logging in updateCapabilities to
better distinguish between the cases of a changed specifiers, changed
transports, or changed capabilities. The case of NOT_METERED being added
or removed is ignored.

Bug: 63326103
Test: runtest frameworks-net, runtest frameworks-wifi
Change-Id: I05c6e78891e1eac658f1cf883223af520a9a4f8f
2017-07-28 15:25:54 +09:00
ludi
74f860b509 Merge "Add dump info to IpSecService" am: ec5fc4872e am: 3f3c4f6da4 am: c628b22fe5
am: 59c5732585

Change-Id: Idbc0a6f0c88a023c3954b25cc66c8c65c70085c9
2017-07-25 03:36:41 +00:00
ludi
59c5732585 Merge "Add dump info to IpSecService" am: ec5fc4872e am: 3f3c4f6da4
am: c628b22fe5

Change-Id: I1a5d4c424a3c9e1638d86d177cbf98f0d1bce05d
2017-07-25 03:26:23 +00:00
ludi
c628b22fe5 Merge "Add dump info to IpSecService" am: ec5fc4872e
am: 3f3c4f6da4

Change-Id: Iaa81bf94573f06dc2dbd00e30df283c0ce7a7a76
2017-07-25 03:17:24 +00:00
ludi
3f3c4f6da4 Merge "Add dump info to IpSecService"
am: ec5fc4872e

Change-Id: Idd4c051e4536d32504718fdfd201c7effdeb62e3
2017-07-25 03:07:00 +00:00
ludi
b0c95b19ab Add dump info to IpSecService
Bug:38350824

Test: runtest frameworks-net

Change-Id: Ifa11d55e9d337016ad865baada627db3aa8c2db3
2017-07-24 16:03:33 -07:00
Jeff Sharkey
6f1d451a3a Merge "Expose SubscriptionPlan API." into oc-mr1-dev
am: 84c6684bba

Change-Id: I9e05d8ae075c698bc4c19132df92ea8f3f3fc52b
2017-07-21 17:22:26 +00:00
Jeff Sharkey
17bebd2fd7 Expose SubscriptionPlan API.
Clean up SubscriptionPlan, add docs, and expose as public API.

Deprecate older constants in CarrierConfigManager, and point users
towards new API.  (The goal of CarrierConfigManager is to express
key/value pairs that are identical for all users on a particular
carrier, not to configure details that vary between users.)

Since a CarrierService may itself not have access to the plan
details, allow them to "delegate" the capability to configure plans
to another package name.

Factor out new RecurrenceRule class which is used by both
NetworkPolicy and SubscriptionPlan internally.  Polish it to support
arbitrary periods, and continue to test it through NPMST.

Bug: 63391323
Test: bit FrameworksCoreTests:android.util.RecurrenceRuleTest
Test: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest
Exempt-From-Owner-Approval: Bug 63673347
Change-Id: I93fae4a43e58e9e4c32f8bf345a257dcd607f088
2017-07-20 14:55:57 -06:00
Di Lu
b29659421e Merge "Add unit test for IpSecService" am: 9e3f886dca am: 3182454f28 am: 345db82674
am: 636033782b

Change-Id: I788e4e8466a76f80d1f15330e6d3b91b73be1d32
2017-07-20 08:42:27 +00:00
Di Lu
636033782b Merge "Add unit test for IpSecService" am: 9e3f886dca am: 3182454f28
am: 345db82674

Change-Id: Ia4d85bcf5c42774d7b48cb1cd648754b6dd16b69
2017-07-20 07:50:21 +00:00
Di Lu
345db82674 Merge "Add unit test for IpSecService" am: 9e3f886dca
am: 3182454f28

Change-Id: Iee7cc50b7f4715d9c6797356be5cac705407d4bc
2017-07-20 07:43:12 +00:00
Di Lu
3182454f28 Merge "Add unit test for IpSecService"
am: 9e3f886dca

Change-Id: I16fb89239e641ac39a8a7adeafd72b7fe03935ed
2017-07-20 07:36:19 +00:00
ludi
1a06aa75e5 Add unit test for IpSecService
Test: runtest frameworks-net

Bug:38259578
Change-Id: I4a049d5fdec79e36692e3b12306bd0758c19ad75
2017-07-20 04:26:24 +00:00
The Android Automerger
af11a49d8c Manually merge commit '530b93aae428'
* commit '530b93aae428':
  NetworkCapabilities: Unhide TRANSPORT_LOWPAN

BUG:31038431
2017-07-19 00:27:08 +00:00
Robert Quattlebaum
4b90b5f884 Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN" am: 777c408a22 am: 6b0e6946c3
am: dbc78509ae

Change-Id: I017036f8c63ea1e9c1934daad55ef087b3a83012
2017-07-18 23:51:04 +00:00
Robert Quattlebaum
dbc78509ae Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN" am: 777c408a22
am: 6b0e6946c3

Change-Id: Ia6ceafa40c73589d516ca0d50168ba217b6af2c8
2017-07-18 23:43:46 +00:00
Lorenzo Colitti
6a5fe34edf resolve merge conflicts of a1d67fb38e to stage-aosp-master
am: 8228eb3446

Change-Id: Ic9ba31da8e5281c9dbc8fa7ff56a63956a495b72
2017-07-18 23:37:57 +00:00
Robert Quattlebaum
6b0e6946c3 Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN"
am: 777c408a22

Change-Id: I3ae9566ca52b9dae87cace18b1e97897eb8de0ad
2017-07-18 23:33:08 +00:00
Treehugger Robot
777c408a22 Merge "NetworkCapabilities: Unhide TRANSPORT_LOWPAN" 2017-07-18 23:09:58 +00:00
Lorenzo Colitti
8228eb3446 resolve merge conflicts of a1d67fb38e to stage-aosp-master
Test: make -j64 services
Change-Id: I3955b01189993f3051c608bc5d07a87e4e3b5f0b
Merged-In: Ic1e799c17b4bb0272cf85e03d5ad14981a55defa
2017-07-19 07:35:31 +09:00
Lorenzo Colitti
07f1304cfe Allow more than one source of tethering statistics.
Currently, netd is the only source of tethering statistics.
In order to support multiple sources, define a new
ITetheringStatsProvider interface that can be registered with
NetworkManagmentService. Convert the existing code into the
first ITetheringStatsProvider.

(cherry picked from commit ef7b2a13ce)

Bug: 29337859
Bug: 32163131
Test: builds, boots
Test: tethering stats continue to be collected
Change-Id: Ie1b5a5e47ae4bf5af922365b09fa241e834236e4
Merged-In: Ie1b5a5e47ae4bf5af922365b09fa241e834236e4
2017-07-19 00:54:54 +09:00
Charles He
3673863f3b Opt-out for always-on VPN
Always-on VPN is a feature introduced in N. Since then, all VPN apps
targeting N+ are assumed to support the feature, and the user or the DPC
can turn on / off always-on for any such VPN app. However, a few VPN
apps are not designed to support the always-on feature. Enabling
always-on for these apps will result in undefined behavior and confusing
"Always-on VPN disconnected" notification.

This feature provides a new manifest meta-data field through which a VPN
app can opt out of the always-on feature explicitly. This will stop the
always-on feature from being enabled for the app, both by the user and
by the DPC, and will clear its existing always-on state.

A @hide API is provided to check whether an app supports always-on VPN.
Documentation is updated to reflect the behavior change.

Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'

Change-Id: I477897a29175e3994d4ecf8ec546e26043c90f13
2017-07-18 00:55:38 +01:00
Benjamin Miller
401d176f95 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev am: ca007e525b am: 3082216de2
am: 105c3b1df4

Change-Id: Ic23b650fdd29739f312bf62fbab52196429c3f2e
2017-07-17 14:41:07 +00:00
Benjamin Miller
105c3b1df4 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev am: ca007e525b
am: 3082216de2

Change-Id: Id9720c51f6192831ede99fd0af0451b43026e663
2017-07-17 14:32:30 +00:00
Benjamin Miller
2ecc198877 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev
am: ca007e525b

Change-Id: If2a06d8e8e5fe2034e22c86dabf68bf7d3f79bb0
2017-07-17 14:23:25 +00:00
Benjamin Miller
3082216de2 Merge "Docs: VPNs under Android O should promote to the foreground" into oc-dev
am: ca007e525b

Change-Id: Ife96d44a6c8687be49616562f1834c1e2cc17b7d
2017-07-17 14:22:24 +00:00
TreeHugger Robot
42b4446b0e Merge "Iterate NetworkPolicy towards SubscriptionPlan." 2017-07-15 19:57:08 +00:00
Jeff Sharkey
53313d7e81 Iterate NetworkPolicy towards SubscriptionPlan.
Add new SubscriptionPlan API to describe the various types of carrier
data plans.  Internally the OS will only use the first plan for
driving policy, but it will blindly plumb through the details for
Settings to display any secondary plans.

As part of getting Settings ready to roll towards SubscriptionPlan,
reduce references to NetworkPolicy internal fields.  All usage cycle
details are now obtained from an Iterator which converts to
SubscriptionPlan under the hood.

Replace all data usage cycle calculation with new SubscriptionPlan
implementation, and retrofit large suite of existing tests to
exercise and verify the new logic.

Offer a debugging property that can be used to return "fake" plan
examples for testing.

Bug: 63391323
Test: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest
Exempt-From-Owner-Approval: Bug 63673347
Change-Id: I889c653980eeb7887abdfa4f5b6986f35855ee6d
2017-07-14 16:18:40 -06:00
Jeff Sharkey
845dae5cdb Merge "Move "metered" persistence to WifiConfiguration." 2017-07-14 17:48:02 +00:00
Jeff Sharkey
43d2a1700b Move "metered" persistence to WifiConfiguration.
For a long time we've had a nasty tangled dependency between Wi-Fi
and NPMS, since they both persisted different details for configured
networks.  As part of preparing for new carrier data plan APIs, move
the tracking of meteredness over to WifiConfiguration.

This also cleans up how meteredness is communicated through
NetworkAgents to rely completely on NET_CAPABILITY_NOT_METERED by
removing the metered flag on NetworkInfo, which has caused confusion
and staleness.

Migrates any existing user-configured metered networks over to
WifiConfiguration once the device finishes booting.

Remove support for NetworkQuotaInfo, since this information can no
longer be made available to apps.  Frustratingly, some apps are
using it, so keep the object around returning stub values, and shame
them in the logs.

Bug: 63391323
Test: builds, boots, Wi-Fi policy is upgraded
Exempt-From-Owner-Approval: Bug 63673347
Change-Id: I64f865ddeb65cfcd330f8d2a847368abdf960a07
2017-07-14 11:46:31 -06:00
Benjamin Miller
28a3e85903 Docs: VPNs under Android O should promote to the foreground
Add note for VPN developers that VPN apps started in the background must transition to the foreground in Android O to avoid the system stopping them.

Staged at: go/dac-stage/reference/android/net/VpnService.html

Test: make ds-docs
Bug: 38023983
Change-Id: I33c7ca1717c332ffab495eb51c4c6b9c5c304cef
2017-07-14 17:22:47 +02:00
Lorenzo Colitti
f7a008ff69 Merge changes Icc5aa605,If744f2e0,Ie1b5a5e4 into oc-dr1-dev am: 3756636ad6
am: 041111ff7e

Change-Id: I538f7faef85bbb13499dec2125e0f82b3175396f
2017-07-14 01:06:56 +00:00
Lorenzo Colitti
041111ff7e Merge changes Icc5aa605,If744f2e0,Ie1b5a5e4 into oc-dr1-dev
am: 3756636ad6

Change-Id: Ic1e799c17b4bb0272cf85e03d5ad14981a55defa
2017-07-14 01:01:29 +00:00
Hugo Benichi
a30cb89dfa resolve merge conflicts of 4f2a0fe213 to stage-aosp-master am: a428392c1d
am: 164ff8a2ed

Change-Id: I08195e119f866acc9fe1795b892fe45cea3c7f47
2017-07-14 00:46:49 +00:00