summaryrefslogtreecommitdiff
path: root/framework/src
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Private DNS: Switch "Cloudflare DNS" to DNS-over-HTTPS"Chirayu Desai2022-12-031-1/+1
| | | | | | | | This reverts commit 73da8d618e556b067a4a387b214c6bfac9d82391. Reason for revert: Not working with global cleartext. Change-Id: I2b1cd401a82a3f7eb6ed4d6206b412905876d11c
* Add more DNS providers [2/3]minaripenguin372022-11-031-0/+39
| | | | | | Signed-off-by: minaripenguin37 <alexfinhart@gmail.com> Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Change-Id: Id216ea3f806d2847059f6b8037865af254fd2676
* Add AdGuard DNS as a private DNS providerAdam Lawson2022-11-031-0/+12
| | | | | Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Change-Id: I55a74f9b6e1a37798ee899623e3ded536e11172c
* Private DNS: Switch "Cloudflare DNS" to DNS-over-HTTPSChirayu Desai2022-10-161-1/+1
| | | | | | | * Pros: Standard port (443) instead of 853 used by DNS-over-TLS Test: Visit https://1.1.1.1/help Change-Id: Ia2fb193d7c95e333be131770ff452ef568200bcb
* DnsUtils: Use Cloudflare DNS instead of Google DNSChirayu Desai2022-10-161-1/+1
| | | | | Change-Id: Ide51c086d2570aa5ecf28868e13f4f1672a4ff8a (cherry picked from commit e1d2f34fb3614eb903a6538969494f7d43e52dbd)
* Add Cloudflare DNS as a private DNS providerChirayu Desai2022-10-161-0/+15
| | | | | | | | | | | | | | | | | TODO: Add tests Also includes: commit d82a7a0585671903ba18cd1d8fab25d9275c2a25 Author: Oliver Scott <olivercscott@gmail.com> Date: Fri Jan 29 10:57:26 2021 -0500 Fix Cloudflare private DNS provider Change-Id: I5932d8d7e82621220eb119a212ccecf15e284421 (cherry picked from commit 24abf646a0df5e00285d1b698adec03eb897388f) Change-Id: I7e8a320d47e7c5ddbcb9acfaf23032ae92d5d70d (cherry picked from commit 96ce93f7bf7233008591d22a0d24a6d7cd0a94ff)
* setUidsAllowedOnRestrictedNetworks: Modify UID enforcement to check app idOliver Scott2022-08-211-1/+1
| | | | | | | Binder's calling UID seems to return the full UID on occasion which fails when commpared to Process.SYSTEM_UID. Return the app id instead. Issue: calyxos#823 Change-Id: Ieb84d389b4f160370be2c890db4705d920aba4ee
* Add 3rd deny firewall chain for OEMMotomu Utsumi2022-06-071-1/+9
| | | | | | | | | | | Bug: 208371987 Test: atest CtsNetTestCases:android.net.cts.ConnectivityManagerTest#testFirewallBlocking ConnectivityServiceTest Change-Id: Ib521fa02f6a19270cb88a3d85321bda822516c78 (cherry picked from commit 1d9054ba5fbbf86c821e0a74a5a2f9d3c9865e67) Merged-In: Ib521fa02f6a19270cb88a3d85321bda822516c78
* Add deny firewall chain for OEMMotomu Utsumi2022-06-031-1/+17
| | | | | | | | | | | | Bug: 207773349 Bug: 208371987 Test: atest CtsNetTestCases:android.net.cts.ConnectivityManagerTest#testFirewallBlocking --iterations 50 && atest ConnectivityServiceTest --iterations 10 Change-Id: I60d5540821abcced03356f366775f16ee369d7f9 (cherry picked from commit d980149817948d11de0631caee8aee3172e4e159) Merged-In: I60d5540821abcced03356f366775f16ee369d7f9
* Merge "Revert "Autogenerate connectivity jarjar rules"" into tm-devColin Cross2022-05-188-43/+30
|\
| * Revert "Autogenerate connectivity jarjar rules"Colin Cross2022-05-188-43/+30
| | | | | | | | | | | | | | | | | | | | This reverts commit 53eb35cd828cc92d6cb25858ca87c9330d22dea9. Reason for revert: b/233081774, caused long build times in FrameworkNetTests Change-Id: Ide01c994f694b55fc0e87bb0e81584ac44196e68 Merged-In: Ide01c994f694b55fc0e87bb0e81584ac44196e68 (cherry picked from commit ece3171cf018936148c7443dd190814737de1642)
* | Block incoming packets in VPN Lockdown mode.Motomu Utsumi2022-05-171-1/+12
|/ | | | | | | | | | | | | | | Currently, even when VPN Lockdown mode is enabled, incoming packets are not dropped if VPN is not connected. This commit fixed this issue. After this commit, If VPN Lockdown mode is enabled, incoming packets are dropped regardless of the VPN connectivity. Bug: 206482423 Test: atest TrafficControllerTest ConnectivityServiceTest PermissionMonitorTest Change-Id: If52ece613c8aac1073355e43b6fb9cb3fcc87d1d (cherry picked from commit b08654ca0450d021da709a762ab509a8d4f87d40) Merged-In: If52ece613c8aac1073355e43b6fb9cb3fcc87d1d
* Autogenerate connectivity jarjar rulesRemi NGUYEN VAN2022-05-168-30/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jarjar rules are hard to keep in sync with code, and hard to maintain manually as the distinction between what should and should not be jarjared is not always clear. This results in unsafe binaries that are manually maintained, and developer frustration when something fails due to incorrect jarjar rules. Autogenerate jarjar rules at build time instead. This is achieved by introducing a jarjar-rules-generator python-based library, which scans pre-jarjar intermediate artifacts, and outputs jarjar rules for every class to put it in a package specific to the module. The only exceptions are: - Classes that are API (module-lib API is the largest API surface of the module) - Classes that have unsupportedappusage symbols - Classes that are excluded manually (for example, because they have hardcoded external references, like for ConnectivityServiceInitializer in SystemServer). This change causes all classes in framework-connectivity(-t) and service-connectivity to be jarjared into android.net.connectivity, but still avoids jarjaring classes in com.android.server as before, to keep it small. For many classes this differs from the original jarjar rule. Notes on implementation: - connectivity-jarjar-rules now has a subset framework-connectivity-jarjar-rules containing only the rules necessary for framework-connectivity. This is necessary because framework-connectivity cannot depend on rules generated based on service-connectivity, as there would be a dependency cycle (service-connectivity depends on framework-connectivity); Soong even crashes with a stack overflow. - framework-wifi.stubs.module_lib is added to framework-connectivity-pre-jarjar as it is necessary to build it (it is already in impl_only_libs in the defaults). It is unclear why framework-connectivity-pre-jarjar could build before that (possibly because it was only used as "lib" ?) - Fix package-private visibility; for example NattSocketKeepalive, TcpSocketKeepalive are not API so should be jarjared, but are used by ConnectivityManager which is not jarjared, so they are not in the same package after the change. Package-private members in the former 2 need to be public to be accessible. Changes in this commit are all that is needed, as demonstrated by followup commits that move the classes to a different package without further changes, and that enforce that no class in an API package gets jarjared. - framework-connectivity-internal-test-defaults is separated from framework-connectivity-test-defaults, for unit tests that need to access internal jarjared classes. Such tests need to use the jarjar rules themselves too, so this is only appropriate for connectivity internal unit tests. Test: atest ConnectivityCoverageTests CtsNetTestCases Bug: 217129444 Change-Id: Ied17c3955ea2fda130089265d02908937ad8af1e (cherry picked from commit 53eb35cd828cc92d6cb25858ca87c9330d22dea9) Merged-In: Ied17c3955ea2fda130089265d02908937ad8af1e
* Merge "Fix targetSdkVersion gate for EXCLUDED_ROUTES compat change" into tm-devTreeHugger Robot2022-05-131-1/+1
|\
| * Fix targetSdkVersion gate for EXCLUDED_ROUTES compat changeTreehugger Robot2022-05-131-1/+1
| | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2079638 Bug: 230726333 Change-Id: Ibc9a0ea365bb483f66d9f1440b2743595e76744c Merged-In: Ia80efd07e6a8c6e6cc043411fbc2b56b07b4dd06 (cherry picked from commit dbba5d6b506206f4a10718431f938a3c50d8bc3f)
* | Merge "Make a defensive copy when sending NetworkInfo change" into tm-devTreeHugger Robot2022-05-101-2/+3
|\ \
| * | Make a defensive copy when sending NetworkInfo changeTreehugger Robot2022-04-281-2/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue scenario is: - Telephony registers a network agent and calls markConnected(). - NetworkAgent set mNetworkInfo to CONNECTED and call queueOrSendNetworkInfo() with mNetworkInfo, but NetworkAgent don't actually send a message to CS yet because the agent is not registered. - Telephony calls unregister because the cellular network is disconnected. - NetworkAgent set mNetworkInfo to DISCONNECTED, overwriting the previous CONNECTED state, and then call queueOrSendNetworkInfo again with mNetworkInfo. Again this doesn't send any message because the agent is not connected. - EVENT_AGENT_CONNECTED arrives. NetworkAgent replies all the messages in mPreConnectedQueue, but NetworkAgent send two DISCONNECTED NetworkInfos eventually. The CONNECTED state should be sent to CS instead of latest state DISCONNECTED. Thus, make a defensive copy when sending NetworkInfo change to prevent state overwriting. Without the NetworkAgent fix, the test will fail with no onAvailable callback. Because the Network has never been martk as CONNECTED. Bug: 228623362 Test: atest FrameworksNetTests CtsNetTestCases Original-Change: https://android-review.googlesource.com/2076406 Merged-In: I11681743d3ff87ff9affd0b7e766894dc5111028 Change-Id: I11681743d3ff87ff9affd0b7e766894dc5111028
* | Merge "Update VPN isolation code for excluded routes" into tm-devPrerana Patil2022-05-091-0/+15
|\ \
| * | Update VPN isolation code for excluded routesPrerana2022-05-061-0/+15
| |/ | | | | | | | | | | | | | | | | | | | | Bug: 230058738 Test: atest LinkPropertiesTest Result: https://paste.googleplex.com/4706859672928256 Change-Id: I970fca6b0e2cd358e9bd77152563d13367867c74 (cherry picked from commit 2b97bbebf4b85e0024fc75298e760fc03516be40) Merged-In: I970fca6b0e2cd358e9bd77152563d13367867c74
* / Do not remove profile network preference for different uidsSooraj Sasindran2022-05-091-2/+2
|/ | | | | | | | | | | | 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 (cherry picked from commit 9cc129f37d2ceeaafdcc5ad05402810ae035288c) Merged-In: I897b643e01240958fff575de9e15182069efc698
* Merge "Add a method to create a TAP interface with a given interface name."Xiao Ma2022-04-222-4/+34
|\
| * Add a method to create a TAP interface with a given interface name.Xiao Ma2022-04-212-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a method that allows the caller to specify whether to create a tap interface with a given specific interface name instead of the default one. So far only the given name that starts with "v4-testtap" or "v4-testtun" prefix is allowed. That's helpful to create a clat interface which always has "v4-" clat prefix in the IpClient integration test, to verify the callbacks happend on adding/removing clat interface. Bug: 163492391 Test: atest CtsNetTestCases Change-Id: I9ea7013fce919cafb719998a123164b5507f9ac0
* | Merge "Filter out excluded routes in LinkProperties"Taras Antoshchuk2022-04-131-2/+36
|\ \
| * | Filter out excluded routes in LinkPropertiesTaras Antoshchuk2022-04-131-2/+36
| |/ | | | | | | | | | | | | | | Gate presence of excluded routes in LinkProperties on target sdk T. Bug: 186082280 Test: atest LinkPropertiesTest Change-Id: If8fdb468a0a4968c5f2a878b7aacfeb4f7d9a9e5
* | Merge "Add protection for setLocalRoutesExcludedForVpn"Chiachang Wang2022-04-131-0/+5
|\ \ | |/ |/|
| * Add protection for setLocalRoutesExcludedForVpnChiachang Wang2022-03-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | setLocalRoutesExcludedForVpn() was added in T for local route exclusion in VPN. It relies on the behavior change in netd which is inside platform and will not be updated with mainline update. Add protection on setLocalRoutesExcludedForVpn to prevent the API misused on SDK before T. Bug: 223356811 Test: atest FrameworksNetTests Change-Id: Ic2927f5c335ddd0c3defd4c377542ce6907ab435
* | Merge "Support QosCallback with UDP socket"Sewook Seo2022-03-301-0/+45
|\ \
| * | Support QosCallback with UDP socketsewookseo2022-03-291-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | Add a constructor for QosSocketInfo using DatagramSocket. Bug: 203146631 Test: atest & verified on LTE test equipment Change-Id: I85c091a65610a96d721e4f0b07631867cda4db8a
* | | Merge "Add @RequiresPermission for setUnderlyingNetworks"Lucas Lin2022-03-291-3/+17
|\ \ \
| * | | Add @RequiresPermission for setUnderlyingNetworkslucaslin2022-03-221-3/+17
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setUnderlyingNetworks() is mainly for the NetworkAgents who hold the NETWORK_FACTORY to set its underlying networks. And the underlying networks are only visible and useful for the caller of getNetworkCapabilities() or the receiver of onCapabilitiesChanged() who hold one of NETWORK_FACTORY, NETWORK_SETTINGS and MAINLINE_NETWORK_STACK permissions. Otherwise, the underlying networks field will be cleard before sending. Bug: 205738644 Test: atest CtsNetTestCases:ConnectivityManagerTest atest CtsHostsideNetworkTests:HostsideVpnTests atest FrameworksNetTests Change-Id: Ife7630d9676a31ee5ab977cb1b87aec3b6fd7080
* | | Improve JavaDoc for FirewallRule constantsmarkchien2022-03-291-3/+7
| | | | | | | | | | | | | | | | | | Bug: 226946569 Test: TH Change-Id: I8366bd58194e24da7ea74bf398aae196482d0151
* | | Api review: change updateFirewallRule to setUidFirewallRulemarkchien2022-03-252-5/+36
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 218494748 Test: TH Change-Id: I52a02ebe109b687359f579c16fded4af3c9cd242 Merged-In: I52a02ebe109b687359f579c16fded4af3c9cd242
* | | Move the DscpPolicy status constants and IntDef to NetworkAgent.Lorenzo Colitti2022-03-252-45/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As requested by API council. Also fix lint errors in the test. Fix: 217366078 Test: existing tests modified in this CL Change-Id: I8f7cd0e78bf29aeb52ec6a08a5d635d25fa2205d
* | | Rename destroyAndAwaitReplacement to unregisterAfterReplacement.Lorenzo Colitti2022-03-242-4/+4
|/ / | | | | | | | | | | | | | | Rename requested by API council. Fix: 224764301 Test: existing CTS tests updated Change-Id: Ibab9c9cd64bf0dde1e22705e81cff11d356fc719
* | Merge changes from topic "QosCallbackException"Sewook Seo2022-03-194-9/+13
|\ \ | | | | | | | | | | | | | | | * changes: CTS test for QosCallbackException Expose constructor of Exceptions.
| * | Expose constructor of Exceptions.sewookseo2022-03-174-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exposing constructor of Exceptions for test purpose. CTS-Coverage-Bug: 224059548 BUG: 215240597 BUG: 216368595 Test: build Change-Id: I20af104a891e94873715ab46ecabc3e775638c8c
* | | Add a method to create a TAP interface without bringing it up.Lorenzo Colitti2022-03-172-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In S, the behaviour of createTunInterface and createTapInterface changed so that they bring up the interface before returning it. This makes it difficult to test code that brings interfaces up itself, such as IpClient or EthernetManager, because the tests cannot predict whether that code will see the interface up or not. This leads to flaky tests and can even make it impossible to reliably test some behaviour. Add a method that allows the caller to specify whether to bring up the interface or not. Test: new codepath tested by other CL in topic Test: existing codepaths already well-covered Change-Id: I0f7698f4dad132f201db4203e65a78c6af564ab2
* | | Rename setAccessUids to setAllowedUidsChalard Jean2022-03-161-31/+32
| | | | | | | | | | | | | | | | | | | | | Bug: 217725769 Test: ConnectivityServiceTest CtsNetTestCases Change-Id: Ic8a3f91553d1462b7f54259c467fb90a950bdd59 Merged-In: I8860fbb353eedf5d01e9dc248e4d765046bd562c
* | | Use int array for included and excluded uidsSooraj Sasindran2022-03-162-54/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use int array for included and excluded uids so that uses same data type as in PreferentialNetworkServiceConfig Bug: 217365439 Test: ran connectivity service unit tests Change-Id: I9ac7e6498df2fd20b8397b2c110296e019c7389e
* | | Merge "API review: Additional comment for QosSession."Sewook Seo2022-03-151-5/+5
|\ \ \
| * | | API review: Additional comment for QosSession.sewookseo2022-03-101-5/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | Additional comment on getSessionId in QosSession. Bug: 216368595 Test: build Change-Id: I0575253ef490e3d456e69816d52075c2d10813f0
* | | Merge "Add a NetworkAgent API to indicate that a network will be replaced."Lorenzo Colitti2022-03-152-0/+48
|\ \ \
| * | | Add a NetworkAgent API to indicate that a network will be replaced.Lorenzo Colitti2022-03-142-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful for link layers that disconnect but know they will reconnect to a similar network soon, and do not want the device to switch to another network until the reconnect happens. An example is wifi switching to another network that is on a different subnet without the device switching to cellular data. This works by immediately destroying the network, so the link layer can reuse the same interface name for the new network. It would be possible to delay destroying the network until the new network connects, but in practice this does not seem useful, because the if the link layer reuses the interface, then the interface will be undergoing reconfiguration, and will likely not be usable for app traffic. This CL also moves the call to onNetworkDestroyed into destroyNativeNetwork. This is needed to ensure that the new API calls onNetworkDestroyed even though most teardown operations have not happened. This causes onNetworkDestroyed to happen before the netId is marked free, but that shouldn't cause any behavioural changes because netId allocation is an implementation detail of ConnectivityService and is not observable by apps or system components. Bug: 216567577 Test: builds, boots Test: atest FrameworksNetTests FrameworksNetIntegrationTests Test: atest CtsNetTestCases:android.net.cts.ConnectivityManagerTest Test: atest CtsNetTestCases:android.net.cts.NetworkAgentTest#testDestroyAndAwaitReplacement Change-Id: I9f9e022fef66b31a29cce560413321075e992756
* | | | Merge "Rename redactNetworkCapabilitiesForPackage and update its javadoc"Lucas Lin2022-03-142-10/+12
|\ \ \ \ | |/ / / |/| | |
| * | | Rename redactNetworkCapabilitiesForPackage and update its javadoclucaslin2022-03-022-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API won't modify the passed NetworkCapabilities and LinkProperties, but redactNetworkCapabilitiesForPackage and redactLinkPropertiesForPackage sound like they will. To reduce the confusion, rename the API with prefix "getRedacted". Also modify the javadoc to describe more about what the API will do if the given UID doesn't have location permission. Bug: 220367512 Test: atest CtsNetTestCases Change-Id: I964f1062da1ae96df9b369b911486da1379b8a19
* | | | Merge "Split updateMeteredNetwork{Allow, Deny}List into add and remove"Mark Chien2022-03-091-8/+54
|\ \ \ \ | |_|_|/ |/| | |
| * | | Split updateMeteredNetwork{Allow, Deny}List into add and removemarkchien2022-03-091-8/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split the updateXXX methods into an addXXX and removeXXX instead of using a boolean parameter to indicate whether the uid should be added or removed Bug: 218494748 Test: atest FrameworksNetTests Change-Id: I868cf35c8f51b25d8719e618c6c48a5cd642da7f
* | | | Merge "Remove ConnectivityManager swapActiveStatsMap API"Treehugger Robot2022-03-082-25/+0
|\ \ \ \ | |/ / / |/| | |
| * | | Remove ConnectivityManager swapActiveStatsMap APImarkchien2022-03-072-25/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | swapActiveStatsMap is temporary added for the NetworkStatsFactory to call BpfNetMaps#swapActiveStatsMap in tethering mainline module. Now NetworkStatsFactory already be mainlined, calling BpfNetMaps#swapActiveStatsMap directly. Bug: 218494448 Test: atest ConnectivityCoverageTests atest FrameworksNetTests Change-Id: I3358e4ac5fb7ed0964273afdbccd1b4128ca7645
* | | Merge "API review: Addional documentation for QosFilter"Treehugger Robot2022-03-071-10/+18
|\ \ \ | |/ / |/| |