Commit Graph

5638 Commits

Author SHA1 Message Date
Josh Gao
bc2208a2a2 Avoid calling ParcelFileDescriptor.fromSocket on new Sockets.
Previously, we were calling ParcelFileDescriptor.fromSocket on a newly
initialized Socket, which doesn't actually create a file descriptor
until the Socket is bound or connected.

Bind the Socket to a random port to force the file descriptor to be
allocated.

Test: treehugger
Change-Id: Id92a3e1316881d1c5382485aa2d6a41fc37e9651
2018-11-09 14:10:40 -08:00
Junyu Lai
57b23ac131 Merge "Use spy in PermissionMonitorTest."
am: e666ae6ee5

Change-Id: I6074b6fb2f90821ddad93db18fbb633225b4292f
2018-11-09 01:01:25 -08:00
Junyu Lai
e666ae6ee5 Merge "Use spy in PermissionMonitorTest." 2018-11-09 08:47:03 +00:00
junyulai
4ae90ee86e Use spy in PermissionMonitorTest.
Bug: 118811303
Test: runtest frameworks-net
Change-Id: Id61a9efecf1d1ed5a9045b78ecfec9239e13967b
2018-11-09 12:37:16 +08:00
soma, kawata
0ecbb97b4a Merge "Add skip464xlat test in Nat464XlatTest"
am: aef8fe0d47

Change-Id: If437d8eadbc81655756b9b7cac1a5cda019a45da
2018-11-08 05:00:10 -08:00
junyulai
e43ff3e85f Fix negative uid stats caused by 464xlat adjust when eBPF is on.
When using xt_qtaguid to count per uid stats,
NetworkStatsService needs to adjust the 464xlat traffic since
iptables module would double count for ipv4 and ipv6 packet.
But for eBPF, the per uid stats is collected in a different
hook, so the adjustment on root uid would only be needed in tx
direction.

Bug: 112226716
Test: 1. Make ipv4 traffic in ipv6-only network and check data
         usage.
      2. Make ipv4 traffic in a client which connect to
         ipv6-only hotspot.
      3. runtest frameworks-net
      4. cts-tradefed run cts -m CtsNetTestCases -t \
                 android.net.cts.TrafficStatsTest
      5. cts-tradefed run cts -m CtsUsageStatsTestCases

Change-Id: Ic9a84f5446eddc943c255d5f3b89dad171f53cac
Merged-In: Ic9a84f5446eddc943c255d5f3b89dad171f53cac
(cherry picked from commit c33ac0d43b594f6154accf03ae7e3fd34dedc79d)
2018-11-07 10:16:26 +08:00
soma, kawata
4d041d5caa Add skip464xlat test in Nat464XlatTest
Bug: 69949375
Test: Nat464XlatTest, ConnectivityServiceTest

Change-Id: Ibc66d9c2dc8e3d1f118e5f6940e7b3fd4646efd1
2018-11-06 06:02:50 +00:00
Remi NGUYEN VAN
1dd54da1f6 Fix LingerMonitor notification rate limiting
If time since boot is lower than the rate limit, notifications would not
be shown.
This is causing tests to fail on continuous testing.

Test: atest FrameworksNetTests
Bug: b/117516272
Change-Id: I03da28f2ca61119fa0ef9534bb4ce3f6406c1ff2
2018-11-02 17:26:37 +09:00
Paul Hu
5d443532b6 Merge "Support backward compatibility for restricted network permission"
am: 3e8de1cade

Change-Id: I15ef9c6efd40e8fe9bb9ff6ae98cae556dc0f8fd
2018-11-01 00:33:39 -07:00
Paul Hu
3e8de1cade Merge "Support backward compatibility for restricted network permission" 2018-11-01 07:20:05 +00:00
paulhu
8e38c05bb3 Support backward compatibility for restricted network permission
Some native daemons legacy design work with SYSTEM_UID. If none of
SYSTEM_UID apps declare the restricted network permission, it will
result in permission denial in daemons. Allow SYSTEM_UID in the
devices shipped before Q to support backward compatibility.

