The NetworkStack module is comprised of 2 updatable APKs
(NetworkStack.apk and CaptivePortalLogin.apk), and a stub APK to define
the signature permissions for the APKs (NetworkStackPermissionStub.apk).
Test: flashed, WiFi works, captive portal login works
Bug: 124033493
Change-Id: I772d1d63363a3eb6f817c21906498bd2385ab02b
Classes that are used in framework.jar cannot be linked in NetworkStack,
as the framework takes precedence in the classpath. This prevents the
networkstack from using these classes due to the hidden API usage
detection.
Do the following:
- jarjar any shared source file between framework and NetworkStack, so
the version in the NetworkStack uses a different package.
- Move any shared class not used in the NetworkStack to services.net
The CL uses jarjar on the app copy and not the framework classes, as
the framework cannot be updated without an OTA, and non-network stack
specific classes should not be renamed because of the network stack.
Test: atest FrameworksNetTests NetworkStackTests
Test: flashed svelte build, WiFi works
Bug: 124033493
Change-Id: I85d888b756adc28c36638913632bfdfdbf0e0486
ICaptivePortal is used in the framework and cannot be used as a
dependency in NetworkMonitor, as the framework class takes precedence
when linking.
Also fix NetworkMonitorTest that was not verifying the right
startCaptivePortalApp call.
Test: atest FrameworksNetTests NetworkStackTests
Bug: 124033493
Change-Id: I8e7bb79e50650ae182a2e4277fb49abf5fb6d910
Merged-In: Ib6a89e54312628662b130fbeec18d11e139f09fa
Apf program for TCP keep alive ACK also compares protocol field in IPv4
header and the total length of TCP keep alive ACK packet. Besides,
should set the ACK flag in the the TCP header of keep alive ACK packet.
Bug: 123992564
Test: atest NetworkStackTests
Change-Id: I997cd6807a33f7e1af25566226d803dcc2e257dd
If included in framework.jar, the interfaces conflict with any app that
needs to depend on them, including the NetworkStack.
Bug: 124033493
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I2db9f87b7154130726d4700b241d55b041635d98
Merged-In: I0ecae20d514bf888f3a80331f19369ceb1c52aa3
Unexpected packets are observed after captive portal check. Due to the packets, modem can't fall-back to idle state (modem remained as active state).
It makes unnecessary power consumtion.
To prevent it, "close" option is added in sendHttpProbe()
Test: check socket close.
Change-Id: I5b6987071ad915081846504adbb209eb371fd1c3
ServiceState now contains a CellIdentity that can be obtained
specifically from the data subscription, and for PS on cell
only.
This should be used for connectivity level network monitoring
info.
Bug: 123893112
Test: 1. atest NetworkMonitorTest
2. Verify if cell id is correct
Change-Id: Ieb00de84a0d518e3197e3884f946b872e998304a
There's no point in considering this a captive portal as the user cannot
sign-in to an empty page. Probably the result of a broken transparent proxy.
Bug: 122999481
Test: Manual
Change-Id: I1ca44092ac05a1708d9b41c5a4aad545b71b7eab
Signed-off-by: Sehee Park <sehee32.park@samsung.com>
Set the new name to com.android.networkstack. Also rename the stub APK
to com.android.networkstack.permissionstub.
Also add shared UID to the NetworkStackPermissionStub to enforce
signature restrictions on the UID.
Test: booted, WiFi working
Bug: 124033493
Change-Id: Id8967db08b7faaa659b20f86f1013493eb0e188f
Have the network stack pass its package name in
showProvisioningNotification instead.
Bug: 124033493
Test: flashed, WiFi and captive portal works
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I1f3312768ba1fb34e99a827e1fcdaf7510e318a8
Replace with INTERACT_ACROSS_USERS, which is needed to send the
ACTION_NETWORK_CONDITIONS_MEASURED broadcast.
Also cleanup some non-privileged permissions that were added to the
priv-app file.
Test: built, booted, broadcast and captive portal login work
Bug: 123846255
Change-Id: I3c97c166e80c19bf57fa047709c8b91fca75d635
To support TCP keepalive offload, APF filter needs to add program
for dropping keepalive ack packets when offload is starting.
Bug: 114151147
Test: runtest frameworks-net -c android.net.apf.ApfTest
Change-Id: If16a9bc04eb29dfedb950b6e4c85fe9ad4cf259f
The new set of API allows applications to request keepalives
offload for established TCP sockets over wifi.
However, the application must not write to or read from the
socket after calling this method, until specific callbacks are
called.
Bug: 114151147
Test: atest FrameworksNetTests FrameworksWifiTests NetworkStackTests
Change-Id: I3880505dbc35fefa34ef6c79555458ecf5d296a4
Endpoints protected with INTERACT_ACROSS_USERS_FULL, such as
startActivityAsUser, should only be used by modules signed with the
platform cert. The NetworkStack needs to have the system server start
the application so this restriction can be applied.
Bug: 123846255
Test: flashed, captive portal works from primary and secondary user
Change-Id: Ib3e427b3fd03ced80c02985e795f79b096a2ec9a
The NetworkStackPermissionStub package is used to enforce that
permissions used by the NetworkStack are only used in packages
sharing signature with NetworkStackPermissionStub.
Permissions defined in this package are intended to be used only by the
NetworkStack: both NetworkStack and the stub APK will be signed with
a dedicated certificate to ensure that, with permissions being signature
permissions.
This APK *must* be installed, even if the NetworkStack app is not
installed, because otherwise, any application will be able to define
this permission and the system will give that application full access
to the network stack.
Test: flashed, booted
Bug: 112869080
Change-Id: Ia13a9e6a703cb7b4403697a7f7bfff0f6f3b813e
Includes small changes to stop using non-SystemApi endpoints.
Test: make CaptivePortalLogin
Test: flashed, login works, SSL certificate invalid flow works
Bug: 112869080
Merged-In: Ic6ce98942959705ea7ef14a7a62d33e3abf7eb72
Change-Id: Ie7ea3bab6aa8629ce4c111adee0c0699d95d4b0e
Bluetooth runs as UID 1001002 when on a secondary user. With this change
the NetworkStack verifies that the calling UID matches the Bluetooth app
regardless of the user.
Test: flashed, BT reverse tethering still working as primary user
(no option to turn on as secondary user on phones)
Bug: 123655057
Change-Id: I23f9c5fa40f3bb676ac65dd8c15106c9d78309a4
The metrics go through NetworkMonitor in the NetworkStack so that they
can be upgraded to new metrics in the future.
Test: flashed, captive portal login works, metrics shown in events log
Bug: 112869080
Merged-In: I4bccfbd87bae5b2d65e45c7a5918aa45ab5d76e8
Change-Id: Ib5e2126788f8d56a00a56d7efcd33c5f9a37a6de
Includes various small changes to stop using hidden APIs
Test: make NetworkStack
Test: flashed, booted, WiFi and tethering working
Bug: 112869080
Change-Id: Id2830795a444f484b377ed6437435a1cd833697a
This restores previous behavior, where callbacks would not be called on
the IpClient handler thread.
Test: atest FrameworksNetTests NetworkStackTests
Test: flashed, WiFi works
Bug: 123062477
Change-Id: I3015566b0922d76ac7cf70579a1de3e033bf7b4a
Use the new NetworkObserverRegistry instead.
Test: atest FrameworksNetTests NetworkStackTests
Test: flashed, WiFi working fine
Bug: 112869080
Change-Id: If16ecfd6489f86afec67c22b4c3692cd68f4edbf
The NetworkObserverRegistry will replace usage of
NetworkManagementService in the app.
Test: m, booted, WiFi working
Bug: 112869080
Change-Id: Ic7f0114d0c9361dd2408e47bb04a8dd44a908a47