Commit graph android_packages_modules_Co.../tests/unit/java/com/android/server
Message SHA1
Merge "Fallback should be evaluated for each preference" am: 5ea6f517a6 am: 8522fc4532
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2092882

Change-Id: I232ff4d279e7e2d26654637247967055f2e666e4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Sooraj Sasindran   authored and   Automerger Merge Worker   commited 2022-05-12 00:56:06 +00:00
95aa795f56
Merge changes I5eaeb415,I236f1550 am: 7d180e679a am: af3dffefd7
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2015175

Change-Id: Ib20e505f1a6776a49e0c7bfc31a709328e77edf5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Paul Hu   authored and   Automerger Merge Worker   commited 2022-05-12 00:55:45 +00:00
0554b3e11b
Merge "Fallback should be evaluated for each preference"
Sooraj Sasindran   authored and   Gerrit Code Review   commited 2022-05-11 21:05:18 +00:00
5ea6f517a6
Fallback should be evaluated for each preference
1) alowFallback flag was incorrectly not reset while setting profile
   preference. Corrected it.

2) Threw exception if default preference and enterprise preference are
set together

3) renamed clearUser to withoutUser

Bug: 231670730
Test: ConnectivityServiceTest

Change-Id: Iaf49237bdc791c7e1dd884d069eff64e74757477

Sooraj Sasindran   commited 2022-05-10 22:11:55 -07:00
b0e283c900
Merge changes I5eaeb415,I236f1550
* changes:
  Check carrier privilege for CBS network requests synchronously
  Allow 3p apps to request restricted networks

Paul Hu   authored and   Gerrit Code Review   commited 2022-05-10 14:38:30 +00:00
7d180e679a
Check carrier privilege for CBS network requests synchronously
Normally if an app calls requestNetwork with capabilities that it
does not have permission to request, it gets a SecurityException,
except if it requests NET_CAPABILITY_CBS, in which case the request
will not throw but the app will get an onUnavailable callback.

Make this codepath throw as well. This simplifies the code and makes
the app-visible behaviour more consistent (and consistent with what
happens in S and below). The reason the code was written this way is because the carrier privilege app should receive a callback if it
loses permission. But onUnavailable is also not the best callback to
send, since it is used very rarely and also releases the app's
request. It seems better to leave the request registered and send
onLost.

Test: atest FrameworksNetTests
Bug: 194332512
Change-Id: I5eaeb415a6654851246e38599a996fbd9366fde0

junyulai   authored and   Paul Hu   commited 2022-05-10 10:26:54 +00:00
96bd9fe4de
Merge "Do not remove profile network preference for different uids" am: 42791188b2 am: e625192614
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2076720

Change-Id: I6cbdc8dedb869a45190482e8c5f71d8278f5ba59
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Lorenzo Colitti   authored and   Automerger Merge Worker   commited 2022-05-09 14:26:47 +00:00
784d9b492c
Merge "Add more tests for setProfileNetworkPreferences" am: a457b6fdf1 am: d248be0c71
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2083223

Change-Id: Ia92b4bc8b691163ae15ba36c98bd136ec7106a3d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Sooraj Sasindran   authored and   Automerger Merge Worker   commited 2022-05-09 14:26:37 +00:00
235dfbd6a8
Merge "Do not remove profile network preference for different uids"
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2022-05-09 09:40:52 +00:00
42791188b2
Merge "Add more tests for setProfileNetworkPreferences"
Sooraj Sasindran   authored and   Gerrit Code Review   commited 2022-05-09 09:12:48 +00:00
a457b6fdf1
Merge "Improve logging for NetworkStatsObservers" am: ef1fdc95dd am: b5fa10f4cf
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2085625

Change-Id: I0e7c0ef887764b5f513f6a974c4adbab12c8bc7a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Junyu Lai   authored and   Automerger Merge Worker   commited 2022-05-07 02:52:03 +00:00
f85b4ad8d8
Merge "Improve logging for NetworkStatsObservers"
Junyu Lai   authored and   Gerrit Code Review   commited 2022-05-07 02:11:07 +00:00
ef1fdc95dd
Merge "Support QosCallback with UDP socket. UnitTest" am: baabe211be am: 889bef0398
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2019537

