Commit Graph

1750 Commits

Author SHA1 Message Date
Junyu Lai
12cd5129d5 Merge "Support dynamically update IMSI" am: 5d2e89e03d am: 9b8855c018 am: 860b9660d7 am: 5537ae9221
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1418348

Change-Id: I5e5fc106aaab1b55302c38717cad9dbf1281baec
2020-10-13 04:46:38 +00:00
Junyu Lai
5d2e89e03d Merge "Support dynamically update IMSI" 2020-10-13 02:41:47 +00:00
junyulai
e60d9a82c9 Support dynamically update IMSI
Currently, NetworkStatsSubscriptionsMonitor will skip the
listener registration until the IMSI is available to deal
with SIM PIN locked case. However, this solution can only
handle the case that IMSI changes from/to null. And it also
relies on the assumption that IMSI never changes for a subId.

Thus, support dynamically update IMSI to handle IMSI changes
more robustly.

This patch also address leftover comments at ag/12400327.

Test: enable SIM PIN and manually test
Test: atest NetworkStatsSubscriptionsMonitorTest#testSubscriberIdUnavailable
Test: atest NetworkStatsSubscriptionsMonitorTest#testSubscriberIdChanged
Test: ./out/host/linux-x86/bin/statsd_testdrive 10082
Bug: 160941101

Change-Id: I625a5b10ee4806f6fee99c2d9d6c5e7977ff785e
2020-10-12 15:31:02 +08:00
Lorenzo Colitti
e36395f116 Merge "Speculatively fix L2TP keepalive issues by reducing mtu" am: 392b52f49f am: 926d1ee880 am: 649c2bbbd8 am: 72432ab0f4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1399646

Change-Id: Iba6098badc018fa64b1c5fc20177b97a81a2e685
2020-10-12 01:48:18 +00:00
Lorenzo Colitti
392b52f49f Merge "Speculatively fix L2TP keepalive issues by reducing mtu" 2020-10-12 00:40:44 +00:00
Chiachang Wang
d2ca3eb2f0 Merge "Update to positive logic to better match the method naming" am: 1c7bc039ea am: a7136c6340 am: 50d0fa47ee am: ff3649cd5d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1450336

Change-Id: I111b7fa8eaecbec7e65357f7b9aa9b3f369d00c9
2020-10-07 10:19:15 +00:00
Chiachang Wang
8c1372ed1d Update to positive logic to better match the method naming
The method checkInterfacePresent seems that should return if the
interface is present or not, but it actually return an opposite
result. It may confuse the caller. E.g. The override method in
VpnTest assume it always returns true in the test. It will fail
the vpn start flow due to interface gone.

Bug: 169215213
Test: atest FrameworksNetTess
Change-Id: I3e9a64f0900336b8205674b94db68f090b4e9ff9
2020-10-07 06:48:15 +00:00
Eran Messeri
4634589e41 Refactoring: Use explicit methods for checking DO/PO
Do not use USES_POLICY_PROFILE_OWNER / USES_POLICY_DEVICE_OWNER.
Instead, use explicit methods for checking if the caller is
the Device Owner or Profile Owner.

USES_POLICY_PROFILE_OWNER is confusing since internally in the
DevicePolicyManagerService, it implied a Device Owner is also a
Profile Owner, which is not always what the caller expected.

This is the first phase of the refactoring, removing external calles'
dependency on these constants. The next phase will remove them
internally completely in favour of an implementation that
accesses mOwners directly.

There are no functional changes in this CL.

Bug: 163028934
Test: atest FrameworksServicesTests:DevicePolicyManagerTest
Change-Id: I57c8465d190a3b4b130d57fd622cc93eaeb9c717
2020-10-06 10:34:23 +01:00
Benedict Wong
5113da7e85 Speculatively fix L2TP keepalive issues by reducing mtu
This change reduces MTU/MRU values for racoon/pppd from 1400 to 1388 in
an attempt to fix keepalive issues experienced in the field.

Bug: 119076193
Test: Speculative change, original issues were not reproducible.
Change-Id: I7731503260fdc8bcbc6c5fcda6991ead6fb7c52e
2020-09-28 20:55:55 -07:00
Benedict Wong
d832e6dcd7 Merge "Provide more feedback to Settings when sessions fail" am: 9df1022c7a am: da78e17b0a am: 6d6a965712 am: d98ecc564a am: 0be82d4f4c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1399645

