Commit graph android_packages_modules_Co.../tests/net/java/com/android
Message SHA1
Merge "Skip RAT type listener registration if IMSI is not available"
Treehugger Robot   authored and   Gerrit Code Review   commited 2020-08-25 19:55:09 +00:00
7d9554c8c0
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)

junyulai   commited 2020-08-25 18:03:38 +08:00
f91b0237fe
Merge "Revert "[RFPM03] Check permission by uid.""
Paul Hu   authored and   Gerrit Code Review   commited 2020-08-20 08:24:30 +00:00
fc98e38215
Merge "Revert "[RFPM04] Adjust hasRestrictedNetworkPermission method""
Paul Hu   authored and   Gerrit Code Review   commited 2020-08-20 08:14:48 +00:00
c45d2d3848
Merge "Revert "[RFPM05] Add UidNetdPermissionInfo class""
Paul Hu   authored and   Gerrit Code Review   commited 2020-08-20 06:25:06 +00:00
07c54c9804
Revert "[RFPM03] Check permission by uid."
This reverts commit 8adb39a688.

Reason for revert: Regression in SW.  Bug:162499840

Change-Id: Ic93e762e41a728f66e200e5bc8e40ebe4c7b44f7

Paul Hu   authored and   Remi NGUYEN VAN   commited 2020-08-20 06:23:16 +00:00
9c60af3743
Revert "[RFPM04] Adjust hasRestrictedNetworkPermission method"
This reverts commit de5b46c10b.

Reason for revert: Regression in SW.  Bug:162499840

Change-Id: I96bf28ffc9f2d8f3838cb6d2dac16f89a70177ed

Paul Hu   authored and   Remi NGUYEN VAN   commited 2020-08-20 06:23:00 +00:00
b275ee6f41
Revert "[RFPM05] Add UidNetdPermissionInfo class"
This reverts commit 1daf973605.

Reason for revert: Regression in SW.  Bug:162499840

Change-Id: I0e846efcc4fc06b53d97b2007e0d8e8f97c6ac10

Paul Hu   commited 2020-08-20 03:10:08 +00:00
dfb26833f0
Merge "Rename Kotlin util files to not include the Kt suffix"
Chalard Jean   authored and   Gerrit Code Review   commited 2020-08-13 03:52:47 +00:00
9f2f0ce903
Merge "Update language to comply with Android's inclusive language guidance"
Chiachang Wang   authored and   Gerrit Code Review   commited 2020-08-12 09:30:11 +00:00
e559544470
Merge "[RFPM05] Add UidNetdPermissionInfo class"
Paul Hu   authored and   Gerrit Code Review   commited 2020-08-12 06:17:46 +00:00
829abbcb31
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

