Commit graph android_packages_modules_Co.../services/core/java
Message SHA1
Merge "Delete the legacy framework code for manipulating ND offload." am: 90f8fada03 am: 41f36738bf
am: bb21618a86

Change-Id: I07d9753e214af311d3dcab6f8016442f60388700

Lorenzo Colitti   authored and   android-build-merger   commited 2017-09-27 11:05:29 +00:00
54fd815ced
Merge "Delete the legacy framework code for manipulating ND offload."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2017-09-27 10:46:36 +00:00
90f8fada03
Merge "Adds necessary permissions to system apis"
Jean Chalard   authored and   Gerrit Code Review   commited 2017-09-27 09:50:42 +00:00
eea8c4fbc9
Merge "Declare support for Ethernet if the service is running." am: e7a82bbaf3 am: dae0a11792
am: a6648cc90b

Change-Id: Iafd9807ab76ce4e4ab1fd506d7b0e2b2b7017751

Lorenzo Colitti   authored and   android-build-merger   commited 2017-09-27 08:51:51 +00:00
640e28df16
Delete the legacy framework code for manipulating ND offload.
This only worked on broadcom devices, and was superseded in
M by a wifi HAL call made by IpManager.

Test: bullhead builds, boots
Change-Id: I711cae7dafe171c2c8b4e84a229adbcad27f3d14

Lorenzo Colitti   commited 2017-09-27 16:47:36 +09:00
6c4ad77737
Declare support for Ethernet if the service is running.
On some devices, support for TYPE_ETHERNET is not specified in
the networkAttributes config resource, even though the device is
capable of supporting Ethernet (e.g., via USB host adapters).
This leads to Ethernet working but various connectivity APIs
behaving as if it was not - for example, no CONNECTIVITY_ACTION
broadcasts will be issues when it connects or disconnects.

Ensure that ConnectivityService always treats Ethernet as
available if the service is running. Currently the service is
started if the device supports FEATURE_ETHERNET or
FEATURE_USB_HOST.

Bug: 37359230
Test: bullhead builds, boots
Test: ConnectivityServiceTest passes
Test: Ethernet is available even if removed from networkAttributes resource
Test: ConnectivityManagerTest CTS test passes
Change-Id: I58801bf4f0bbdc3ff6345ec6bfdc911ce045c8ab

Lorenzo Colitti   commited 2017-09-27 13:03:10 +09:00
4c535bcc03
Adds necessary permissions to system apis
adds privileged permission for getCaptivePortalServerUrl
adds tether privileged permission for
startTethering,isTetheringSupported

bug:62348162

Test: make and manual testing
Change-Id: I8eb8e3c9dcd7201abe9ea303ee57fe99073d67eb

Udam Saini   authored and   Chalard Jean   commited 2017-09-27 12:14:37 +09:00
168ad5cb13
Merge "Implement ConnectivityService TODO and fix many race conditions" am: d66ad08192 am: 55cda75f0d
am: 287c334379

Change-Id: Ia59d45f4e95a536d7982f61ac9c9a1bfc5e8ebb8

Hugo Benichi   authored and   android-build-merger   commited 2017-09-21 12:21:04 +00:00
09f406e0f6
Merge "Also support 464xlat on SUSPENDED networks" am: 995a28d334 am: e7adef3b1f
am: 1347ac8109

Change-Id: I83ae39a2e36bc036dce419c80dd476d2358b4537

Erik Kline   authored and   android-build-merger   commited 2017-09-21 12:06:05 +00:00
75ed6c018e
Merge "Implement ConnectivityService TODO and fix many race conditions"
Hugo Benichi   authored and   Gerrit Code Review   commited 2017-09-21 12:00:48 +00:00
d66ad08192
Implement ConnectivityService TODO and fix many race conditions
This patch implements an outstanding TODO in ConnectivityService to add
synchronization over the map of network request ids to network agent
info objects.