Change-Id: I9a2a801100d3965d38e95c80ece5f4bc0b35cbc8
2020-09-25 19:51:16 +00:00
Benedict Wong
9df1022c7a Merge "Provide more feedback to Settings when sessions fail" 2020-09-25 17:25:02 +00:00
Benedict Wong
1d0275d98b Provide more feedback to Settings when sessions fail
This change updates the VPN state when IKEv2 sessions fail, and when
configuration errors occur.

Bug: 162289824
Test: Manual testing with IKEv2/PSK
Change-Id: I2e8c6f421d2898f97b0ac422b2276edf9ef923f1
2020-09-24 23:32:09 -07:00
Junyu Lai
770a713cf7 Merge "Skip stop if keepalive is already in stopping state" am: cb79f645d4 am: 65bcfe173f am: b3692b0365 am: c2cc33a706 am: 3c617422b5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1424190

Change-Id: I46a3c91dd56d806fc06388ad448bd641a0db0ae4
2020-09-24 04:52:57 +00:00
junyulai
08ea47d0a1 Skip stop if keepalive is already in stopping state
In current design, crash has been generated when stop function
has been re-entered to catch unexpected behavior. However,
it is possible to re-enter stop function if the network
disconnection occurs after stopping.

Thus, skip stop if keepalive is already in stopping state.

Test: atest ConnectivityServiceTest#testNattSocketKeepalives \
      --rerun-until-failure 60000
Bug: 167332570
Change-Id: Ic7068ad3dc990e957c37b8d87d48ebb6469b101f
2020-09-17 19:51:34 +08:00
Xin Li
628590d7ec Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27
Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-08-31 21:21:38 -07:00
Junyu Lai
e0f4a9bb6c Merge "Notify the keepalive is stopped after the slot has been released" am: 6d7c1854a8 am: b5e1feccbe am: 09ab7ad386 am: 4295a632b4 am: fcc06d418e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1112851

Change-Id: I86b9c01f99eaa9497acbd4e3e481c7330cf05667
2020-08-28 12:30:17 +00:00
Junyu Lai
09ab7ad386 Merge "Notify the keepalive is stopped after the slot has been released" am: 6d7c1854a8 am: b5e1feccbe
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1112851

Change-Id: Icdd61fb39ebd14963f4ec6e591b3a245e6b999b2
2020-08-28 11:09:43 +00:00
Junyu Lai
6d7c1854a8 Merge "Notify the keepalive is stopped after the slot has been released" 2020-08-28 10:12:44 +00:00
TreeHugger Robot
316b514902 Merge "Deprecated UserManager.getUsers(excludeDying) / added getAliveUsers()" 2020-08-26 05:37:22 +00:00
Treehugger Robot
5a4238cd78 Merge "Skip RAT type listener registration if IMSI is not available" am: b74cd6eb18 am: 649667642c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1409907

Change-Id: I34de6bc6dd862f8042489f60f4b6be76af7c961e
2020-08-25 20:49:04 +00:00
Treehugger Robot
b74cd6eb18 Merge "Skip RAT type listener registration if IMSI is not available" 2020-08-25 19:55:09 +00:00
junyulai
781bce9c7f Skip RAT type listener registration if IMSI is not available
Currently, if SIM is inserted but IMSI is not available, such
as SIM PIN locked state. Information of such SIM will still
be available but IMSI is not. Which makes
NetworkStatsSubscriptionMonitor failed to store IMSI locally
for later RAT type query. Hence, NETWORK_TYPE_UNKNOWN is
always returned for such SIM.

Skip the registration until the IMSI is available. This is safe
since there will be another onSubscriptionsChanged event when
that happens.

Test: enable SIM PIN and manually test
Test: atest NetworkStatsSubscriptionsMonitorTest#testSubscriberIdUnavailable
Test: ./out/host/linux-x86/bin/statsd_testdrive 10082
Bug: 160941101
Merged-In: I408379b3c432d9e62e0837d6b4f6551cc7838e29
Change-Id: I408379b3c432d9e62e0837d6b4f6551cc7838e29
(cherry-picked from ag/12400327)
2020-08-25 18:03:38 +08:00
Felipe Leme
6dc6d2b964 Deprecated UserManager.getUsers(excludeDying) / added getAliveUsers()
The existing method is confusing (the argument used to be called
includeDying) and it puts the burden on the caller (which need to
understand what the parameter means).

Furthermore:

- The majority of calls are for getUsers(excludeDying=true).
- The calls for getUsers(excludeDying=false) are equivalent to
  calls to getUsers()

Test: m
Test: a VpnTest ConnectivityServiceTest PermissionMonitorTest

