Commit Graph

1090 Commits

Author SHA1 Message Date
Jeff Sharkey
563a57bcf9 Merge "Revert "Revert "OP_GET_USAGE_STATS should be noted, not checked.""" into pi-dev
am: f78b8ce258

Change-Id: Ie9bcdc9736c04ab787efc193311a20d03718b593
2018-04-16 10:19:39 -07:00
Jeff Sharkey
0cd9173ad3 Merge "Revert "OP_GET_USAGE_STATS should be noted, not checked."" into pi-dev
am: e0fe6df357

Change-Id: I2cc76316bca81c12e56337d6e36d82b0de6d9ded
2018-04-16 10:07:52 -07:00
Jeff Sharkey
d9311198e1 Revert "Revert "OP_GET_USAGE_STATS should be noted, not checked.""
This reverts commit bd2a9a2915.

Reason for revert: ijpedowitz@

Bug: 77662908
Change-Id: I596d330d64942105f447bb613012bb11e281a805
Exempt-From-Owner-Approval: keep tests passing
2018-04-16 16:50:34 +00:00
Jeff Sharkey
bd2a9a2915 Revert "OP_GET_USAGE_STATS should be noted, not checked."
This reverts commit 5a8bcd9031.

Reason for revert: ijpedowitz@

Bug: 77662908
Change-Id: I5dd0ad5038df90ea8a80ba6f583ee46fb24600c2
Exempt-From-Owner-Approval: keep tests passing
2018-04-16 16:39:55 +00:00
Bernie Innocenti
97bdfc8111 Merge "Teach ApfGenerator about the new opcodes for accessing data memory" am: 5a533ae460
am: faf23c9281

Change-Id: Ia6fafc71380a2d05cd3d3ea019e69b8109269da1
2018-04-16 00:23:28 -07:00
Bernie Innocenti
5a533ae460 Merge "Teach ApfGenerator about the new opcodes for accessing data memory" 2018-04-16 05:24:29 +00:00
Jeff Sharkey
830af174ed Merge "OP_GET_USAGE_STATS should be noted, not checked." into pi-dev
am: 64bbb2014e

Change-Id: I38f5aecdb94c8b886ca4eba5908ab1b4a9c1fb89
2018-04-14 18:11:58 -07:00
Jeff Sharkey
5a8bcd9031 OP_GET_USAGE_STATS should be noted, not checked.
Per email feedback, we should be using "noteOp" instead of "checkOp"
when testing if caller holds OP_GET_USAGE_STATS, so that we record
that caller used the operation.

Bug: 77662908
Test: builds, boots
Exempt-From-Owner-Approval: keep tests passing
Change-Id: I3a60345d590534fdbc2c1248e0d30dc85a5d6772
2018-04-13 19:32:25 +00:00
Bernie Innocenti
a9949e9e25 Teach ApfGenerator about the new opcodes for accessing data memory
Bug: 73804303
Bug: 36221302
Test: runtest -x tests/net/java/android/net/apf/ApfTest.java
Change-Id: Iaf92ca0bbebaaf66d0f2f7adc1a9014607f3ecf6
2018-04-13 18:31:58 +09:00
Chalard Jean
8edf6543d2 Merge "Add a new ssid field in NetworkCapabilities." into pi-dev
am: 878d0e90b5

Change-Id: Ia1f4e51b7c2e9118789242cf6d9e7576c4167cda
2018-04-13 02:14:02 -07:00
Chalard Jean
b03a6229b8 Add a new ssid field in NetworkCapabilities.
Bug: 77891227
Test: frameworks-net
Change-Id: Ifba33ecd48ccecce7e8f8d05ff70bb85653f6163
2018-04-13 15:38:35 +09:00
Erik Kline
e0f34033e0 Don't unnecessarily reevaluate tethering provisioning
Registering for carrier config changes can deliver a sticky broadcast
and can cause Tethering to think something has changed and reevaluate
provisioning status, even though this has been checked before it
entered tethering mode alive state.

