The four byte sequence modified UTF-8 is now handled by classes
prefixed with ART, whereas the base classes implements the standard
modified UTF-8 and should be used by new clients in modules.
Bug: 243194720
Test: atest -rerun-until-failure 10 FastDataTest BinaryXmlTest \
FrameworksCoreTests:XmlTest FastDataPerfTest
Change-Id: I08cea54c2a27249e00b7e155af0cf11949486375
For those fields existing in the IkeTunnelConnectionParams,
the value should be retrieved from the object to honor the
setting in the object. IkeTunnelConnectionParams are serialized
in a safe manner to ensure that they do not conflict with the
serialization scheme of VpnProfile. However, copying some of
these fields(e.g. IkeKeyId) may conflict with the serialization
scheme.
Bug: 243718982
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: I510c47e26feabd5cebe9497ef495e4d729d0f7c6
This change ensures that null ProxyInfo instances are honored
and reflected in the actual VpnProfile.
Ikev2VpnProfiles incorrectly set ProxyInfo as an empty instance
when provided with a null ProxyInfo. Other components in the
system sometimes have different behavior if presented with an
empty ProxyInfo instead of a null one.
Bug: 244281603
Test: atest FrameworksNetTests
Test: Manual testing with VPN validation enabled
Change-Id: I67ee2aa5c96dc22ba8fcd2be3fd4c090dec20697
This commit updates IkeSessionParamsUtils to be able
to encode/decode IkeSessionParams with IKE_OPTION_REKEY_MOBILITY,
IKE_OPTION_AUTOMATIC_ADDRESS_FAMILY_SELECTION and
IKE_OPTION_AUTOMATIC_NATT_KEEPALIVES.
This commit can also maintain compatibility with older T IPsec
modules that do not support the two IKE_OPTION_AUTOMATIC_ options
Bug: 242231517
Test: atest IkeSessionParamsUtilsTest
Change-Id: Icadbe98b3df3cf3a80f51dc1467eb99753d82216
This reverts commit de1dca7c76.
Reason for revert: This commit will be cherry picked for QPR
release and is accessing new IPsec API constants
that will not be released until mainline October train. This
commit fails to maintain the compatibility with IPsec
module that is older than the October version.
Bug: 242231517
Test: atest IkeSessionParamsUtilsTest
Change-Id: Iff0dcc32025dad3016257655205beaf2e842f24c
This commit updates IkeSessionParamsUtils to be able
to encode/decode IkeSessionParams with IKE_OPTION_REKEY_MOBILITY,
IKE_OPTION_AUTOMATIC_ADDRESS_FAMILY_SELECTION and
IKE_OPTION_AUTOMATIC_NATT_KEEPALIVES
Bug: 242231517
Test: atest IkeSessionParamsUtilsTest
Change-Id: I0ea9fbf1e0c304a5afb563f912d2a8a49b4faad0
Further refactoring to support adding multiple NTP servers in a later
commit. The logic for multiple servers will be added to forceRefresh()
later.
This commit also contains some refactoring to support improved testing
of NtpTrustedTime.forceRefresh(). Tests for the existing behavior have
been added here.
As part of this change, SntpClient / NtpTrustedTime /
NetworkTimeUpdateService have also been extended to pipe information
about the IP address of the NTP server used to obtain the time back to
the NetworkTimeUpdateService for improved logging / debugging support.
Bug: 223365217
Test: atest frameworks/base/core/tests/coretests/src/android/util/NtpTrustedTimeTest.java
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/timedetector/
Test: atest cts/tests/tests/os/src/android/os/cts/SystemClockSntpTest.java
Test: Inspection: adb shell dumpsys network_time_update_service
Test: Inspection: adb shell dumpsys time_detector
Change-Id: Ia0f13e2c8cbd102d677797b745414d8ab5fa1eba
If the VPN app is not launched, then its background service
cannot receive the VpnManager events.
Add VPN app into power saver whitelist for a while can let its
background service to receive VpnManager events.
Bug: 234104087
Test: Confirm that the VPN app has received VpnManager events.
Change-Id: I9819a78ec0cbbd6879baae645ef42c22756b09d4
This change protect getPlatformFileListForPrefix from
crashing when the directory exist but cannot be listed.
This generally happens when the caller doesn't have
enough permission to list.
Test: atest CtsNetTestCases:android.net.cts.NetworkStatsManagerTest#testDataMigrationUtils
Ignore-AOSP-First: in a topic with internal-only changes
Bug: 230289468
Change-Id: I4177a8229cc9db18d76cb90c54a1b8d12ef8d98f
Merged-In: I4177a8229cc9db18d76cb90c54a1b8d12ef8d98f
(pure cherry-picked from ag/18457684)
This CL provides a public method in FileRotator to
allow caller to write data to a specified standalone file.
This CL also fix a file name generatign error in platform
tools.
Test: NetworkStatsServiceTest NetworkStatsCollectionTest
Bug: 230289468
Change-Id: I17558f349cb2a33062972fe1af96a19356798692
Merged-In: I17558f349cb2a33062972fe1af96a19356798692
(pure cherry-picked from ag/18408306)
This change protect getPlatformFileListForPrefix from
crashing when the directory exist but cannot be listed.
This generally happens when the caller doesn't have
enough permission to list.
Test: atest CtsNetTestCases:android.net.cts.NetworkStatsManagerTest#testDataMigrationUtils
Ignore-AOSP-First: in a topic with internal-only changes
Bug: 230289468
Change-Id: I4177a8229cc9db18d76cb90c54a1b8d12ef8d98f
This CL provides a public method in FileRotator to
allow caller to write data to a specified standalone file.
This CL also fix a file name generatign error in platform
tools.
Test: NetworkStatsServiceTest NetworkStatsCollectionTest
Bug: 230289468
Change-Id: I17558f349cb2a33062972fe1af96a19356798692
Provide a way for the system Setting app or other similar system
apps to set the app exclusion list for the specific VPN from
VpnManager. The list affects only VPN provisioned from
VpnManager to keep the design consistence for app using
VpnService.
The list is stored in the keystore for its persistence.
Bug: 192078259
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: I157823866e1899b40aa36ea2c0bc4a80370108be
(cherry picked from commit d19b3c03d2)
Merged-In: I157823866e1899b40aa36ea2c0bc4a80370108be
The underlying network, NetworkCapabilities and LinkProperties
are not necessary to send to VPN app since the purpose of
CATEGORY_EVENT_DEACTIVATED_BY_USER and
CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED are to notify VPN
app that VPN is deactivated by the user or VPN always-on
status is changed.
Bug: 191413541
Test: Javadoc only changes.
Change-Id: I7fd4b6dad1a4363336f03c217e635fc45bcd0ab6
(cherry picked from commit 4b6b7987a1)
Merged-In: I7fd4b6dad1a4363336f03c217e635fc45bcd0ab6
Provide a way for the system Setting app or other similar system
apps to set the app exclusion list for the specific VPN from
VpnManager. The list affects only VPN provisioned from
VpnManager to keep the design consistence for app using
VpnService.
The list is stored in the keystore for its persistence.
Bug: 192078259
Test: atest FrameworksNetTests CtsNetTestCases
Change-Id: I157823866e1899b40aa36ea2c0bc4a80370108be
The interpretation of the path depends on whether the scheme or
authority are specified and should be observed when unparcelling
URIs.
Bug: 171966843
Test: atest FrameworksCoreTests:android.net.UriTest
Test: atest com.android.devicehealthchecks.SystemAppCheck
Change-Id: I06981d1c6e387b16df792494523994518848db37
Merged-In: I06981d1c6e387b16df792494523994518848db37
(cherry picked from commit f37a94ae92)
The underlying network, NetworkCapabilities and LinkProperties
are not necessary to send to VPN app since the purpose of
CATEGORY_EVENT_DEACTIVATED_BY_USER and
CATEGORY_EVENT_ALWAYS_ON_STATE_CHANGED are to notify VPN
app that VPN is deactivated by the user or VPN always-on
status is changed.
Bug: 191413541
Test: Javadoc only changes.
Change-Id: I7fd4b6dad1a4363336f03c217e635fc45bcd0ab6
This change ensures that carrier configs are saved as part of the
snapshot, allowing all entities in the VCN to query telephony
subscription information from the same source.
Test: atest FrameworksVcnTests
Change-Id: I31447d84fe98d6bd2cc78ead41746198728c400b
From current design, NetworkPolicyManagerService should only
creates metered carrier/mobile templates. However, if someone
calls the hidden API interface or the template was created
before NetworkTemplate#Builder is published. The caller may
create a non-metered carrier template and persist into the
storage.
This CL elimates this possibility and mark non-metered carrier
template non-persistable, so devices could auto-recover from
this symptom after reboot.
Fix: 222382637
Test: TH
Change-Id: Ia7ba3d92a84b8b246a4f11080f6fec0957865650
Since the onUidStateChanged() callbacks will be
happening from more than one thread, we need to make
sure we only handle the latest uid state change
callbacks and ignore any older callbacks that could
override the latest uid states in NPMS. In order to
this, every uid state change will be associated with
a unique seq number.
Also, remove the UidRecord.lastDispatchedProcStateSeq.
This was added as a safety measure to make sure we
don't unnecessarily end up waiting but it isn't
necessary and if we need to keep it, we need to add
a way to access it without holding global AMS lock,
which isn't worth the complexity.
Bug: 226299593
Test: atest tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Change-Id: I631f5e01f6627916a96c930c22849a1d11eab636
Merged-In: I631f5e01f6627916a96c930c22849a1d11eab636
This changes the VCN to allow a VCN provisioning package to retrieve
its listing of configured subgroups and clear its own configurations,
regardless of whether it is the active subscription group.
Safety is guaranteed based on the VCN's clearing of packages when app
data is cleared, and when the app is uninstalled. In addition to the
configurations not being retrievable, the clearing of the configs will
ensure that sideloading of an app with the same package name provides
no ability to otherwise impact settings.
Bug: 227248744
Test: atest FrameworksVcnTests
Change-Id: I2c774c00373942f895169a761d4e9a1d5b0b2edb
Since the onUidStateChanged() callbacks will be
happening from more than one thread, we need to make
sure we only handle the latest uid state change
callbacks and ignore any older callbacks that could
override the latest uid states in NPMS. In order to
this, every uid state change will be associated with
a unique seq number.
Also, remove the UidRecord.lastDispatchedProcStateSeq.
This was added as a safety measure to make sure we
don't unnecessarily end up waiting but it isn't
necessary and if we need to keep it, we need to add
a way to access it without holding global AMS lock,
which isn't worth the complexity.
Bug: 226299593
Test: atest tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Change-Id: I631f5e01f6627916a96c930c22849a1d11eab636
This adds additional logs to the VCN's dumpsys to facilitate debugging
of the VCN.
Test: atest FrameworksVcnTests
Change-Id: Id8cd668991331dbf2f3395172e5cd90b36c408a9