Bug:114245686
Test: 1. runtest frameworks-net
      2. atest FrameworksNetTests
      3. Native daemons with SYSTEM_UID can work normally

Change-Id: I6f3f0d83bcae74ef5389535b528af3baf649fa48
2018-11-01 10:38:11 +08:00
Junyu Lai
8711dff1be Merge "Fix negative uid stats caused by 464xlat adjust when eBPF is on."
am: 0d63da86e2

Change-Id: Ia5120619ce7d5cedd6e558ed4d1dc9a706638796
2018-10-30 19:35:32 -07:00
junyulai
1d103a9809 Fix negative uid stats caused by 464xlat adjust when eBPF is on.
When using xt_qtaguid to count per uid stats,
NetworkStatsService needs to adjust the 464xlat traffic since
iptables module would double count for ipv4 and ipv6 packet.
But for eBPF, the per uid stats is collected in a different
hook, so the adjustment on root uid would only be needed in tx
direction.

Bug: 112226716
Test: 1. Make ipv4 traffic in ipv6-only network and check data
         usage.
      2. Make ipv4 traffic in a client which connect to
         ipv6-only hotspot.
      3. runtest frameworks-net
      4. cts-tradefed run cts -m CtsNetTestCases -t \
                 android.net.cts.TrafficStatsTest
      5. cts-tradefed run cts -m CtsUsageStatsTestCases

Change-Id: Ic9a84f5446eddc943c255d5f3b89dad171f53cac
2018-10-30 21:23:38 +08:00
Luke Huang
55c7b00f65 Merge "Refactor UidRange by using stable aidl structure"
am: 1742c23b88

Change-Id: I9ac52f3869fe051d0ef7f45768f1defad155b53b
2018-10-28 17:44:20 -07:00
Treehugger Robot
1742c23b88 Merge "Refactor UidRange by using stable aidl structure" 2018-10-29 00:17:34 +00:00
Chalard Jean
a7a96dd623 Merge "ConnectivityService: make log configurable"
am: 3ec9281fa8

Change-Id: I5991e26198aa5d5ad809e2585984cb643889a9d1
2018-10-25 23:22:48 -07:00
Chalard Jean
3ec9281fa8 Merge "ConnectivityService: make log configurable" 2018-10-26 06:06:19 +00:00
Junyu Lai
436343f70d Merge "No-op refactoring of VPN lockdown status check."
am: f694edec6f

Change-Id: I8aab0dd1556b49cafc08d57a8981051ba437fe44
2018-10-25 22:50:34 -07:00
Junyu Lai
f694edec6f Merge "No-op refactoring of VPN lockdown status check." 2018-10-26 05:35:28 +00:00
Junyu Lai
15a1448db3 Merge "Add more debug log when onBlockedStatusChanged was called."
am: 88c8503390

Change-Id: I6f5e1af022e43e954b019894a5efb4e6cf8d4846
2018-10-25 02:35:52 -07:00
Junyu Lai
88c8503390 Merge "Add more debug log when onBlockedStatusChanged was called." 2018-10-25 08:57:56 +00:00
junyulai
e06923946c No-op refactoring of VPN lockdown status check.
Currently, if VPN lockdown is disabled, the blocking judgement
inside VPN will return false immediately. It will make
ConnectivityService hard to check blocked status by a given
VPN lockdown status.

Thus, move this check into ConnectivityService and check it
externally.

Bug: 117814902
Test: 1. manual test with 3rd-party vpn app
      2. runtest frameworks-net

Change-Id: Ia8319b1a1a12f1058c24badf2431f2ec69bc78e7
2018-10-25 16:43:50 +08:00
junyulai
29e8abebca Add more debug log when onBlockedStatusChanged was called.
Bug: 118355916
Test: 1. runtest frameworks-net
      2. enable/disable battery saver