This structure is accessed from multiple threads:
 - Binder thread on public aidl methods, most notably via
   getDefaultNetwork().
 - Internal handler.

This leads to many race conditions that can crash the system server and
reboot the phone if getDefaultNetwork() is called on a Binder thread to
service a public ConnectivityManager api while the default network state
is being updated on the internal handler after losing the default
network.

Bug: 65911184
Test: runtest frameworks-net
Change-Id: I86c830ebd559e31d4576a7606705a056afb064ac

Hugo Benichi   commited 2017-09-21 18:50:27 +09:00
28c8414e09
Also support 464xlat on SUSPENDED networks
Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 65684232

Change-Id: I1b10aab01554b1f926ec7157dba78645fdaff90f

Erik Kline   commited 2017-09-21 18:06:29 +09:00
c3e3f84531
Merge changes from topic "always-on-vpn"
* changes:
  Opt-out for always-on VPN: rename API.
  Opt-out for always-on VPN

Charles He   authored and   Gerrit Code Review   commited 2017-09-19 07:50:13 +00:00
9bab00f0e3
Merge changes I4719b4dc,I0308cdf4,I38db1bb7 am: b81fc1cf14 am: eb2a4615e2
am: b025492a6b

Change-Id: I5385a3747e039a42e86034f7632edd0f855b2eb1

Hugo Benichi   authored and   android-build-merger   commited 2017-09-14 18:11:06 +00:00
0f423e3ef7
Merge changes I4719b4dc,I0308cdf4,I38db1bb7
* changes:
  IpManagerTest: fix flaky test
  Fix flaky NsdManagerTest
  Boostrap test for NetworkMonitor

Hugo Benichi   authored and   Gerrit Code Review   commited 2017-09-14 11:59:58 +00:00
b81fc1cf14
Merge "Refactor CompareResult<> class and its call sites" am: 008917b44f am: 0352f4bb71
am: c345562746

Change-Id: I850f2ceab5949c2fceba5d25eda639a319efa7b3

Rubin Xu   authored and   android-build-merger   commited 2017-09-14 10:13:40 +00:00
221c8c7f34
Merge "Refactor CompareResult<> class and its call sites"
Rubin Xu   authored and   Gerrit Code Review   commited 2017-09-13 09:35:04 +00:00
008917b44f
Boostrap test for NetworkMonitor
This will finally allow to write captive portal detection unit tests.

Bug: 32561414
Bug: 62918393
Test: runtest frameworks-net
Change-Id: I38db1bb79ae80a82b4199dc9cb1b56257e0cf222

Hugo Benichi   commited 2017-09-13 16:21:50 +09:00
c400fe3d5b
Merge "Patch incoming LinkProperties before it's visible to the outside" am: 7b625191e2 am: 3fdc95a4e7
am: 2cf8f74180

Change-Id: Ic82526773116db3b80449cb0241a1f80934b3d55

Rubin Xu   authored and   android-build-merger   commited 2017-09-12 11:34:55 +00:00
5bcbe23853
Patch incoming LinkProperties before it's visible to the outside
Otherwise we risk a race condition when we are fixing the LinkProperties
routes, other parts of ConnectivityService is reading the field at the
same time.

Test: runtest frameworks-net -c com.android.server.ConnectivityServiceTest
Test: runtest frameworks-core -c android.net.LinkPropertiesTest
Bug: 65529483
Bug: 35995111
Change-Id: I539578703570a901e0a5dff0155422ca78c52401

Rubin Xu   commited 2017-09-12 10:18:58 +01:00
68269d2331
Refactor CompareResult<> class and its call sites
Move all corner case logic from call sites to CompareResult's implementation,
add a constructor to directly do the comparison.

Test: runtest frameworks-core -c android.net.LinkPropertiesTest
Change-Id: I95bba82ec38d295b18c49c025dffab5f17271cbd