Additionally, move the provisioning_app{,no_ui} resources into the
TetheringConfiguration, if for no other reason than now we can log
it in .toString().

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
    - manual USB tethering toward WiFi works
Bug: 69565814
Merged-In: If254326e892b78ef9daf620f829c1def136d695c
Merged-In: I288093a1d76566e72d4889d92c7aedafc318c8b6
Merged-Id: I01c71fd971a4683bb2b6d14825d36f24a04d88a8

Change-Id: I01c71fd971a4683bb2b6d14825d36f24a04d88a8
(cherry picked from commit 1b450e3eb9)
2018-04-11 13:15:55 -07:00
Lorenzo Colitti
85eac92ecb Merge "Don't unnecessarily reevaluate tethering provisioning" into pi-dev
am: 4df92ef6f1

Change-Id: If254326e892b78ef9daf620f829c1def136d695c
2018-04-10 20:42:03 -07:00
Remi NGUYEN VAN
86c747dfa0 Merge "Added tests for MultipathPolicyTracker." into pi-dev
am: cf54c0451a

Change-Id: I2f47dd30f44722a0611967ce5375aa164f40c718
2018-04-10 20:37:06 -07:00
Lorenzo Colitti
4df92ef6f1 Merge "Don't unnecessarily reevaluate tethering provisioning" into pi-dev 2018-04-11 03:01:25 +00:00
Remi NGUYEN VAN
cf54c0451a Merge "Added tests for MultipathPolicyTracker." into pi-dev 2018-04-11 02:53:14 +00:00
Treehugger Robot
abb1562ca1 Merge "Revert "Don't unnecessarily reevaluate tethering provisioning"" 2018-04-10 08:35:31 +00:00
Erik Kline
e93ed61334 Revert "Don't unnecessarily reevaluate tethering provisioning"
This reverts commit 8067d78c32.

Change-Id: I9098f98cb134c35692c1384339f9407b94ce6f28
2018-04-10 07:01:16 +00:00
Remi NGUYEN VAN
6a7a5a1c3b Added tests for MultipathPolicyTracker.
Test: atest com.android.server.connectivity.MultipathPolicyTrackerTest
Bug: b/72631572
Bug: b/72877610
Change-Id: I33d9cd77948ff76008a125e4e2786fbbc2b03032
2018-04-10 15:27:59 +09:00
dalyk
1fcb7398d1 Trigger NetworkCallback events when private DNS usage has changed.
Relies on events sent from netd in aosp/578162.

Test: Added tests to ConnectivityServiceTest. Added a new test
class DnsManagerTest. Built a simple app that appears to
receive onLinkProperties events correctly upon manual changes
to the private DNS settings on a Pixel.
Bug: 71828272

Merged-In: I1e6c54ba016f6a165a302bd135a29d9332aaa235
Merged-In: I7705412803fb9aa707a18ae5a1c50292e084d851
Change-Id: I3223c1285a73d5d531c5051ce70007857caa57e3
(cherry picked from commit 7301aa4140)
2018-04-09 23:04:20 -07:00
Erik Kline
a7347262d1 Merge "Trigger NetworkCallback events when private DNS usage has changed." am: ec4ded5222
am: ed67e23577

Change-Id: I1e6c54ba016f6a165a302bd135a29d9332aaa235
2018-04-09 22:13:36 -07:00
Erik Kline
80b7a9f1b5 Don't unnecessarily reevaluate tethering provisioning
Registering for carrier config changes can deliver a sticky broadcast
and can cause Tethering to think something has changed and reevaluate
provisioning status, even though this has been checked before it
entered tethering mode alive state.

Additionally, move the provisioning_app{,no_ui} resources into the
TetheringConfiguration, if for no other reason than now we can log
it in .toString().

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
    - manual USB tethering toward WiFi works