Chiachang Wang   commited 2020-08-12 12:23:59 +08:00
263ce447ca
[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

paulhu   commited 2020-08-12 10:33:18 +08:00
1daf973605
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

Chalard Jean   commited 2020-08-12 10:02:50 +09:00
39175f2670
Merge "Resolve the endpoint in legacy VPN"
Chalard Jean   authored and   Gerrit Code Review   commited 2020-08-06 12:51:50 +00:00
f54a70cdcd
Merge "Add a test for starting the legacy VPN."
Chalard Jean   authored and   Gerrit Code Review   commited 2020-08-06 12:50:50 +00:00
20c118c89d
Resolve the endpoint in legacy VPN
This adds code to resolve the endpoint in the legacy VPN
runner if it was specified as a hostname, and enables the
previously added test that was disabled because this was
broken until this patch. See the linked bug for details.

This patch uses the async DNS API to do the resolution.
This lets the resolution be fully cancellable, though the
code is more complex than with the non-interruptible
getByName.

Test: VpnTest and in particular VpnTest#testStartRacoon
      Fixes the test meant to test this
      Also manual testing that resolution of a real
      hostname works as expected, that failure to resolve
      returns correctly, and that cancellation/interruption
      will unblock the thread and terminate immediately.
Bug: 158974172
Change-Id: I714985f3c7919dad9c1854830c50f29c1f94a21e

Chalard Jean   commited 2020-08-06 17:29:59 +09:00
950d10f9cb
Add a test for starting the legacy VPN.
The legacy VPN has, among many parameters, a host to connect to.
This host can be specified as a numeric address, or as a hostname.
When it's a name, resolution is required. Currently, name
resolution is performed by the native VPN daemons racoon and
mtpd. When a hostname is used, the framework does not know the
IP address of the VPN server and does not add a throw route for
the VPN server IP address. On older kernels this does not matter
because the legacy PPP kernel code binds the PPP socket to the
right network, but on newer devices that use the upstream PPP
code, this does not work. See b/133797637.

This patch instruments the legacy VPN code so that it can be
run in tests, and uses this instrumentation to simulate passing
a configuration that contains a host, and verifies that the
arguments passed to the mptd and racoon daemons receive the
expected server address, and that the expected throw route is
correctly installed.
It then adds two tests : one specifying the server as a numeric
address, and one as a hostname. As the resolution is currently
broken, the latter of these tests is added disabled, and the
followup fix to the issue enables it.

This test is basic and very targeted, but it's what we need right
now. Also there are plans to remove this entire code path in S, so
the test being ad-hoc is not much of a problem.

Test: this
Bug: 158974172
Change-Id: I420b63db03a58e8c67a98a85c9f4c2d6ed7ad078
(cherry picked from commit 45846a03051a13d667732288e457eab4336a691e)

Chalard Jean   commited 2020-08-06 17:16:00 +09:00
c9077f2a38
Merge "[RFPM04] Adjust hasRestrictedNetworkPermission method"
Paul Hu   authored and   Gerrit Code Review   commited 2020-08-03 10:37:52 +00:00
2933a04749
Merge "[Telephony Mainline] Rename getActiveAndHiddenSubscriptionIdList and guard with permission"
Peter Wang   authored and   Gerrit Code Review   commited 2020-07-31 08:43:44 +00:00
c80aabbd2e
Move utils from network stack to libs.
This package is using some common utilities from
a library that used to live in the network stack.
A better home for these utilities is frameworks/libs,
so this topic moves the files ther and also changes
the package of some utilities.

See aosp/1350222 and aosp/1350182 for a detailed
description of the specific files that moved.

Test: checkbuild
Change-Id: I76a9b7790f3997e3e6b3c2f75ba6308286457cde

Chalard Jean   commited 2020-07-29 21:15:48 +09:00
3b7591e1f5
[RFPM04] Adjust hasRestrictedNetworkPermission method
There are two parts in hasRestrictedNetworkPermission method.
One is carryover package check and one is uid permission
check. Seperate carryover package check part to another method
to be clearer the usage of hasRestrictedNetworkPermission method.

Bug: 132784544
Test: atest FrameworksNetTests
Change-Id: Iab0609fcaa52acb0dfcb31ca957f22bfe8d62392

paulhu   commited 2020-07-29 14:14:27 +08:00
de5b46c10b
Merge "[RFPM03] Check permission by uid."
Paul Hu   authored and   Gerrit Code Review   commited 2020-07-29 05:41:32 +00:00
563de5b8c7
Merge "Gracefully handle integer overflows."
Junyu Lai   authored and   Gerrit Code Review   commited 2020-07-29 01:19:07 +00:00
cdb1f03144
Merge "Update language to comply with Android's inclusive language guidance"
Chiachang Wang   authored and   Gerrit Code Review   commited 2020-07-28 10:51:53 +00:00
f702025bdf
[RFPM03] Check permission by uid.
PermissionMonitor check permission by each package name but only
update the uid permission to netd. It's better to check
permission by uid directly. Thus, use
ActivityManager#checkUidPermission to check permissions for each
uid.

Bug: 132784544
Test: atest FrameworksNetTests
Change-Id: I057d34383b4dc408b2773e4c6b146774ba0c5eb2

paulhu   commited 2020-07-28 18:23:38 +08:00
8adb39a688
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
Change-Id: I6c3c03c0c2d1302af6d5245486823c13a3432900

Chiachang Wang   commited 2020-07-28 15:36:30 +08:00
3b9549f408
Gracefully handle integer overflows.
Avoid recording negative data by doing integer-based
math as much as possible, but switch to double-based
math if we detect that we'd end up causing an overflow.

Test :

    - Builds, Boots
    - High data throughput scenarios
    - NetworkStatsHistoryTest, NetworkStatsCollectionTest,
      NetworkStatsTest

Bug: 119527458
Change-Id: I55d4aa649bea3ae201ad513074ff2b71cb918dad

Pavan Kumar M   commited 2020-07-28 11:36:49 +05:30
e55ab87e5d
Attribute data usage to virtual RAT type for 5G non-standalone mode
Test: atest NetworkStatsSubscriptionsMonitorTest#test5g
Bug: 160727498
Change-Id: I8753e68140c0993773017c9a49bd8a666a364071
Merged-In: I8753e68140c0993773017c9a49bd8a666a364071
(cherry-picked from ag/12167624)

junyulai   commited 2020-07-16 18:22:09 +08:00
c3e3a1d0ef
[Telephony Mainline] Rename getActiveAndHiddenSubscriptionIdList and
guard with permission

Bug: 150878235
Fix: 150878235
Test: Build
Change-Id: I7f3b1f5170e032336d9b39b322c49e2b92573586
Merged-In: I7f3b1f5170e032336d9b39b322c49e2b92573586

Peter Wang   commited 2020-07-16 02:01:06 -07:00
1041764067
Revert "Attribute data usage to 5G for 5G non-standalone mode"
This reverts commit dc31686c31.

Reason for revert: Revert and wait for the design is settled down.

Change-Id: I10fdfc37d6456678de1886698cd6ad08bf8aa810

Junyu Lai   commited 2020-07-10 03:43:19 +00:00
43b3142dc3
Attribute data usage to 5G for 5G non-standalone mode
Test: atest NetworkStatsSubscriptionsMonitorTest#test5g
Bug: 160727498

Change-Id: I563df14500caeb3602b381479afaf5163ad8e6a1

junyulai   commited 2020-07-09 16:56:54 +08:00
dc31686c31
[RFPM02] Add Dependencies class for injection in tests.
Add Dependencies class in PermissionMonitor for injection
in tests easily.

Bug: 132784544
Test: atests FrameworksNetTests
Change-Id: Ibb84d548908f7a955fa0ff206794486733259978

paulhu   commited 2020-07-08 15:30:42 +08:00
a1a8814b82
Revert "Test IPv6ProvisioningLossParcelable in the NetworkAttrib..."
Revert "Add new network quirk parcelable in the NetworkAttributes."

Revert submission 1323251-ipv6_prov_loss_quirk_parcelable

Reason for revert: Breaks CtsStrictJavaPackagesTestCases
Reverted Changes:
I18e05c09f:Add new network quirk parcelable in the NetworkAtt...
I8dbff2377:Test IPv6ProvisioningLossParcelable in the Network...

Change-Id: Ie906919b344131cd768fbed787248d3caac2f74d

Chalard Jean   commited 2020-07-01 01:46:26 +00:00
f90e5bcc2a
Test IPv6ProvisioningLossParcelable in the NetworkAttributes.
Bug: 157534516
Test: atest FrameworksNetTests
Change-Id: I8dbff2377457bb8fd0f447be0a3cda9af952f2a2

Xiao Ma   commited 2020-06-29 11:57:32 +00:00
0c140bf1ec
[RFPM01] Merge package added/removed methods
There are two methods to handle package added/removed from
two differnt listeners. It can use one of listener to handle the
changes. Thus, keep PackageManagerInternal#PackageListObserver
but remove the listening from ConnectivityService.

Bug: 132784544
Test: atests FrameworksNetTests
Change-Id: Ib2db85e4108f9fda731bf6667d0af0610fc79fea

paulhu   commited 2020-06-23 16:10:03 +08:00
aa4620914e
Update DnsManagerTest for AIDL interface change
Check one more parameter enforceDnsUid in ResolverOptionsParcel in
DnsManagerTest.

Bug: 159587277
Test: atest
com.android.server.connectivity.DnsManagerTest#testSendDnsConfiguration

Change-Id: Ic53f42b968626294c851dac252a70769846ba427
Merged-In: Ic53f42b968626294c851dac252a70769846ba427

Ken Chen   authored and   Lorenzo Colitti   commited 2020-06-22 15:10:12 +00:00
fc7dd4c35e
Support DNS-over-TLS probes in NetworkDiagnostics
Probe DNS servers to see they support DNS-over-TLS. Use system
CAs to verify whether the certificates sent by DNS servers are
trusted or not. An error is thrown to cause the probe failed if
DNS servers send untrusted certificates.

Unlike the DnsResolver which doesn't verify the certificates
in opportunistic mode, all of the DoT probes from NetworkDiagnostics
check certificates.

DoT probes apply to the DNS servers gotten from LinkProperties
and the DoT servers gotten from PrivateDnsConfig whatever private
DNS mode is.

A common example in DNS strict mode:
.  DNS TLS dst{8.8.8.8} hostname{dns.google} src{192.168.43.2:48436} qtype{1} qname{815149-android-ds.metric.gstatic.com}: SUCCEEDED: 1/1 NOERROR (432ms)
F  DNS TLS dst{192.168.43.144} hostname{}: FAILED: java.net.ConnectException: failed to connect to /192.168.43.144 (port 853) from /192.168.43.2 (port 41770) after 2500ms: isConnected failed: ECONNREFUSED (Connection refused) (172ms)
.  DNS TLS dst{8.8.4.4} hostname{dns.google} src{192.168.43.2:37598} qtype{1} qname{759312-android-ds.metric.gstatic.com}: SUCCEEDED: 1/1 NOERROR (427ms)

An example when the CA is not trusted:
F  DNS TLS dst{8.8.8.8} hostname{dns.google}: FAILED: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. (16ms)

An example when TCP/TLS handshake timeout:
F  DNS TLS dst{8.8.8.8} hostname{dns.google}: FAILED: java.net.SocketTimeoutException: failed to connect to /8.8.8.8 (port 853) from /192.168.2.108 (port 45680) after 2500ms (2514ms)

Bug: 132925257
Bug: 118369977
Test: atest FrameworksNetTests
Change-Id: I1b54abed0e931ca4b8a97149459cde54da1c3d6f

Mike Yu   commited 2020-06-20 16:22:35 +08:00
6cad4b10db
Address comments from aosp/1298476
This patch addresses the followings,
- Pass Looper to NetworkStatsSubscriptionsMonitor constructor
- Replace Looper with TestLooper in unit test
- Assert fail if result of condition check is not expected.

Bug: 154080205
Test: atest FrameworksNetTests:com.android.server.net.NetworkStatsServiceTest
      atest FrameworksNetTests:com.android.server.net.NetworkStatsSubscriptionsMonitorTest
Change-Id: Ibcaba2b38af80cc0ec9a4e428a3b3a1538bc4325

Aaron Huang   commited 2020-06-18 15:05:19 +08:00
69bfb5afea
Merge "Dynamically enable/disable watch for RAT type changes"
Aaron Huang   authored and   Gerrit Code Review   commited 2020-06-18 03:51:51 +00:00
3fdad73a32
Merge "Add unit test for NetworkStatsSubscriptionsMonitor"
Aaron Huang   authored and   Gerrit Code Review   commited 2020-06-17 08:52:20 +00:00
0543f2328d
Dynamically enable/disable watch for RAT type changes
Add ContentObserver to observe the status of
NETSTATS_COMBINE_SUBTYPE_ENABLED to determine that
NetworkStatsSubscriptionsMonitor start or stop
monitoring data usage per RAT type changes.

Bug: 154080515
Test: atest NetworkStatsServiceTest#testDynamicWatchForNetworkRatTypeChanges
Change-Id: I272d589633c9186b45753228b05aa0b40b7c7b89

Aaron Huang   authored and   Chalard Jean   commited 2020-06-17 17:09:10 +09:00
7558938ce9
Add unit test for NetworkStatsSubscriptionsMonitor
Bug: 154080205
Test: atest FrameworksNetTests:com.android.server.net.NetworkStatsSubscriptionsMonitorTest
(copy from ag/11788484 but getActiveAndHiddenSubscriptionIdList() since it's renamed
in internal)
Change-Id: Ia162f36efe96d90b2f6f70190d9fa855bba34484
Merged-In: I4ef3f1ab2e5ea1322133edd80db3ccd0022e9c91

Aaron Huang   commited 2020-06-15 07:05:19 +00:00
b0e7dca43e
Test extra info sent to NetworkMonitor
Test extra info sent to NetworkMonitor correctly if network
agent is created through new NetworkAgent constructor without
legacy network info taken as parameter.

Bug: 156173829
Test: atest FrameworkNetTests
Change-Id: I4f827664c528bea30cc957a0a617dd37693f4460

Chiachang Wang   commited 2020-06-12 18:13:00 +08:00
301bc7b40a
Merge "Add RequiresFeature annotations for IKEv2 VPN profiles"
Benedict Wong   authored and   Gerrit Code Review   commited 2020-05-29 01:55:08 +00:00
de684cfa06
fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccounting100MBDownload
No clat app uid 0 rx stats on base iface due to ip6tables raw prerouting drop

(so just copy over the rx stats from the before file)

Test: atest NetworkStatsTest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ie73ba0586dafde67bc2726db26e07f7268c18be3

Maciej Żenczykowski   commited 2020-05-28 00:26:18 -07:00
b053a337e3
fix com.android.server.net.NetworkStatsFactoryTest#testDoubleClatAccounting
No clat app uid 0 rx stats on base iface due to ip6tables raw prerouting drop

Test: atest NetworkStatsFactoryTest
Bug: 150738490
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I4393afcbe8e1bb886ecf4f5c1573f6ac8a0e29f5

Maciej Żenczykowski   commited 2020-05-28 00:26:18 -07:00
2cc6ec11d7
Add RequiresFeature annotations for IKEv2 VPN profiles
This change adds the @RequiresFeature annotation to Ikev2VpnProfile
Builder methods, and checks before provisioning VPN profiles.

Bug: 156681625
Test: New tests added, passing.
Change-Id: I125d8fbe5d67fb877ad7d0636c007cb3e1a9f59b

Benedict Wong   commited 2020-05-27 02:05:49 -07:00
d196714698
Merge "Inform the DNS resolver when it needs to do DNS64 synthesis."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-05-26 09:26:46 +00:00
c0ba5bf41d
Merge "Test that if an RA sets the same prefix as DNS, nothing happens."
Lorenzo Colitti   authored and   Gerrit Code Review   commited 2020-05-24 10:59:40 +00:00
eafdd034f8