Commit Graph

764 Commits

Author SHA1 Message Date
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
Chalard Jean
577164bd45 Fix PermissionMonitorTest that has been failing.
The fail is related to a recent fix to PermissionMonitor
that went into pi-dev only : ag/3799094, which fixed getting
the remote package name for the correct macro user instead of
the default. That fix had broken the test, this change fixes it.

Test: test now passes
Bug: 77315205
Change-Id: I26f8276eafe80478d5fefcff92e7dc2f12128bb4
2018-04-02 07:44:21 +00:00
Remi NGUYEN VAN
6f5a8db2e9 Merge "Add method to NetworkStatsService for UID stats." into pi-dev 2018-04-02 05:40:04 +00:00
Erik Kline
465ff3a0c1 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

Change-Id: Ia64faaadefb4a5d84a50da98bdebd544b6fda101
2018-03-30 17:24:43 -07:00
Remi NGUYEN VAN
b6a920124f Add method to NetworkStatsService for UID stats.
Useful for clients such as BatteryStats which currently rely
on NetworkStatsFactory. Data at that stage is incomplete as
it does not account for tethering, VT data and corresponding
464xlat corrections.

Test: runtest frameworks-net, CTS tests pass.
Bug: b/72107146
Merged-In: I31c5b9b4a7c6e72910152415894a137f000a5858
Merged-In: I2527d95000c7500c824ede70f87ecb38e21ed323
(cherry picked from aosp 088ff6824f)

Change-Id: Ie80f1bb21124241f3414f9be77aceac9a44ec6d1
2018-03-30 18:58:18 +09:00
Remi NGUYEN VAN
671547b224 Merge "Use InterfaceSet for upstream interfaces." into pi-dev 2018-03-30 09:15:13 +00:00
Remi NGUYEN VAN
4140cc106e Merge "Add tests for IPv4 of dual stack tethering." into pi-dev 2018-03-30 09:13:50 +00:00
Remi NGUYEN VAN
6c02f9942a Use InterfaceSet for upstream interfaces.
Allows using different upstream interfaces for IPv4 and IPv6.

Bug: 38218697
Bug: 64382985
Bug: 64976379
Bug: 64995262
Bug: 64380515
Test: runtest frameworks-net, manual (with aosp/644099 applied)
(cherry-pick of aosp I3db63f7aa5255a0229253187def7590a386c5133)
Merged-In: Ic8602dd029b5a9626aaf6651315b82ab6327037c
Merged-In: I015ac946afa581be1d94f10ab766ac00f5a4ede0

Change-Id: I8c48dab5eb67e60dadbfa974122fc884f4badd15
2018-03-30 18:08:52 +09:00
Remi NGUYEN VAN
5d0dc453e9 Add tests for IPv4 of dual stack tethering.
Also refactoring some Tethering and TetherInterfaceStateMachine calls
to address testability issues.

This is in preparation of other work to have IPv6-only or 464xlat
tethering working.

Test: runtest frameworks-net
Bug: 38218697
Bug: 64382985
Bug: 64976379
Bug: 64995262
Merged-In: I3b91125b1a715690c2cd417b1e937e568c755d9f
Merged-In: I05de77d9b90d147bf1d6ee7f7ee19a049afddfa1
(cherry-pick of aosp I721aca4789ddfbee5a97316aae0b378d79ee2107)

Change-Id: Idfdd1b9cd5419c1f51f0fbb1eba2f36a9c12474b
2018-03-30 18:08:52 +09:00
Chalard Jean
269a7b9efd Merge "Limit the number of routes for performance" am: b8a1509d68
am: 7d25b9abf6

Change-Id: I1fcf34b553b4a7cbadd0a2a7bf697140e948243e
2018-03-30 08:58:44 +00:00
Chalard Jean
507754a81e Limit the number of routes for performance
In evaluating whether "most" of the addressing space is
covered, the list of routes are obtained from a third-party
app, so it's possbile the system service stalls unless
some limit is enforced on how much work it has to do.
This change limits the number of routes to 400, as determined
by time measurement on various devices.