Bug: 69565814
Change-Id: Ib8b2620ce44c55e5eb0afd3f00f3f5aa4fc8a593
(cherry picked from commit 8067d78c32)
2018-04-09 21:17:29 -07:00
Treehugger Robot
081014ac55 Merge "Don't unnecessarily reevaluate tethering provisioning" 2018-04-10 03:22:10 +00:00
Benedict Wong
d74a971fc2 Merge "Force creation of Socket upon Transform application" into pi-dev 2018-04-09 20:55:30 +00:00
dalyk
7301aa4140 Trigger NetworkCallback events when private DNS usage has changed.
Relies on events sent from netd in aosp/578162.

Test: Added tests to ConnectivityServiceTest. Added a new test
class DnsManagerTest. Built a simple app that appears to
receive onLinkProperties events correctly upon manual changes
to the private DNS settings on a Pixel.
Bug: 71828272
Change-Id: I68665aaf74b7d59182cc6f9586b80b55b0dfe427
2018-04-09 16:45:22 -04:00
Erik Kline
d7375ac9d7 Support bluetooth not using MultinetworkPolicyTracker
This required advancing the IpManager to IpClient refactoring
(Bluetooth used IpManager and friends). Most importantly, the
Bluetooth code used WaitForProvisioningCallback, so this is
moved into IpClient proper now. Also: some more renaming
cleanup.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 62476366
Bug: 72663849

Merged-In: I5e5b2c59ad3ea9ad574e8e683bcab3b09cfe0791
Merged-In: I89b45310181d952129fb2294db63654da9b4057f
Change-Id: I9eee2a9d5c31cdd48a054a7edc3403584efb1864
(cherry picked from commit 8d1fe54be1)
2018-04-09 03:05:37 -07:00
Erik Kline
08eab46ef9 Merge "Support bluetooth not using MultinetworkPolicyTracker" am: ed631bf5aa
am: bfcbe96fd0

Change-Id: I5e5b2c59ad3ea9ad574e8e683bcab3b09cfe0791
2018-04-09 02:47:01 -07:00
Erik Kline
8d1fe54be1 Support bluetooth not using MultinetworkPolicyTracker
This required advancing the IpManager to IpClient refactoring
(Bluetooth used IpManager and friends). Most importantly, the
Bluetooth code used WaitForProvisioningCallback, so this is
moved into IpClient proper now. Also: some more renaming
cleanup.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
Bug: 62476366
Bug: 72663849

Change-Id: I9eee2a9d5c31cdd48a054a7edc3403584efb1864
2018-04-08 23:09:36 -07:00
Erik Kline
8067d78c32 Don't unnecessarily reevaluate tethering provisioning
Registering for carrier config changes can deliver a sticky broadcast
and can cause Tethering to think something has changed and reevaluate
provisioning status, even though this has been checked before it
entered tethering mode alive state.

Additionally, move the provisioning_app{,no_ui} resources into the
TetheringConfiguration, if for no other reason than now we can log
it in .toString().

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net passes
    - manual USB tethering toward WiFi works