Change-Id: I06e1cce27c4faaf942756160810e8335358bd021
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Sewook Seo   authored and   Automerger Merge Worker   commited 2022-05-06 21:40:22 +00:00
83583570e8
Merge "Support QosCallback with UDP socket. UnitTest"
Sewook Seo   authored and   Gerrit Code Review   commited 2022-05-06 20:47:05 +00:00
baabe211be
Do not remove profile network preference for different uids
Multiple enterprise slice can be setup within single user profile based
on different uids. So do not remove profile network preference with same
user profile but with different uids

Bug: 229644102
Test: manual system test and ConnectivityServciceTest
Change-Id: I897b643e01240958fff575de9e15182069efc698

Sooraj Sasindran   commited 2022-05-06 00:58:33 -07:00
9cc129f37d
Add more tests for setProfileNetworkPreferences
1. Test that adding a new preference replaces the existing preference.
2. Test that if we pass in two simultaneous preferences for the same user.
   (e.g., two different groups of apps), the second overrides the first.

Bug: 229644102
Test: ConnectivityServciceTest
Change-Id: I819247711f8457b12792585216ff47be31457ae8

Sooraj Sasindran   commited 2022-05-06 00:58:28 -07:00
95e02c5d5a
Merge "ClatCoordinator: replace BpfMap with IBpfMap" am: 93c35bdd78 am: 0098a3313f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2088123

Change-Id: Ic604849c29a403bf3004c62a60f709ff76c7128b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Nucca Chen   authored and   Automerger Merge Worker   commited 2022-05-06 06:15:43 +00:00
2b0673f70f
ClatCoordinator: replace BpfMap with IBpfMap
Test: atest ClatCoordinatorTest
Change-Id: I3d046d4f195be6bbedc15df08114fafb2b77c2d3

Hungming Chen   commited 2022-05-05 23:48:37 +08:00
12c625bbf8
Merge "Open and close clat bpf map while clat is starting and stoping" am: e01d2733bc am: e196eafcdb
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2085871

Change-Id: I2f4450f50d32644a8483fc115ee380dc409a8c49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Nucca Chen   authored and   Automerger Merge Worker   commited 2022-05-05 13:44:17 +00:00
54169ca53b
Open and close clat bpf map while clat is starting and stoping
BpfMap class supports AutoCloseable interface which closes
file descriptor only in try-exit. BpfMap class doesn't close
fds while the object is released.

Change the timing of opening and closing bpf map file descriptors
to clat is starting and stoping.

Moreover, the reason that manual close BPF map file descriptors is
as follows. Just don't rely on that GC releasing to close the file
descriptors even if class BpfMap supports close file descriptor in
finalize(). If the interfaces are added and removed quickly, too
many unclosed file descriptors may cause unexpected problems.

Bug: 230880517
Test: manual test
Steps:
1. Connect to IPv6 only wifi (GoogleGuest) and mobile data
2. Check that map fds are appeared:
   /proc/$(system_server_pid)/fd/$(bpf_map_fd)

$ adb shell ps | grep system_server
system        1929   825 20311224 730060 do_epoll_wait      0 S system_server

$ adb shell ls -all proc/1929/fd | grep bpf-map
.. system system 64 2022-05-05 13:36:42 .. 331 -> anon_inode:bpf-map
.. system system 64 2022-05-05 13:36:42 .. 348 -> anon_inode:bpf-map