Bug: 157921703
Change-Id: Ife767a40b7b7790ba28b5377046de822ddbf275c
2020-08-24 16:19:26 -07:00
Paul Hu
e94f3f922a Merge "Revert "[RFPM03] Check permission by uid."" am: 50bb631f03 am: 6c6c7cdb81 am: 45f2280d3a am: 1c66746130 am: ad67c0bbd9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1404654

Change-Id: I3f6108034a4dfcbae9e5d5cf466e924229f33965
2020-08-20 09:48:16 +00:00
Paul Hu
e458f8d4cd Merge "Revert "[RFPM04] Adjust hasRestrictedNetworkPermission method"" am: aad5331ee2 am: 4143779e4b am: bcc1edb897 am: 4f3df4b152 am: 3ad1384309
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1404653

Change-Id: Id24e6a79676aebfcc61f9b507ad8fca25b35b424
2020-08-20 09:47:22 +00:00
Paul Hu
45f2280d3a Merge "Revert "[RFPM03] Check permission by uid."" am: 50bb631f03 am: 6c6c7cdb81
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1404654

Change-Id: I393e91873923d7b6601d4e8c863cca6986f66f23
2020-08-20 08:52:04 +00:00
Paul Hu
bcc1edb897 Merge "Revert "[RFPM04] Adjust hasRestrictedNetworkPermission method"" am: aad5331ee2 am: 4143779e4b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1404653

Change-Id: Ifa19cb8fce8dca66ac5f4ecc7737c1c095b7b35b
2020-08-20 08:51:45 +00:00
Paul Hu
84aaef1274 Merge "Revert "[RFPM05] Add UidNetdPermissionInfo class"" am: f8115452a7 am: 654c328426 am: 62160754cf am: 1f8fc11362 am: 5ded9f9cca
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1404652

Change-Id: I10a4be2a1b88ddcc67d0b3467f9288b9c36f3b18
2020-08-20 08:27:03 +00:00
Paul Hu
50bb631f03 Merge "Revert "[RFPM03] Check permission by uid."" 2020-08-20 08:24:30 +00:00
Paul Hu
aad5331ee2 Merge "Revert "[RFPM04] Adjust hasRestrictedNetworkPermission method"" 2020-08-20 08:14:48 +00:00
Paul Hu
62160754cf Merge "Revert "[RFPM05] Add UidNetdPermissionInfo class"" am: f8115452a7 am: 654c328426
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1404652

Change-Id: I9edf5bfaa9cbc037e87f5781ba07a2c87932f3aa
2020-08-20 07:04:43 +00:00
Paul Hu
f8115452a7 Merge "Revert "[RFPM05] Add UidNetdPermissionInfo class"" 2020-08-20 06:25:06 +00:00
Paul Hu
7e947abcb5 Revert "[RFPM03] Check permission by uid."
This reverts commit ab4ad20eef.

Reason for revert: Regression in SW.  Bug:162499840

Change-Id: Ic93e762e41a728f66e200e5bc8e40ebe4c7b44f7
2020-08-20 06:23:16 +00:00
Paul Hu
2878288b3a Revert "[RFPM04] Adjust hasRestrictedNetworkPermission method"
This reverts commit 29100e8892.

Reason for revert: Regression in SW.  Bug:162499840

Change-Id: I96bf28ffc9f2d8f3838cb6d2dac16f89a70177ed
2020-08-20 06:23:00 +00:00
Paul Hu
93b5848141 Revert "[RFPM05] Add UidNetdPermissionInfo class"
This reverts commit 26263b3cd0.

Reason for revert: Regression in SW.  Bug:162499840

Change-Id: I0e846efcc4fc06b53d97b2007e0d8e8f97c6ac10
2020-08-20 03:10:08 +00:00
junyulai
eed8c6bb26 Notify the keepalive is stopped after the slot has been released
Currently, the callbacks of stopping were fired when stop procedure
is started, because the upper layer apps only care about the reason
of stopping instead of stopping result. Thus, there is no need to
wait for the result comes back. However, this behavior generates
races if apps want to re-start keepalive immediately since the
resources are not released yet.

Fix: 134891441
Fix: 140305589
Test: atest com.android.server.ConnectivityServiceTest#testPacketKeepalives \
      --rerun-until-failure 1000