Change-Id: I6d5f9b49be0defd531fc7ea824668bec7863c4b7
2018-10-25 15:20:01 +08:00
Bill Yi
4ba3e811cc [automerger skipped] Merge pie-platform-release to aosp-master - DO NOT MERGE
am: 78ab033fd4  -s ours

Change-Id: I2c4b9184789a1bdae2cec06e0e72f6c6ca049113
2018-10-24 17:17:46 -07:00
Bill Yi
78ab033fd4 Merge pie-platform-release to aosp-master - DO NOT MERGE
Change-Id: I695db52f5e22509401258e8b083e7650d401d993
2018-10-24 14:48:44 -07:00
Bill Yi
3521abfe19 Merge pi-platform-release to stage-aosp-master - DO NOT MERGE
Change-Id: I13571b072111900d0979f026670e648cdef9899b
2018-10-24 09:08:38 -07:00
Luke Huang
477db5fe1a Refactor UidRange by using stable aidl structure
Use stable aidl generated structure instead of UidRange

Test: runtest frameworks-net passes
Test: manual testing of UidRange related function works
Change-Id: Iaf1c10777dc1e71df2be2a57533a10257b12626b
2018-10-24 19:45:09 +09:00
Chalard Jean
698b80818c Merge "To support skip464xlat per Network" 2018-10-24 07:15:20 +00:00
Nathan Harold
26f91069c1 Merge "Move some members to the "Q blacklist"." 2018-10-23 21:53:51 +00:00
Mathew Inwood
0e71d36c58 Move some members to the "Q blacklist".
Based on some analysis, these fields/methods are likely false positives.
Set maxTargetSdk=P so that any apps using them are required to migrate off
them in future. See the bug for more details.

Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 115609023
Test: m
Merged-In: I719b5c94e5b1f4fa562dd5d655953422958ad37e
Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
(cherry picked from commit 2622bdf569)
2018-10-22 17:28:24 -07:00
hiroaki.yokoyama
a1a397d1d1 ConnectivityService: make log configurable
Make log of ConnectivityService configurable by system property.

Two levels:
VERBOSE: whole VDBG log.
DEBUG: selected necessary log for debug purpose.

Relevant log can be enbled in either way:
1. use adb command at run time.
2. config init.xx.rc file at compile time by adding.
on boot && property:ro.build.type=userdebug
    setprop log.tag.ConnectivityService DEBUG

Bug: 117632924
Change-Id: I43cc84878c64c5b448853c7393393a02262afd15
2018-10-22 15:59:17 +09:00
Junyu Lai
e302f75920 Merge "Add tests for the network blocked status change"
am: bbc0585a03

Change-Id: I0f3f93807d9089239f572c487d791acd7a324a2e
2018-10-19 09:18:38 -07:00
Junyu Lai
118cf0e236 Merge "Add new callback to inform blocking of network on specific uid."
am: f41deeb4a9

Change-Id: Ia99ee2fbefa67a7ee00d6fecce430ba6431945cd
2018-10-19 09:14:23 -07:00
Junyu Lai
bbc0585a03 Merge "Add tests for the network blocked status change" 2018-10-19 15:20:48 +00:00
Junyu Lai
f41deeb4a9 Merge "Add new callback to inform blocking of network on specific uid." 2018-10-19 15:20:48 +00:00
Mike Yu
96612aedb1 Add tests for the network blocked status change
onBlockedStatusChanged is intruduced for network blocked status.
The changes in this patch are:
  - Test onBlockedStatusChanged which tells apps whether the
    network is blocked.
  - Fixed the tests which is affected by the order changed in
    onAvailable.

Test: as follows
    - runtest frameworks-net
    - runtest -x NetworkPolicyManagerServiceTest.java
Bug: 74575553
Change-Id: I383c037ed895ef69c478dc3cff69fb1e27c42845
2018-10-19 19:52:50 +08:00
Chalard Jean
26e6255faa Merge changes I66e40b4b,I599a2ff9,I7c210623
am: e70b760e83