Rubin Xu   commited 2017-09-08 13:27:58 +01:00
8cb82d2530
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
Merged-In: I477897a29175e3994d4ecf8ec546e26043c90f13
(cherry picked from commit 729f0b476d)

Charles He   commited 2017-09-08 10:18:36 +01:00
59b362d218
Merge "Always add local subnet routes to the interface's routing table" am: e624a19a59 am: 5e5c4e0805
am: e3469a426e

Change-Id: I21f4231c968b37cdcf1565279eedfb990dbc583b

Rubin Xu   authored and   android-build-merger   commited 2017-09-07 12:55:58 +00:00
1724710b26
Merge "Always add local subnet routes to the interface's routing table"
Rubin Xu   authored and   Gerrit Code Review   commited 2017-09-07 12:12:09 +00:00
e624a19a59
Always add local subnet routes to the interface's routing table
For some networks such as mobile data connections, its LinkProperties
does not contain routes for the local subnet so no such route is added
to the interface's routing table. This can be problematic especially
if the device is in VPN lockdown mode where there exists high-priority
PROHIBIT routing rule which in turn blocks the network's default gateway
route from being added (next hop address hitting the prohibit rule).

We fix this by patching LinkProperties to always include direct connected routes
when they are received by ConnectivityService. This has the added advantage that
when apps get LinkProperties, they see the directly connected routes as well.

Bug: 63662962
Test: runtest frameworks-core -c android.net.LinkPropertiesTest
Test: runtest frameworks-services -c com.android.server.ConnectivityServiceTest
Test: Start with device with mobile data, set up ics-OpenVPN in always-on
      lockdown mode. Turn off mobile data then turn it back on, observe
      mobile data connectivity is restored and VPN successfully reconnects.
Change-Id: I35b614eebccfd22c4a5270f40256f9be1e25abfb

Rubin Xu   commited 2017-09-07 10:50:20 +01:00
57b437a451
Merge "Nat464Xlat: correct racefree teardown" am: d9ca494a43 am: 88968eebb9
am: e92029d894

Change-Id: Ibafea69224e832a6316c17dbb9b2d62a233088ac

Hugo Benichi   authored and   android-build-merger   commited 2017-09-05 13:06:59 +00:00
fcecf4a9e4
ConnectivityService: improve wakelock logging
This patch adds the following wakelock related counters to connectivity
service dumps included in bug reports:
 - total number of wakelok acquisitions and releases
 - total cumulative wakelock duration
 - longest time the lock was held

Bug: 65085354
Test: runtest frameworks-net, also manually dumped connectivity service
      and check new logging

Merged-In: I8f67750c2eea73abf3d44f7f6df484427a8ea3f9
Merged-In: I93c0eb7c8add966378647400e11e33765d952345
Merged-In: Iabe99993001e069b8a8077533bca1fa7fb2f59ba

(cherry picked from commit 3ac913c614)

Change-Id: I4d6bb43110916b440819813b478523546ac5570e

Hugo Benichi   commited 2017-09-05 21:34:03 +09:00
280c100016
Nat464Xlat: correct racefree teardown
This patch relays the NetworkBaseObserver notifications about nat
464xlat stacked interfaces onto the ConnectivityService handler.

This allows to process interface up and down notifications in the
same thread context and eliminates several races:

  - NPE risk due to race between fixupLinkProperties called on
    ConnectivityService thread and interfaceRemoved called on
    NetworkManagementService thread.
  - stale LinkProperties pointer reads in both NetworkBaseObserver
    callbacks not called on ConnectivityService handler.
  - removes the race between stop() and interfaceRemoved().
  - removes superfluous LinkProperties notifications when stop() is
    called before the stacked interface goes up.

The teardown procedure logic common to stop() and interfaceRemoved() is
put into enterStoppedState() and enterIdleState().