Bug: 69565814
Change-Id: Ib8b2620ce44c55e5eb0afd3f00f3f5aa4fc8a593
2018-04-08 18:28:15 -07:00
Erik Kline
8d8a35a90e Merge "Move the logic of (re)evaluation of Private DNS" into pi-dev 2018-04-06 06:48:25 +00:00
Erik Kline
79c6d0590e Move the logic of (re)evaluation of Private DNS
Moves this out of ConnectivityService and into each NetworkMonitor
(where it's more self-contained).

Test: as follows
    - builds, flashes, boots
    - runtest frameworks-net passes
    - manual testing with working and non-working hostnames behaves
      somewhat (but not entirely) as expected, and not always quickly
Bug: 64133961
Bug: 72345192
Bug: 73872000
Bug: 77140445
Merged-In: I5dc90ecfe6f6f10967b7501645ad8e030cb38982
Merged-In: Ida4967d22f0781524f0f269e30e653b8ec867258
Change-Id: Ic4322af3cb49149f2d975cb31f54b2ac7927f907
(cherry picked from commit 736353a584)
2018-04-05 19:18:47 -07:00
Erik Kline
44027dbc13 Merge "Move the logic of (re)evaluation of Private DNS" am: 04233ef175
am: 23ed88acad

Change-Id: I5dc90ecfe6f6f10967b7501645ad8e030cb38982
2018-04-05 18:53:08 -07:00
Benedict Wong
c96c65c6ca Merge "Update IpSecManager to use InetAddress and prefixLen" into pi-dev
am: b172d5b437

Change-Id: I03c0745662ab8868f719dc65c9ff8502e2ff817c
2018-04-05 17:34:11 -07:00
Erik Kline
736353a584 Move the logic of (re)evaluation of Private DNS
Moves this out of ConnectivityService and into each NetworkMonitor
(where it's more self-contained).

Test: as follows
    - builds, flashes, boots
    - runtest frameworks-net passes
    - manual testing with working and non-working hostnames behaves
      somewhat (but not entirely) as expected, and not always quickly
Bug: 64133961
Bug: 72345192
Bug: 73872000
Bug: 77140445
Change-Id: Ic4322af3cb49149f2d975cb31f54b2ac7927f907
2018-04-05 15:17:38 -07:00
Benedict Wong
3f2c54b782 Update IpSecManager to use InetAddress and prefixLen
LinkAddress constructors are currently @hide; this change updates
IpSecManager to use InetAddress and prefixLen, and then construct a
LinkAddress internally. LinkAddress is used over the binder interface to
IpSecService to ensure validity.

Bug: 77528639
Test: CTS, Java unit tests ran on walleye
Change-Id: I19e124adef6d9f4992d8293db3190bcf74c95848
2018-04-05 17:41:11 +00:00
Benedict Wong
16cec63d28 Merge "Force creation of Socket upon Transform application" am: 119cf2bc61
am: abcf07af81

Change-Id: I2034448a22461d51728e66bcc0e965821aa4a42f
2018-04-04 12:52:00 -07:00
Benedict Wong
5e9b4c7c33 Force creation of Socket upon Transform application
This change forces Socket and DatagramSocket to populate the
SocketImpl, ensuring that the socket file descriptor can be
retrieved when applying Transport mode Transforms

This is done by calling getSoLinger(), triggering a getImpl(), which
triggers setImpl() if needed.

Bug: 77491294
Test: Added tests in IpSecManagerTest, ran on walleye
Merged-In: I40da08b031357710eb794e0f866aec5660c79594
Change-Id: I40da08b031357710eb794e0f866aec5660c79594
(cherry picked from commit d175a3d3a0)
2018-04-04 10:33:49 -07:00
TreeHugger Robot
c4020ffcab Merge "Mark networks with OEM_PAID always restricted" into pi-dev 2018-04-04 16:54:46 +00:00
Lorenzo Colitti
83c1e74b1e Mark networks with OEM_PAID always restricted
Bug: 68762530
Test: runtest -x frameworks/base/tests/net/ -c android.net.NetworkCapabilitiesTest

Cherry-picked from AOSP with no conflicts

Merged-in: I173ee0a3bc1797d03ba34c5f025844eaada87ee4
Change-Id: I173ee0a3bc1797d03ba34c5f025844eaada87ee4
(cherry picked from commit efbacc0ccb)
2018-04-04 05:35:54 +00:00
Benedict Wong
d175a3d3a0 Force creation of Socket upon Transform application
This change forces Socket and DatagramSocket to populate the
SocketImpl, ensuring that the socket file descriptor can be
retrieved when applying Transport mode Transforms

This is done by calling getSoLinger(), triggering a getImpl(), which
triggers setImpl() if needed.

Bug: 77491294
Test: Added tests in IpSecManagerTest, ran on walleye
Change-Id: I40da08b031357710eb794e0f866aec5660c79594
2018-04-03 17:04:55 -07:00
Nathan Harold
c1c08d10d1 Merge "Add AppOps Checks for MANAGE_IPSEC_TUNNELS" into pi-dev
am: 80a2bba9a6

Change-Id: Icd1b2cfc699ab44e4ca536b98298d5b23db7372e
2018-04-03 14:41:56 -07:00
Nathan Harold
592dadbd43 Add AppOps Checks for MANAGE_IPSEC_TUNNELS
Adds support for a new AppOp to permit services to
use IpSec tunnel mode. The IpSecService now needs
a context so change the service mode to a cached
service rather than a static service.

Bug: 66955045
Test: runtest frameworks-net
Change-Id: I17a4a286225b432c3e15ea1587d946189931b4f4
2018-04-03 18:23:11 +00:00
Bernie Innocenti
5be71dcb03 APF: drop multicast ICMPv6 while in doze mode
Some WiFi hotspots send excessive multicast IPv6 ping requests which
cause considerable power drain. Thus, drop all multicast ICMPv6 ping
requests while the device is in doze mode.

Bug: 66930077
Test: runtest -x tests/net/java/android/net/apf/ApfTest.java
Test: manual - compared generated APF bytecode using apf_disassembler
Test: manual - force idle mode while sending multicast pings to device
Change-Id: I25dbf99985cf4413b4d0e3920d281fe6d663197a
(cherry picked from commit e2c70f8a60)
2018-04-03 16:16:14 +09:00
TreeHugger Robot
5a36b3b6ea Merge "Refactor isTetheringSupported() calls" into pi-dev 2018-04-03 02:25:49 +00:00
Erik Kline
7a26ba37f6 Refactor isTetheringSupported() calls
Tethering currently wants access to complex isTetheringSupported
logic that is only available in ConnectivityService. Instead of
trying to access that via ConnectivityManager, pass this capability
in to Tethering directly, in the TetheringDependencies object.

Also:
    - ConnectivityManager is only a source of static constants now,
      so "import static" all the constants that are actually used.

Test: as follows
    - built
    - flashed
    - booted
    - runtest frameworks-net works
    - manual USB towards WiFi tethering works
Bug: 68951715

Merged-In: Ifa121b057f9959ddb980edc940327929e48ea973
Merged-In: Iad6358dc2f1d10b322d22ec90543adc50882962d
Change-Id: Ia64faaadefb4a5d84a50da98bdebd544b6fda101
(cherry picked from commit 465ff3a0c1)
2018-04-02 16:59:23 -07:00
Erik Kline
019cb1d42c Merge "Refactor isTetheringSupported() calls" am: e34c426fd3
am: 6f63d051d6

Change-Id: Iad6358dc2f1d10b322d22ec90543adc50882962d
2018-04-02 21:08:52 +00:00
Chalard Jean
72e7ad96be Merge "Fix PermissionMonitorTest that has been failing." into pi-dev
am: 6e66280d35

Change-Id: Ifb04fdda2b54b0bde8b6eeead3e0240d5cc1ff79
2018-04-02 20:14:29 +00:00
Treehugger Robot
e34c426fd3 Merge "Refactor isTetheringSupported() calls" 2018-04-02 18:47:18 +00:00
Bernie Innocenti
dd819de65a Merge "APF: drop multicast ICMPv6 while in doze mode" am: 7880e284c8
am: f0ddd72f0f

Change-Id: I2827fc9159fe8d372d881451b9971ddcc4a0530f
2018-04-02 18:22:47 +00:00
Remi NGUYEN VAN
75525b39f4 Fix network usage stats on 464xlat tethered.
Usage stats corrections for 464xlat in NetworkStatsFactory are not applied
to tethered traffic. Add adjustments in NetworkStatsService. After
migrating external callers off NetworkStatsFactory, we will be able to
only apply adjustments in NetworkStatsService and remove stacked
interface tracking from NetworkStatsFactory.
Bug: 72107146
Fixes: 72107146
Test: runtest frameworks-net & manual - checked corrected network usage
Merged-In: Ieb25c41c651499fdd01225ae5ac21d95e3d823f5
Merged-In: I016722f3a0ae2ae0a1d48bfacc4fe07ee3578ef7
(cherry-pick of aosp I5ce450e616b4fddf21f2a491fe5d0c9e9f969bda)

Change-Id: Id41cf22a0f9a63cb1832e9375bfb045861f08e52
2018-04-02 13:30:02 +00:00