Bug: 74176086
Test: runtest framework-net
Change-Id: Ie4a96098bc044ade87b188839586f14dd101c100
2018-03-30 15:41:50 +09:00
Chalard Jean
b8a1509d68 Merge "Limit the number of routes for performance" 2018-03-30 06:40:29 +00:00
Remi NGUYEN VAN
293eb12069 Merge "Use InterfaceSet for upstream interfaces." am: e18fd9fff0
am: 36d3bf8372

Change-Id: Ic8602dd029b5a9626aaf6651315b82ab6327037c
2018-03-30 02:32:07 +00:00
Remi NGUYEN VAN
25a7e4fdbf Use InterfaceSet for upstream interfaces.
Allows using different upstream interfaces for IPv4 and IPv6.

Bug: 38218697
Bug: 64382985
Bug: 64976379
Bug: 64995262
Bug: 64380515
Test: runtest frameworks-net, manual (with aosp/644099 applied)

Change-Id: I3db63f7aa5255a0229253187def7590a386c5133
2018-03-29 18:13:46 +09:00
Chalard Jean
e0d26f66b0 Limit the number of routes for performance
In evaluating whether "most" of the addressing space is
covered, the list of routes are obtained from a third-party
app, so it's possbile the system service stalls unless
some limit is enforced on how much work it has to do.
This change limits the number of routes to 400, as determined
by time measurement on various devices.

Bug: 74176086
Test: runtest framework-net
Change-Id: Ie4a96098bc044ade87b188839586f14dd101c100
2018-03-29 18:13:23 +09:00
dimitry
bb9855d08e resolve merge conflicts of a2640b6f51 to pi-dev-plus-aosp
Test: n/a
Change-Id: I3b91125b1a715690c2cd417b1e937e568c755d9f
2018-03-27 17:57:59 +02:00
Remi NGUYEN VAN
a2640b6f51 resolve merge conflicts of f8b537d7a3 to stage-aosp-master
Test: TODO
Change-Id: I7959d7812f8db31de689154f37b92497a992fb6c
2018-03-27 23:04:08 +09:00
Remi NGUYEN VAN
f8b537d7a3 Merge "Add tests for IPv4 of dual stack tethering." 2018-03-27 10:17:44 +00:00
Remi NGUYEN VAN
a911e84798 Add tests for IPv4 of dual stack tethering.
Also refactoring some Tethering and TetherInterfaceStateMachine calls
to address testability issues.

This is in preparation of other work to have IPv6-only or 464xlat
tethering working.

Test: runtest frameworks-net
Bug: 38218697
Bug: 64382985
Bug: 64976379
Bug: 64995262

Change-Id: I721aca4789ddfbee5a97316aae0b378d79ee2107
2018-03-26 11:38:34 +09:00
Erik Kline
117e7f3c76 Pass all relevant resolver info to netd
Test: runtest frameworks-net passes
Test: manual testing of opportunistic and strict mode works
Bug: 34953048
Bug: 64133961
Bug: 72345192
Merged-In: I96f7747b8f0bb38d95579b688b4c2d068f1229cf
Merged-In: Ia4d896c4cc33c02f0c46d5d4c760cc33b13dff0b
Change-Id: Ia4f1905e1fa60e7a468c2246fb809191d2ba796b
(cherry picked from commit e5dac904d3)
2018-03-23 21:59:24 -07:00
Erik Kline
2b708b55a9 Merge "Pass all relevant resolver info to netd" am: 76f64641bb
am: 3ce3bc4582

Change-Id: I96f7747b8f0bb38d95579b688b4c2d068f1229cf
2018-03-24 01:16:37 +00:00
Erik Kline
3ce3bc4582 Merge "Pass all relevant resolver info to netd"
am: 76f64641bb

Change-Id: If4f46b030fe141a6904a48966e5ab34ffb6b10bc
2018-03-24 01:07:10 +00:00
Treehugger Robot
76f64641bb Merge "Pass all relevant resolver info to netd" 2018-03-23 23:41:11 +00:00
Chalard Jean
d1052c2cfa Merge "Have PermissionMonitor arbiter which app can access background networks"
am: 06f0fc04e7