Change-Id: Iba4bb6d1676d889f1e4a781a7970f01c0e321275
2018-10-16 09:14:22 -07:00
Treehugger Robot
e70b760e83 Merge changes I66e40b4b,I599a2ff9,I7c210623
* changes:
  [PT16] Simplification of sendProxyBroadcast.
  [PT15] Tiny bugfix in setGlobalProxy
  [PT14] No-op refactoring of sendProxyBroadcast
2018-10-16 14:48:33 +00:00
Luke Huang
39fe20e389 Merge "Network-related commands porting"
am: 5f81fcf08d

Change-Id: I96b2bb80cca6e9d80f3f0fe08f7b71ce31b67528
2018-10-16 01:09:30 -07:00
Luke Huang
5f81fcf08d Merge "Network-related commands porting" 2018-10-16 07:44:37 +00:00
Android Build Merger (Role)
e43baff38b Merge changes into stage-aosp-master 2018-10-15 22:44:53 +00:00
Android Build Merger (Role)
214f2425b6 Merge changes into stage-aosp-master 2018-10-15 22:44:53 +00:00
Lorenzo Colitti
65b71e6a20 Merge "Change permissions checks for setAirplaneMode."
am: 38149e3ea7

Change-Id: I578923c3f9012055f715e536f5d4d42ed669c5ee
2018-10-15 08:03:52 -07:00
Android Build Merger (Role)
9d4ecb210e Merge changes into stage-aosp-master 2018-10-15 15:00:04 +00:00
Android Build Merger (Role)
370172f67b Merge changes into stage-aosp-master 2018-10-15 15:00:04 +00:00
Lorenzo Colitti
38149e3ea7 Merge "Change permissions checks for setAirplaneMode." 2018-10-15 13:36:45 +00:00
Chalard Jean
110cb12040 [PT16] Simplification of sendProxyBroadcast.
sendProxyBroadcast is always called with the same argument, and
it would make no sense with another argument anyway. Remove it.

This concludes the ProxyTracker refactoring with 227 lines removed
from ConnectivityService, a lot clarified, and some bugs removed.
Things can still be improved, but presumably at a much higher cost.

Next steps are : write tests, now that ProxyTracker is both testable
and mockable. And try to pour some gasoline on the PROXY_CHANGE_ACTION
broadcast, see if it burns well.

Test: runtest
Change-Id: I66e40b4bf5cfd0b2dc4fa37ea97b3429fe1b7e6c
2018-10-15 12:58:41 +09:00
Chalard Jean
0d21a064a6 [PT15] Tiny bugfix in setGlobalProxy
This bug has existed for a long time. If mDefaultProxyEnabled is
false, then the mDefaultProxy member should obviously not be used
in the broadcast.

Test: runtest
Change-Id: I599a2ff9f96d4667e824cf000c2125f86010bb02
2018-10-15 12:58:41 +09:00
Chalard Jean
1836a63e92 [PT14] No-op refactoring of sendProxyBroadcast
If mGlobalProxy is non-null, then getDefaultProxy returns mGlobalProxy
so the first change is a no-op.
If mGlobalProxy is null and mDefaultProxyEnabled is true, then
getDefaultProxy returns mDefaultProxy, which has just been set to
proxyInfo, so the second change is a no-op.
If mGlobalProxy is null and mDefaultProxyEnabled is true, then
getDefaultProxy returns mDefaultProxy ; if mGlobalProxy is null and
mDefaultProxyEnabled is false, then getDefaultProxy returns null,
therefore the third change is a no-op.

Test: runtest
Change-Id: I7c21062302bf54f4fc917c82e0175975051a55ec
2018-10-15 12:58:40 +09:00
Chalard Jean
1e161fd7b5 Merge "[PT13] Simple cleanup of ProxyTracker."
am: db2eff0874

Change-Id: I6a30f78e517716ca3ff14a3601374fddc65e4aec
2018-10-12 00:50:29 -07:00