This allows to distinguish and correctly handle the following teardown
scenarios:
 - an IPv4 appears -> ConnectivityService calls Nat464Xlat#stop()
                   -> Nat464Xlat calls stopClatd
                   -> clatd stops
                   -> if the stacked interface was up, it is removed
                   -> Nat464Xlat#interfaceRemoved() is triggered and
                      a LinkProperties update is sent.

 - network disconnects -> ConnectivityService calls Nat464Xlat#stop()
                       -> Nat464Xlat calls stopClatd
                       -> clatd stops
                       -> if the stacked interface was up, it is removed
                       -> Nat464Xlat#interfaceRemoved() is triggered and
                          a LinkProperties update is sent.

 - clatd crashes or exit -> Nat464Xlat#interfaceRemoved() is triggered
                         -> Nat464Xlat unregisters itself as a network
                            observer
                         -> ConnectivityService is updated about the
                            stacked interface missing, and restarts
                            Nat464Xlat if needed.

Note that the first two scenarios have two cases: stop() can be called
before the notification for the stacked interface going up (STARTED), or
after (RUNNING). In the first case, Nat464Xlat must unregister
immediately as a network observer to avoid leaks.

This patch also:
  - removes/simplifies comments related to the threading model which
    are no obsolete.
  - extract clatd management logic from ConnectivityService into
    NetworkAgentInfo
  - add new unit tests where there was none before.

Bug: 62918393
Bug: 62997041
Bug: 64571917
Bug: 65225023
Test: runtest frameworks-net
Change-Id: I27221a8a60fd9760b567ed322cc79228df877e56

Hugo Benichi   commited 2017-09-05 15:33:55 +09:00
1dd94a2215
ConnectivityService: improve wakelock logging
This patch adds the following wakelock related counters to connectivity
service dumps included in bug reports:
 - total number of wakelok acquisitions and releases
 - total cumulative wakelock duration
 - longest time the lock was held

Bug: 65085354
Test: runtest frameworks-net, also manually dumped connectivity service
      and check new logging

Change-Id: I8f67750c2eea73abf3d44f7f6df484427a8ea3f9

Hugo Benichi   commited 2017-09-05 14:24:13 +09:00
3ac913c614
Revert "Nat464Xlat: interface notification handler on ConnectivityService"
This reverts commit 8d22f138aa.

Bug: 65225023
Change-Id: Id6c21682cafa86d87f66480237dd731b21f917c5

Hugo Benichi   commited 2017-08-31 14:32:54 +00:00
39a221a751
Revert "Nat464Xlat: interface notification handler on ConnectivityService"
This reverts commit 6f78dbd2b7 due to b/65225023.

Change-Id: I6ca3780afb8d47b77219d6b5a06760042f684c4b

Hugo Benichi   commited 2017-08-31 14:29:51 +00:00
0456654360
Nat464Xlat: interface notification handler on ConnectivityService
This patch adds a layer of asynchonicity to the NetworkBaseObserver
callbacks implemented by Nat464Xlat in order to allow these callbacks
to run on the main ConnectivityService handler.

This allows to run interfaceLinkStateChanged and interfaceRemoved
callbacks in the same thread context as other Nat464Xlat methods and
solves the following issues:
  - NPE risk due to race between fixupLinkProperties called on the
    ConnectivityService thread and interfaceRemoved called as a
    callback by NetworkManagementService.
  - stale LinkProperties reads in both callbacks not called on
    ConnectivityService handler.
  - removes the race between stop() and interfaceRemoved().

This patch also:
  - removes/simplifies comments related to the threading
    model which are no obsolete.
  - extract clatd management logic from ConnectivityService into
    NetworkAgentInfo

Bug: 62997041
Bug: 64571917
Test:  runtest frameworks-net
       manually connected to ipv6 network and went to test-ipv6.com