Change-Id: I987776a9211a50e964c4675b747bc10e203750f1
2020-08-20 11:00:08 +08:00
Junyu Lai
7f409aab46 Merge "Skip RAT type listener registration if IMSI is not available" 2020-08-20 02:20:31 +00:00
junyulai
80a8a63079 Skip RAT type listener registration if IMSI is not available
Currently, if SIM is inserted but IMSI is not available, such
as SIM PIN locked state. Information of such SIM will still
be available but IMSI is not. Which makes
NetworkStatsSubscriptionMonitor failed to store IMSI locally
for later RAT type query. Hence, NETWORK_TYPE_UNKNOWN is
always returned for such SIM.

Skip the registration until the IMSI is available. This is safe
since there will be another onSubscriptionsChanged event when
that happens.

Test: enable SIM PIN and manually test
Test: atest NetworkStatsSubscriptionsMonitorTest#testSubscriberIdUnavailable
Test: ./out/host/linux-x86/bin/statsd_testdrive 10082
Bug: 160941101
Change-Id: I408379b3c432d9e62e0837d6b4f6551cc7838e29
2020-08-19 15:15:51 +08:00
Chalard Jean
15292d87fb Merge "Rename Kotlin util files to not include the Kt suffix" am: b1a3247ab4 am: 9da93f616e am: 70572e1b82 am: a0794291ec am: a822fb621b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1350084

Change-Id: I89b50df2ea418f609d4ce7919f3154f54a1379b1
2020-08-13 05:14:14 +00:00
Chalard Jean
70572e1b82 Merge "Rename Kotlin util files to not include the Kt suffix" am: b1a3247ab4 am: 9da93f616e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1350084

Change-Id: I6362695120ea8669e1da84bb686e886b85efd6a3
2020-08-13 04:26:11 +00:00
Chalard Jean
b1a3247ab4 Merge "Rename Kotlin util files to not include the Kt suffix" 2020-08-13 03:52:47 +00:00
Chiachang Wang
35d1db163b Merge "Update language to comply with Android's inclusive language guidance" am: 2dd299c5db am: 0e7aefd000 am: 139402e852 am: 7ca59bc74f am: c70025945b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1379156

Change-Id: Ib455b42f7f360b75a295f86fd5166125fd0f69aa
2020-08-12 10:58:30 +00:00
Chiachang Wang
139402e852 Merge "Update language to comply with Android's inclusive language guidance" am: 2dd299c5db am: 0e7aefd000
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1379156

Change-Id: Ibe13b2dad841e2ade2762558d1c3978a89cb825d
2020-08-12 10:10:11 +00:00
Chiachang Wang
2dd299c5db Merge "Update language to comply with Android's inclusive language guidance" 2020-08-12 09:30:11 +00:00
Paul Hu
1e527bc5b2 Merge "[RFPM05] Add UidNetdPermissionInfo class" am: 06697e0c43 am: f23a7a2d14 am: 30c2dc100e am: 9a46adade5 am: fc9c753145
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322556

Change-Id: Ibf808ce55a63335a287c34fefee8a0bf50105db4
2020-08-12 07:42:57 +00:00
Paul Hu
30c2dc100e Merge "[RFPM05] Add UidNetdPermissionInfo class" am: 06697e0c43 am: f23a7a2d14
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1322556

Change-Id: I0878281e2033f093f3b9cbf608c30c44bdd99278
2020-08-12 06:53:13 +00:00
Paul Hu
06697e0c43 Merge "[RFPM05] Add UidNetdPermissionInfo class" 2020-08-12 06:17:46 +00:00
Chiachang Wang
97698a6fc5 Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code
for reference.

Bug: 161896447
Test: m ; atest FrameworkNetTests
Change-Id: Ib6b4c9526992c31e05e82be80e2b9b86bc0b57ef
2020-08-12 12:23:59 +08:00
paulhu
26263b3cd0 [RFPM05] Add UidNetdPermissionInfo class
Add UidNetdPermissionInfo class to store netd permission info of
each uid. Use the bit mask for combining all netd permission into
one value which can update and get the uid permission easily.
Moreover, aosp/1340042 add carryover package info into this class
which centralizes all netd permissions relevant data.

Bug: 132784544
Test: atest FrameworksNetTests
Change-Id: I3b81ea2a5017e8f4d0d603144a33c9b08640d7ba
2020-08-12 10:33:18 +08:00
Chalard Jean
77f8a30e29 Rename Kotlin util files to not include the Kt suffix
Callers don't care what language the utilities are written in

Test: builds
Change-Id: Ie212144f36c50db223c05f3fcb6bad745842cb5e
2020-08-12 10:02:50 +09:00