Change-Id: Ic05e362af58d667b5be84c3bd421c9250927abe2
2018-03-23 08:12:51 +00:00
Erik Kline
e5dac904d3 Pass all relevant resolver info to netd
Test: runtest frameworks-net passes
Test: manual testing of opportunistic and strict mode works
Bug: 34953048
Bug: 64133961
Bug: 72345192
Change-Id: Ia4f1905e1fa60e7a468c2246fb809191d2ba796b
2018-03-22 23:50:13 -07:00
Chalard Jean
973344d514 Merge "Have PermissionMonitor arbiter which app can access background networks" into pi-dev
am: 1f654aa247

Change-Id: I8d725b07e59654232ee41b82aac007dc6a495a01
2018-03-23 06:48:49 +00:00
Chalard Jean
06f0fc04e7 Merge "Have PermissionMonitor arbiter which app can access background networks" 2018-03-23 06:15:00 +00:00
Chalard Jean
26aa91ab27 Have PermissionMonitor arbiter which app can access background networks
This will let ConnectivityService send the right callbacks to the
relevant apps.

Test: manual with apps
      runtest frameworks-net
      cts
      new tests for this functionality
Bug: 67408339

Change-Id: I6f08efd9e73c7e191f833d7f307a3bf4c9e2f0b4
2018-03-23 13:37:56 +09:00
Remi NGUYEN VAN
5eaa226243 Merge "Add method to NetworkStatsService for UID stats." am: db89ca3c12
am: af2fafe743

Change-Id: I2527d95000c7500c824ede70f87ecb38e21ed323
2018-03-23 04:01:09 +00:00
Remi NGUYEN VAN
af2fafe743 Merge "Add method to NetworkStatsService for UID stats."
am: db89ca3c12

Change-Id: I2c6cba3ebbc8c23ade754cfd411ac54a561b020a
2018-03-23 03:54:13 +00:00
Chalard Jean
1d738004e8 Have PermissionMonitor arbiter which app can access background networks
This will let ConnectivityService send the right callbacks to the
relevant apps.

Test: manual with apps
      runtest frameworks-net
      cts
      new tests for this functionality
Bug: 67408339

Change-Id: I6f08efd9e73c7e191f833d7f307a3bf4c9e2f0b4
2018-03-22 19:03:59 +09:00
Remi NGUYEN VAN
088ff6824f Add method to NetworkStatsService for UID stats.
Useful for clients such as BatteryStats which currently rely
on NetworkStatsFactory. Data at that stage is incomplete as
it does not account for tethering, VT data and corresponding
464xlat corrections.

Test: runtest frameworks-net, CTS tests pass.
Change-Id: I763b77f601c827fd2963204694fb5b45425cc791
2018-03-22 15:31:28 +09:00
nharold
24b4e324cd Merge "Check mOwnedByTransform to avoid DELSA on SPI" am: 94d8fa0da6
am: ad1edf143f

Change-Id: Ie505e32e6f3bef3fe39198396a40a2b534e2bcda
2018-03-21 05:01:47 +00:00
nharold
ad1edf143f Merge "Check mOwnedByTransform to avoid DELSA on SPI"
am: 94d8fa0da6

Change-Id: Id194eb67947e9dae369b2a2d30b55e7e1cf2d7c8
2018-03-21 03:36:44 +00:00
Nathan Harold
82485a2660 Check mOwnedByTransform to avoid DELSA on SPI
The owned by transform flag prevents the removal
of an SPI from accidentally deleting an associated
SA in the kernel. That flag wasn't actually being
checked, so deleting an SPI would result in the
transform being removed.

The existing code already guarantees that the SA is
deleted when the transform is deleted

Bug: 73258845
Test: runtest frameworks-net
Merged-In: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06
Change-Id: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06
(cherry picked from commit 22795302be)
2018-03-20 18:29:02 -07:00
Benedict Wong
da4b0c65a5 Added implementation for VTI add/remove address
This change adds implementation details for add/remove addresses onto a
VTI.