3. Check the clat maps are added.
$ adb shell dumpsys connectivity
NetworkAgentInfo{network{105}  handle{454377263117}  ni{WIFI ..
Nat464Xlat:
..
  Forwarding rules:
    BPF ingress map: iif nat64Prefix v6Addr -> v4Addr oif
      47 /64:ff9b::/96 /2a00:79e1:abc:6f02:f182:6c29:ab56:9961 -> /192.0.0.4 62
    BPF egress map: iif v4Addr -> v6Addr nat64Prefix oif
      62 /192.0.0.4 -> /2a00:79e1:abc:6f02:f182:6c29:ab56:9961 /64:ff9b::/96 47 ether
NetworkAgentInfo{network{106}  handle{458672230413}  ni{MOBILE[LTE] ..
    Nat464Xlat:
      <not start>

4. Disconnect from wifi

5. Check that map fds are disappeared:
   /proc/$(system_server_pid)/fd/$(bpf_map_fd)

$ adb shell ls -all proc/1929/fd | grep bpf-map
(fd 331 and 348 were not found)

Change-Id: I60c0301bf00beae5cf5ab3535c6a3da68a2a4a9b

Hungming Chen   commited 2022-05-05 18:53:37 +08:00
c03323c8ef
Support QosCallback with UDP socket. UnitTest
Adding unit tests to QosSocketFilterTest

Bug: 203146631
Test: atest & verified on LTE test equipment
Change-Id: I0cd82dde0067d754dfab01ed0406370d7debb937

sewookseo   authored and   Sewook Seo   commited 2022-05-05 08:45:00 +00:00
04ced836b8
Improve logging for NetworkStatsObservers
In order to have better logging to gather information
about the callers. This change includes:
 1. Add pid and package name into RequestInfo for better logging.
 2. Print current observers in dumpsys section.
 3. Enable register/unregister usage request logging by default.

The log added in the dumpsys section looks like:
Stats Observers:
  RequestInfo from pid/uid:2001/1000(android) for DataUsageRequest [...] accessLevel:3
  ...

Test: NetworkStatsObserversTest
Bug: 229103088
Change-Id: Ide68776dc279610e8dee0efd924b59a1fac2b7b6

Junyu Lai   commited 2022-05-05 16:30:50 +08:00
c259e615e6
Merge "Test [set|get]AppExclusionList" am: 34a257ad5f am: 227e4f18a5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2076483

Change-Id: I93b2b057f6c2ab0fd63f2d39de5eefad0743ddc1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Chiachang Wang   authored and   Automerger Merge Worker   commited 2022-05-05 02:20:04 +00:00
e85648b4a5
Test [set|get]AppExclusionList
Bug: 192078259
Test: atest FrameworksNetTests
Change-Id: Iee81d84b4127420121ce2d5a7defc3dbe34b6cde

chiachangwang   authored and   Chiachang Wang   commited 2022-05-04 10:13:46 +00:00
218d5652de
Merge "Follow-up 2076940: Allow device owner to configure profile network preference " am: a14bd2a032 am: 82e76fab0a
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2083405

Change-Id: I6e6f284076e1eb4de8dc09b7eebdbf2eff19ae95
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Treehugger Robot   authored and   Automerger Merge Worker   commited 2022-05-02 15:49:56 +00:00
2d30a274d9
Merge "Follow-up 2076940: Allow device owner to configure profile network preference "
Treehugger Robot   authored and   Gerrit Code Review   commited 2022-05-02 15:00:55 +00:00
a14bd2a032
Follow-up 2076940: Allow device owner to configure profile network preference
https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2076940

Fixes build failure


Bug: 231104107
Test: tests/unit/java/com/android/server/ConnectivityServiceTest.java
Change-Id: I7b6a3880ce0b0b9ad6fc6aa7a5fd4e249bb1606d

Vadim Caen   commited 2022-05-02 09:22:32 +00:00
baade1ca1e
Merge "Allow device owner to configure profile network preference" am: 07a20408db am: 87f4d52d9f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2076940

Change-Id: I3c170a47f89bfe87cacdc7332cb318b63c05d5a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Sooraj Sasindran   authored and   Automerger Merge Worker   commited 2022-05-02 07:43:12 +00:00
19f11ae93c
Merge "Allow device owner to configure profile network preference"
Sooraj Sasindran   authored and   Gerrit Code Review   commited 2022-05-02 07:13:21 +00:00
07a20408db
Allow device owner to configure profile network preference
isMangedProfile returns true for managed profiles.
But enterprise device can be fully managed like device owner.
Hence check specifically if request is coming on fully managed
device.

Bug: 226966328
Bug: 231071836

Test: ran DevicePolicyManager CTS and ConnectivityServiceTest
Change-Id: I7827466bd61e24ba9c36c3a2e25043257e2ed602

Sooraj Sasindran   commited 2022-05-01 21:20:36 -07:00
bb65aa8fc2
Merge changes from topics "CATEGORY_ERROR_IKE", "CATEGORY_ERROR_NETWORK", "CATEGORY_ERROR_USER_DEACTIVATED", "CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED" am: 025a3c993a am: be18923405
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1956069

Change-Id: Idbb887a00e1e1b45a47bf1be4cadc89649ebbc0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Lucas Lin   authored and   Automerger Merge Worker   commited 2022-04-29 20:13:08 +00:00
f0b7e57ca7
Test VpnManager event for CATEGORY_EVENT_IKE_ERROR am: 827b44daea am: cef31c9562
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1956036

Change-Id: I3825e450f1e74217dfa6cfd41ceb8a1c487f64e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

lucaslin   authored and   Automerger Merge Worker   commited 2022-04-29 20:13:06 +00:00
ceebe448d7
Test VpnManager event for CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED am: 0772c169b5 am: 84992958f6
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2070968

Change-Id: I70eb9d90f41e0100ede17af4bd670ab422fe308e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

lucaslin   authored and   Automerger Merge Worker   commited 2022-04-29 20:13:04 +00:00
1c6fd861aa
Test VpnManager event for CATEGORY_EVENT_DEACTIVATED_BY_USER am: c5bf088ced am: 4ebe1bdd4f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1955936

Change-Id: I87d29e1078d8aa8a3516080ee438168e036af11e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

lucaslin   authored and   Automerger Merge Worker   commited 2022-04-29 20:13:01 +00:00
472ec76971
Test VpnManager event for CATEGORY_EVENT_IKE_ERROR am: 827b44daea
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1956036

Change-Id: Ifde51b2ee0c3e252911fca5314b2808e4adb94cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

lucaslin   authored and   Automerger Merge Worker   commited 2022-04-29 19:53:47 +00:00
cef31c9562
Test VpnManager event for CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED am: 0772c169b5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2070968

Change-Id: I51615394160058bc1defa4b298a8a61fb0b1a52e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

lucaslin   authored and   Automerger Merge Worker   commited 2022-04-29 19:53:44 +00:00
84992958f6
Test VpnManager event for CATEGORY_EVENT_DEACTIVATED_BY_USER am: c5bf088ced
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1955936

Change-Id: I08dfbc1cb8895bae5151c2ef1d7042d4f7c03e6b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

lucaslin   authored and   Automerger Merge Worker   commited 2022-04-29 19:53:39 +00:00
4ebe1bdd4f
Merge changes from topics "CATEGORY_ERROR_IKE", "CATEGORY_ERROR_NETWORK", "CATEGORY_ERROR_USER_DEACTIVATED", "CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED"
* changes:
  Test VpnManager event for CATEGORY_EVENT_NETWORK_ERROR
  Test VpnManager event for CATEGORY_EVENT_IKE_ERROR
  Test VpnManager event for CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED
  Test VpnManager event for CATEGORY_EVENT_DEACTIVATED_BY_USER

Lucas Lin   authored and   Gerrit Code Review   commited 2022-04-29 08:13:51 +00:00
025a3c993a
Test VpnManager event for CATEGORY_EVENT_NETWORK_ERROR
Bug: 191413541
Test: atest FrameworksNetTests:VpnTest
Change-Id: Idffd5f5f8fc6614281f3fb0884228a797d783fe3

lucaslin   authored and   Lucas Lin   commited 2022-04-26 01:10:10 +00:00
cfec723ef9
Test VpnManager event for CATEGORY_EVENT_IKE_ERROR
Bug: 191413541
Test: atest FrameworksNetTests:VpnTest
Change-Id: Iebc0ac281eb03fac9626c64e44cdd14be1462d89

lucaslin   authored and   Lucas Lin   commited 2022-04-26 01:10:03 +00:00
827b44daea
Test VpnManager event for CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED
Bug: 225010642
Test: atest FrameworksNetTests:VpnTest
Change-Id: I078be4e00470efd9d7a2a87b40919116b99c83b8

lucaslin   commited 2022-04-26 09:09:03 +08:00
0772c169b5
Test VpnManager event for CATEGORY_EVENT_DEACTIVATED_BY_USER
Bug: 191413541
Test: atest FrameworksNetTests:VpnTest
Change-Id: Idc876275b88c2f4ddeb85c43d37d5f657b0f307b

lucaslin   commited 2022-04-25 23:12:26 +08:00
c5bf088ced
adjust for new T bpfloader net_shared location am: 0736d7bd91 am: 2d59dc9854
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2071008

Change-Id: I1c90acd36a7105fcf9997c08443d3b624d487f76
Ignore-AOSP-First: this is an automerge
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-04-23 09:56:36 +00:00
d560797e5e
adjust for new T bpfloader net_shared location
(this is safe because on pre-T none of these maps and programs are mainlined
 and thus safe to access from mainline code anyway)

Test: TreeHugger, manual
Bug: 218408035
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I23e565d665247f33e084978890a1ee8ffe0fe568

Maciej Żenczykowski   commited 2022-04-23 09:03:06 +00:00
0736d7bd91
Merge "[CLATJ#27] Use ClatdCoordinator since T+ devices" am: b4bf6cea38 am: 8d75a93995
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1951099

Change-Id: I3878e5359349d8195e8741ea69ae437edab68909
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>

Maciej Żenczykowski   authored and   Automerger Merge Worker   commited 2022-04-21 14:34:12 +00:00
2fadc5413c
[CLATJ#27] Use ClatdCoordinator since T+ devices
- For clatd start and stop, use ClatdCoordinator on T+ and Netd on S-
- Fix the unit test for T+ and S- devices
  Note that mokito.verify(.., times(1)) is replaced by verify(..)
  because times(1) is the default and can be omitted.
  See verify in mockito/src/main/java/org/mockito/Mockito.java

Note that this commit needs to be merged with aosp/1956072.

Bug: 212345928
Test: atest FrameworksNetTests
      manual test
      1. Connect to ipv6-only wifi.
      2. Try IPv4 traffic.
         $ ping 8.8.8.8
      3. Check bpf entries are added
      4. Disconnect from ipv6-only wifi.
      5. Check bpf entries are removed
      6. testipv4.com shows 10/10

Change-Id: I7dfda6eec19de94e4258971effcd8a1210542473

Hungming Chen   commited 2022-04-21 13:24:36 +08:00
eb15a2d816
Fix permission bypass problem for Tethering deprecated APIs
Since the tethering functions in ConnectivityService is delegated
to TetheringManager instance and get caches informataion in
TetheringManager without checking ACCESS_NETWORK_STATE permission.
If application use reflection call getTetherXXX functions in
ConnectivityService, it can get tethering status with no additional
execution privileges needed.

Bug: 162952629
Test: manual
Ignore-AOSP-First: security fix
Change-Id: I5b897f216db19fead6ba6ac07915aa0f6ff5bf42

markchien   commited 2022-04-19 19:13:10 +08:00
28160b3141
Merge "Save appIds permissions for each user"
Natasha Lee   authored and   Gerrit Code Review   commited 2022-04-12 23:55:06 +00:00
7f85379b07
Save appIds permissions for each user
PermissionMonitor does not store any information regarding
traffic permission. It just checks permission from each package
and sends the result to netd. In addition, bpf can store traffic
permissions for appIds only because of memory limitations.

However, there is a mistaken permission overwriting when
different packages are installed on multi-user. Because
PermissionMonitor updates appIds traffic permissions to netd
from each user, so the permission result will depend on the
latest user state.

To fix the problem, save the traffic permissions by each user and
appId on PermissionMonitor. An appId has a permission if and
only if at least one uid in that appId has that permission.

bug: 224775316
Test: atest FrameworksNetTests CtsNetTestCases \
      CtsNetTestCasesUpdateStatsPermission \
      CtsNetTestCasesInternetPermission
Change-Id: Ieb01fb21f6201a58723eb7e6446b127627be2c0e

paulhu   commited 2022-04-12 11:06:46 +00:00
a501e47e19
Merge "Remove NativeDaemonConnector relevant files"
Paul Hu   authored and   Gerrit Code Review   commited 2022-04-12 07:37:16 +00:00
631c2387a6