Merged-In: I889d98e47423ff3d4746d6ed8015b265286e7c52
Merged-In: I2f002cd197e2eeaaadadd747a6b33d264cd34433
Merged-In: Id3ab064cf9f4417c0e8988fff4167b65b3c8c414
Merged-In: Ib224392c9a185f6bd79fd60cd5cb5549f2a7851e
Merged-In: I9116a493ca1cbdf6a25664a1b0017aa6c9b38eb4
Merged-In: I12918d208364eef55067ae9d59fbc38477e1f1c6

(cherry picked from commit 6f78dbd2b7)

Change-Id: I34c4a0c32ce7c9b7bd7acf8f87b932e15c573bd8

Hugo Benichi   commited 2017-08-29 15:12:32 +09:00
8d22f138aa
Nat464Xlat: internal state guards cleanup + state enum
This patch does some cleanup of Nat464Xlat internal state guards
against the Nat464Xlat state Idle | Started | Running, which reduces
code nesting.

It also replaces introspection of internal state for distinguishing
between different stages in 464xlat lifecycle with an enum explicitly
introducing these three Idle | Started | Running states.

Bug: 62997041
Bug: 64571917
Test:  runtest frameworks-net
       manually connected to ipv6 network and went to test-ipv6.com
Merged-In: I6efc9fed2420ca488731a2b9b9c3c025b16eca10
Merged-In: I188ac4c367db11cb33b67fe92df3a120e3c6fbce
Merged-In: I7e2c5db8d537fb0ab47cde37158b7f04d7786942
Merged-In: Ic2246a97618c596dbdbf48cda39c2f5b66e3bfb6
Merged-In: Ib04b9a3d56e9daf61b299a30e24a3c8839819a00
Merged-In: Icc1558a0f0e7c299270f550897347458e2bd3188

(cherry pick from commit e93e9c16ef)

Change-Id: Iebc7d153d8cd0b90d074d8d6eed821fbc3f1370d

Hugo Benichi   commited 2017-08-29 10:02:24 +09:00
222c217e57
Nat464Xlat: interface notification handler on ConnectivityService
This patch adds a layer of asynchonicity to the NetworkBaseObserver
callbacks implemented by Nat464Xlat in order to allow these callbacks
to run on the main ConnectivityService handler.

This allows to run interfaceLinkStateChanged and interfaceRemoved
callbacks in the same thread context as other Nat464Xlat methods and
solves the following issues:
  - NPE risk due to race between fixupLinkProperties called on the
    ConnectivityService thread and interfaceRemoved called as a
    callback by NetworkManagementService.
  - stale LinkProperties reads in both callbacks not called on
    ConnectivityService handler.
  - removes the race between stop() and interfaceRemoved().

This patch also:
  - removes/simplifies comments related to the threading
    model which are no obsolete.
  - extract clatd management logic from ConnectivityService into
    NetworkAgentInfo

Bug: 62997041
Bug: 64571917
Test:  runtest frameworks-net
       manually connected to ipv6 network and went to test-ipv6.com
Change-Id: I889d98e47423ff3d4746d6ed8015b265286e7c52

Hugo Benichi   commited 2017-08-29 08:55:18 +09:00
6f78dbd2b7
Nat464Xlat: clat management cleanup
This patch does some minor refactoring of clat starting/stopping code:
 - remove unused LinkProperties arguments in updateClat
 - remove unused Context argument in Nat464Xlat ctor
 - introduce ensureClatIsStarted and ensureClatIsStopped methods and
   simplify updateClat
 - add clatd to NetworkAgentInfo toString() method
 - clarify some comments

This changes prepare for moving BaseNetworkObserver callbacks to
ConnectivityService.

Bug: 62997041
Bug: 64571917
Test: runtest frameworks-net
      manually connected to IPv6 only network and went to test-ipv6.com

Merged-In: Idb204784614cfe700f73255a7a7b78c5e9ee6eca
Merged-In: Ic3808a1afe48efac745b1b378fb12cc5678918ec
Merged-In: Ia769aef6ef8b258f44f8979003d271c96264f1b5
Merged-In: I1a19e6fbb0cb13262e90b171d861062469078fb6
Merged-In: I06661bd6bd1456ba34a3bbdb52c120ac01da9d61
Merged-In: Ifccff9f3cfccdb2cdddf2f07561f0787a48bc0f8