Bug: 73675031
Test: New tests added, passing on Walleye
Merged-In: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5
Change-Id: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5
(cherry picked from commit ecc9f7cc08)
2018-03-20 16:01:27 -07:00
Nathan Harold
22795302be Check mOwnedByTransform to avoid DELSA on SPI
The owned by transform flag prevents the removal
of an SPI from accidentally deleting an associated
SA in the kernel. That flag wasn't actually being
checked, so deleting an SPI would result in the
transform being removed.

The existing code already guarantees that the SA is
deleted when the transform is deleted

Bug: 73258845
Test: runtest frameworks-net
Change-Id: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06
2018-03-20 11:26:29 -07:00
Benedict Wong
2e67bf5cac Merge "Added implementation for VTI add/remove address" am: 2543fbd8a2
am: 9dda91f806

Change-Id: Idaab45998f4765655bde6cf0274f2ba3c1b3ecf1
2018-03-20 00:09:15 +00:00
Benedict Wong
9dda91f806 Merge "Added implementation for VTI add/remove address"
am: 2543fbd8a2

Change-Id: Id49ef89d3076c9a6d5257b006965844ab77743ce
2018-03-19 23:45:10 +00:00
Benedict Wong
2543fbd8a2 Merge "Added implementation for VTI add/remove address" 2018-03-19 22:05:09 +00:00
Benedict Wong
ecc9f7cc08 Added implementation for VTI add/remove address
This change adds implementation details for add/remove addresses onto a
VTI.

Bug: 73675031
Test: New tests added, passing on Walleye
Change-Id: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5
2018-03-16 10:25:43 -07:00
Chalard Jean
d1bf7733af Merge "Give apps with NETWORK_SETTINGS right to see any VPN." am: 6001f72478 am: e5e819f078
am: 1be320a494

Change-Id: I9a9d0eb212f6de105abc070a1eb5ff698b4e67bc
2018-03-02 13:25:02 +00:00
Chalard Jean
e5e819f078 Merge "Give apps with NETWORK_SETTINGS right to see any VPN."
am: 6001f72478

Change-Id: Iab9c8df6071e6dec35b5f492eb8344ba370e0036
2018-03-02 13:10:45 +00:00
Chalard Jean
9fae0a82af Merge "Give VPNs the INTERNET capability when they route most of the IP space" am: 20013384dc am: 18e51821b1
am: 207b8e2b4e

Change-Id: Ifd77149ca2c45249b8776c878c6fac46ae81c2a4
2018-03-02 12:54:29 +00:00
Chalard Jean
18e51821b1 Merge "Give VPNs the INTERNET capability when they route most of the IP space"
am: 20013384dc

Change-Id: Icd1466c79d2593fcab5bd2e31a1acb3a36a705da
2018-03-02 12:34:25 +00:00
Chalard Jean
6001f72478 Merge "Give apps with NETWORK_SETTINGS right to see any VPN." 2018-03-02 11:52:15 +00:00
Chalard Jean
b552c4655f Give apps with NETWORK_SETTINGS right to see any VPN.
...not only the ones that apply to them.

Bug: 73217368
Test: runtest frameworks-net and CTS
Change-Id: I436972a3e51e98bdd815771b451bcedadf684763
2018-03-02 17:10:11 +09:00
Chalard Jean
adbf1d029b Give VPNs the INTERNET capability when they route most of the IP space
Test: manual, plus wrote some new tests for this
Bug: 72765718
Change-Id: I9759da72b752fd8eeb1d0647db9ab341f04c0528
2018-03-02 16:20:22 +09:00
Alexandru-Andrei Rotaru
9f3bad7260 Notify the user and turn off tethering when the service is disallowed.
Added UserRestrinctionListener for turning the service off one the
DISALLOW_CONFIG_TETHERING is on into Tethering.  Added notification
about
tethering being turned off. Also added Unit Tests to test the
functionality
of the UserRestrictionListener added.

Bug: 27936525
Test: Turn the tehering service on (either wifi, usb or bluetooth).
Automatically the system should send a notification about the service
being active.Close settings from recents. From TestDPC User Restrictions
switch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off
and a notification should appear informing that the service is inactive.

Merged-In: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
Change-Id: I4a57137a7ad592ca186d9508d5cc2fad3f1bc985
2018-02-28 17:52:38 +09:00