(cherry picked from commit cef7248494)

Change-Id: Ibb02888633df9643030336c4dbea6c569a47554c

Hugo Benichi   commited 2017-08-28 22:32:11 +09:00
6f74ef43ef
Nat464Xlat: internal state guards cleanup + state enum
This patch does some cleanup of Nat464Xlat internal state guards
against the Nat464Xlat state Idle | Started | Running, which reduces
code nesting.

It also replaces introspection of internal state for distinguishing
between different stages in 464xlat lifecycle with an enum explicitly
introducing these three Idle | Started | Running states.

Bug: 62997041
Bug: 64571917
Test:  runtest frameworks-net
       manually connected to ipv6 network and went to test-ipv6.com
Change-Id: I6efc9fed2420ca488731a2b9b9c3c025b16eca10

Hugo Benichi   commited 2017-08-28 15:29:27 +09:00
e93e9c16ef
Nat464Xlat: clat management cleanup
This patch does some minor refactoring of clat starting/stopping code:
 - remove unused LinkProperties arguments in updateClat
 - remove unused Context argument in Nat464Xlat ctor
 - introduce ensureClatIsStarted and ensureClatIsStopped methods and
   simplify updateClat
 - add clatd to NetworkAgentInfo toString() method
 - clarify some comments

This changes prepare for moving BaseNetworkObserver callbacks to
ConnectivityService.

Bug: 62997041
Bug: 64571917
Test: runtest frameworks-net
      manually connected to IPv6 only network and went to test-ipv6.com
Change-Id: Idb204784614cfe700f73255a7a7b78c5e9ee6eca

Hugo Benichi   commited 2017-08-28 15:29:23 +09:00
cef7248494
Really allow NetworkAgent immutable updates to NetworkCapabilities
This patch completes commit 56a1054ab4 to
really allow updates of immutable capabilities to NetworkCapabilities of
NetworkAgents by using satisfiedByImmutableNetworkCapabilities instead
satisfiedByNetworkCapabilities.

Bug: 64125969
Test: runtest frameworks-net
Merged-In: I9beeb623792f0ee31abcd4ba9d0ba2451304fb2e
Merged-In: Ifbdd005576b3f0fbf278ecec81ce3e4308c6276d
Merged-In: Id352fdb6da21a2150d3e8d062d7eba11878f6919
Merged-In: If3742ea0e2151b9b710eda2fed280c31f7960393
Merged-In: Icd8e328e3c810a644bfb83798bd42fed8dc70425

(cherry picked from commit 1ed8a874ad)

Change-Id: I737494117d7f1e0198f0ad4d3c41019c9295fe09

Hugo Benichi   commited 2017-08-18 12:44:26 +00:00
94b9aa169a
Merge "Really allow NetworkAgent immutable updates to NetworkCapabilities"
am: cb3c24e36b

Change-Id: Ifbdd005576b3f0fbf278ecec81ce3e4308c6276d

Hugo Benichi   authored and   android-build-merger   commited 2017-08-18 11:59:02 +00:00
c18658e900
Really allow NetworkAgent immutable updates to NetworkCapabilities
This patch completes commit 56a1054ab4 to
really allow updates of immutable capabilities to NetworkCapabilities of
NetworkAgents by using satisfiedByImmutableNetworkCapabilities instead
satisfiedByNetworkCapabilities.

Bug: 64125969
Test: runtest frameworks-net
Change-Id: I9beeb623792f0ee31abcd4ba9d0ba2451304fb2e

Hugo Benichi   commited 2017-08-18 14:51:03 +09:00
1ed8a874ad
Allow NetworkAgent "immutable updates" to NetworkCapabilities
This patch loosens the validation checks when a NetworkAgent updates it
NetworkCapabilities: instead of checking that capabilities labeled as
"immutable" stay identical across updates, it is now accepted to change
immutable capabilities in a way that the new NetworkCapabilities
satisfies the old NetworkCapabilities.

This allows a NetworkAgent to update itself in order to match more
requests, but will still catch NetworkAgents that sends degradation
updates causing potentially requests to not match anymore.

Bug: 64125969
Test: runtest frameworks-net
Merged-In: I2a1b3f9c0be6415e40edc989d0c1b03b5631f7b1
Merged-In: I0ab76de59e87c46a6961229399ff7200bce49838
Merged-In: Ied592bf6112574399a1e808da337004e1c35f244
Merged-In: I01e287b4df82a53a522566d33b3166f7801badca
Merged-In: I7ee60daa9c4266e9b9179032815dd7267e06377f
Merged-In: I31ef741eb83d64c476e5930d5762514b5d4cb16f

(cherry picked from commit 56a1054ab4)

Change-Id: I9d630d63336f4db69f3eb52faa8483f1b1e35d16

Hugo Benichi   commited 2017-08-17 10:48:41 +09:00
2f90b2dee0
Merge "Allow NetworkAgent "immutable updates" to NetworkCapabilities"
am: b35719a057

Change-Id: I0ab76de59e87c46a6961229399ff7200bce49838

Hugo Benichi   authored and   android-build-merger   commited 2017-08-16 11:50:55 +00:00
c11d6eafe9
Allow NetworkAgent "immutable updates" to NetworkCapabilities
This patch loosens the validation checks when a NetworkAgent updates it
NetworkCapabilities: instead of checking that capabilities labeled as
"immutable" stay identical across updates, it is now accepted to change
immutable capabilities in a way that the new NetworkCapabilities
satisfies the old NetworkCapabilities.

This allows a NetworkAgent to update itself in order to match more
requests, but will still catch NetworkAgents that sends degradation
updates causing potentially requests to not match anymore.

Bug: 64125969
Test: runtest frameworks-net
Change-Id: I2a1b3f9c0be6415e40edc989d0c1b03b5631f7b1

Hugo Benichi   commited 2017-08-16 18:30:30 +09:00
56a1054ab4
Merge "Logging improvements when NetworkCapabilities change"
am: 935759cfff

Change-Id: I886e39db8969eb1ac1dfe06c6f448e53a90fd92c

Hugo Benichi   authored and   android-build-merger   commited 2017-07-31 01:50:38 +00:00
dc2b32d9a0
Merge "Logging improvements when NetworkCapabilities change"
Treehugger Robot   authored and   Gerrit Code Review   commited 2017-07-31 01:38:29 +00:00
935759cfff
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 8c92888a2d)

Change-Id: Id32ca66068c8ff549627e8e8c0e50897ef928c58

Hugo Benichi   commited 2017-07-31 09:25:37 +09:00
1b62b12a72
Merge "Logging improvements when NetworkCapabilities change" into oc-dr1-dev
am: 5c55f974bf

Change-Id: I4f6cbc0adb461cef6610460daeba72ca38b8f10c

Hugo Benichi   authored and   android-build-merger   commited 2017-07-28 23:54:03 +00:00
6f245ad896
Merge "Logging improvements when NetworkCapabilities change" into oc-dr1-dev
Hugo Benichi   authored and   Android (Google) Code Review   commited 2017-07-28 23:42:59 +00:00
5c55f974bf
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

Hugo Benichi   commited 2017-07-28 15:25:54 +09:00
8c92888a2d
Merge "NetworkNotificationManager: correctly handle existing notifications" into oc-dr1-dev
am: a03bf7acd1

Change-Id: I4ca3dcc293be5408a6f207e1ac1a7229a915723a

Hugo Benichi   authored and   android-build-merger   commited 2017-07-28 04:39:14 +00:00
8dc9e35371