summaryrefslogtreecommitdiff
path: root/java
AgeCommit message (Collapse)Author
2021-08-20prevent nullptr dereference when calling unwantedPatrick Rohr
When the EthernetNetworkAgent has already been stopped, a call to unwanted will cause a crash due to a nullptr derefernce. Bug: 197279734 Test: atest EthernetNetworkFactoryTest Change-Id: Ice39c603bdd3e3139aa8ece7fb897bf7b567e74b
2021-08-20Add null check for the taken callback am: 19b7709da6Chiachang Wang
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1802597 Change-Id: I8fe9b5918e2af72d6edd7ae334f6062e32bbfdad
2021-08-20Add null check for the taken callbackChiachang Wang
The requestTetheredInterface() and releaseTetheredInterface() in EthernetManager is annotated as @NonNull. Basically, the taken callback parameter to the service implementation should also be @NonNull. However, it still possible to use native commands to call the method in the aidl. If a null callback is taken, it may cause unexpected results and cause crashes. Add a null check and throw NPE as a warning. Bug: 190058445 Test: adb commands Change-Id: I18fd63aba3f7326597fc3a8c93ba8c9097bf7348
2021-08-12Merge "Revert "Set EthernetNetworkSpecifier on each ethernet network for ↵Ady Abraham
multi-ethernet""
2021-08-12Revert "Set EthernetNetworkSpecifier on each ethernet network for ↵Ady Abraham
multi-ethernet" This reverts commit 9a8d0f8978772d290d887f299d4a79020ead6fb8. Reason for revert: b/196387077 Change-Id: I8e27ce915b6069b642c614a018aa5e1788ae07af
2021-08-12Merge "Set EthernetNetworkSpecifier on each ethernet network for multi-ethernet"Treehugger Robot
2021-07-29Remove Unused Code From EthernetNetworkFactory am: e1a9e20364 am: 84d3514e22Patrick Rohr
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1722876 Change-Id: I2a4f5caa041f6b0e6f950e536ab74be71a5a2a53
2021-07-29Set EthernetNetworkSpecifier on each ethernet network for multi-ethernetMilim Lee
Bug: 175199512 Test: Build and test multi-ethernet Change-Id: I6ec50b42bee89520f6f27d40e0d2b0d774b8e2e5
2021-07-28Add Tests for EthernetNetworkFactory am: 5cd9288b03 am: 8edfdf490bPatrick Rohr
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1486182 Change-Id: Id09046b501b7b280830e51d5b82f2d5e8f7fa6d7
2021-07-28Remove Unused Code From EthernetNetworkFactoryPatrick Rohr
Test: atest EthernetNetworkFactoryTest Change-Id: Ibe0190b3108dca644da2d67bd107954cb26f41ce
2021-07-28Add Tests for EthernetNetworkFactoryPatrick Rohr
Test: atest EthernetNetworkFactoryTest Bug: 191635995 Change-Id: I1c07bb6d30706c4e13002eb402fadfecb97b36d1
2021-06-21Merge "Stop using LinkPropertiesParcelableUtil." am: aca3a829fa am: b31d848746Lorenzo Colitti
Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/net/ethernet/+/1733473 Change-Id: I51829f89466e518712f117675eef40792577ece3
2021-06-12Stop using LinkPropertiesParcelableUtil.Lorenzo Colitti
Its methods are all no-ops. Stop using them. Test: m Bug: 151052811 Change-Id: Iace3ba898bec2940ec3c3323c5bf8a13627d545f
2021-05-14Replace clearAll with withoutDefaultCapabilities in NC#Builderandroid-s-beta-2android-s-beta-1Chiachang Wang
Update the naming and usgae according to API review feedback. Bug: 184735772 Test: atest EthernetTrackerTest Change-Id: Ie8dc0bcdf46ceebda5d6062231b48c1f63b250f6 Merged-In: Ie8dc0bcdf46ceebda5d6062231b48c1f63b250f6
2021-05-14Replace clearAll with withoutDefaultCapabilities in NC#BuilderChiachang Wang
Update the naming and usgae according to API review feedback. Bug: 184735772 Test: atest EthernetTrackerTest Change-Id: Ie8dc0bcdf46ceebda5d6062231b48c1f63b250f6
2021-05-05Add transport type in capabilities filter of EthernetNetworkFacotrylucaslin
Bug: 167544279 Test: atest EthernetServiceTests Change-Id: Ie64e3cff0ace413f14682736de7a1b65fa93e705 Merged-In: Ie64e3cff0ace413f14682736de7a1b65fa93e705 (Cherry-picked from ag/14031548)
2021-04-26Enforce ACCESS_NETWORK_STATE to getAvailableInterfaces()paulhu
getAvailableInterfaces() will return available ethernet interfaces which are the information about networks. So it should enforce ACCESS_NETWORK_STATE permission check to ensure the applications are allowed to access the information. Bug: 174573778 Test: TetheringTests Test: CtsTetheringTest Change-Id: I7aaa5225d56f2feecc51ba263489ed0ce02fd651
2021-03-30Add transport type in capabilities filter of EthernetNetworkFacotrylucaslin
Bug: 167544279 Test: atest EthernetServiceTests Change-Id: Ie64e3cff0ace413f14682736de7a1b65fa93e705
2021-03-23Use public API instead of hidden API in EthernetTrackerlucaslin
- Use public API of StaticIpConfiguration.Builder to set ipaddress, domains, gateway and dnsServers. - Use public constructor to create an instance of IpConfiguration and set IpAssignment, ProxySettings, StaticIpConfiguration and HttpProxy by public API. Bug: 182963415 Test: m ethernet-service Change-Id: Idce8bfe7afc31baa644c816afa1f8004987e8c6e Merged-In: Idce8bfe7afc31baa644c816afa1f8004987e8c6e
2021-03-19Merge "Use public API instead of hidden API in EthernetTracker" into sc-devLucas Lin
2021-03-19Use public API instead of hidden API in EthernetTrackerlucaslin
- Use public API of StaticIpConfiguration.Builder to set ipaddress, domains, gateway and dnsServers. - Use public constructor to create an instance of IpConfiguration and set IpAssignment, ProxySettings, StaticIpConfiguration and HttpProxy by public API. Bug: 182963415 Test: m ethernet-service Change-Id: Idce8bfe7afc31baa644c816afa1f8004987e8c6e
2021-03-19Replace reference of NetworkAgent#setLegacyExtraInfojunyulai
Bug: 182963415 Test: m ethernet-service Test: atest EthernetServiceTests Change-Id: I4a66f34daa129b3158e4dd2fb720c175611eaf69
2021-03-19Replace references of request.networkCapabiliesjunyulai
Replaced by request.canBesatisfiedBy() to avoid direct reference of hidden member. Bug: 182963415 Test: m ethernet-service Test: atest EthernetServiceTests Change-Id: I2a27410a6148c525e17a11cb1ba3570f04e60b5d
2021-03-18Use clearAll() of NetworkCapabilities.Builder insteadlucaslin
NetworkCapabilities#clearAll() is a hidden API, use clearAll() of NetworkCapabilities.Builder instead. Bug: 182963415 Test: m ethernet-service Test: atest EthernetServiceTests Change-Id: I87745b5f7a5817f95cdbc623b2313c181ff48f19
2021-03-11Merge "Rename StringNetworkSpecifier to Ethernet"Remi NGUYEN VAN
2021-03-11Merge "[CS09]Remove hidden API usage of NetworkRequest"Frank Li
2021-03-11[CS09]Remove hidden API usage of NetworkRequestlifr
The connection service will become the mainline module. So, need to remove the hidden API usage of NetworkRequest. The NetworkRequest.type(TRACK_DEFAULT) is no longer sent to the factories. So, remove the (TRACK_DEFAULT) check to avoid using hidden API. Bug: 170598012 Test: atest EthernetServiceTests Change-Id: I5b5fed864318e9ac7e190c40d4f52076ab0eece8
2021-03-10Rename StringNetworkSpecifier to EthernetRemi NGUYEN VAN
The new specifier represents ethernet interfaces more specifically and is part of the public API. Bug: 179329291 Test: atest CtsNetTestCases Merged-In: I6cba1709b3007a22d95849a1281237c77e1464a4 Change-Id: I6cba1709b3007a22d95849a1281237c77e1464a4
2021-03-05[CS07]Remove hidden API usage of NetworkCapabilitieslifr
The connection service will become the mainline module. The mutable NetworkCapabilities is deprecated, and the NetworkCapabilities should be built through their Builder instead. Bug: 170598012 Test: atest EthernetServiceTests Change-Id: I09661ddda24d652ed791a7c6b093541e20a15e77
2021-02-09[CS02]Remove hidden API usage of NetworkCapabilitieslifr
The connection service will become the mainline module. The mutable NetworkCapabilities is deprecated, and the NetworkCapabilities should be built through their Builder instead. Bug: 170598012 Test: atest EthernetServiceTests Change-Id: I31f12a39a924302beca980b8d920e3c5c18816d4
2021-02-02Merge "Replace the usage of NetworkManagementService with NetdUtils"Lucas Lin
2021-01-28[VCN07.4] Add NOT_VCN_MANAGED for NetworkAgent implementationsjunyulai
Follow-up from aosp/1549897, the capability will not be in default capabilities, but will be in most of the NetworkRequests which requires internet. Thus, add the capabilities into all NetworkAgent implementations by default to provide backward compatibility. Test: TH Bug: 175662146 Change-Id: Ib6e203571946e3094e4ce534b108f796cc3b8fb7
2021-01-26Replace the usage of NetworkManagementService with NetdUtilslucaslin
Since NetdUtils has the same method(setInterfaceUp) as NetworkManagementService, replace the usage of NMS with NetdUtils. Bug: 170598012 Test: atest EthernetServiceTests Change-Id: Id0f8e17e9d6237fa8ab157c96dd982c47007a453
2021-01-12[NS01.eth] Remove a useless argumentChalard Jean
Test: FrameworksNetTests Change-Id: Ib262871e4909ae65b5e6b2e52d2f25bf5a653f34
2020-05-27Add TRANSPORT_TEST to test ethernet interfacesRemi NGUYEN VAN
Because they operate on test interfaces, ethernet interfaces included with setIncludeTestInterfaces should have TRANSPORT_TEST. Bug: 156319532 Test: atest CaptivePortalApiTest Change-Id: Ife3eab06432cabf3ee626de49abc31c8349b4316
2020-05-11Add capability they should always have to eth networks.Chalard Jean
There is a stopgap hack in ConnectivityService doing this automatically, but individual agents should be doing this themselves. Test: FrameworksNetTests NetworkStackTests Bug: 150570873 Change-Id: I6f75e2b26eb9f554243bc418142a4dc18839aa79
2020-04-01Address further API council comments.Chalard Jean
Test: FrameworksNetTests NetworkStackTests Bug: 152238712 Copy from ag/10857997 Change-Id: I7c27f76c54a76abeae46dcdcddaeb3ca48afa358 Merged-In: I7c27f76c54a76abeae46dcdcddaeb3ca48afa358
2020-04-01Convert the Ethernet factory to the new network agentChalard Jean
This is a combination of ag/10147368 and ag/10438581. ag/10147368 implemented this conversion together with using the planned NetworkScore API, while ag/10438581 reverted the parts that had to do with NetworkScore. This is just a squash of these two patches and it brings the factory in line with the code in rvc-dev. Test: FrameworksNetTests NetworkStackTests EthernetTetheringTest Change-Id: Ib214fbbd042f2c0ebd01cf5b0ec33d922629677e Merged-In: Ie7b70750ef0e17141080f4266dea6155c3601569
2020-03-26Fix querying Ethernet availability for unprivileged callers.Lorenzo Colitti
Both EthernetManager#getAvailableInterfaces() and the no-arg version of EthernetManager#isAvailable() end up calling EthernetServiceImpl#getAvailableInterfaces. This method attempts to filter out restricted interfaces if the caller does not have the CONNECTIVITY_USE_RESTRICTED_NETWORKS permission. Unfortunately EthernetNetworkFactory's notion of a restricted interface is the opposite of what it should be. This means that while privileged callers can see all interfaces, unprivileged callers can only see restricted interfaces which they cannot use. Fix this by correcting NetworkInterfaceState#isRestricted(), so that unprivileged callers can see only unrestricted interfaces. Privileged callers are unaffected. This bug probably went unnoticed because restricted Ethernet interfaces are rare (likely used only on auto devices) and because the callers that care about those restricted interfaces are generally privileged. Bug: 148824036 Test: atest android.net.EthernetTetheringTest#testPhysicalEthernet Change-Id: Idff3b05a193a80c581d80d0e4fe9c2d3fc0d8a25
2020-03-26Don't call maybeTrackInterface on the wrong thread.Lorenzo Colitti
Bug: 150644681 Test: atest TetheringIntegrationTests:EthernetTetheringTest --rerun-until-failure 100 Change-Id: Ia2cb265f8d4de96210f1462339c10ad2947eec65
2020-03-19Send tethered interface callbacks based on interface existence.Lorenzo Colitti
Currently, callbacks for tethered interface availability are sent based on interface link state. This is incorrect: - It is acceptable and expected to be able to enable tethering on an interface that does not yet have link up. - It doesn't seem useful to disable Ethernet tethering if link temporarily goes down. Instead, only base the callbacks on whether an interface exists or not. Bug: 150644681 Test: WIP tests in aosp/1260100 pass Change-Id: I015219cbd03626c38fb5156d0cb2991ba7d7def7
2020-03-19Support setting the default interface to null again.Lorenzo Colitti
Currently, the default interface can only ever go from null to non-null. This is correct for fixed interfaces (because they don't get unplugged) and it's generally correct for USB interfaces that use ethX as their device name (because when they are unplugged and plugged in again, the device name won't change). But it is not correct if, for example, the default interface is a test interface. So, allow mDefaultInterface to go back to null. This CL also fixes a crash if a tethered interface request is added and removed when there is no default interface. Also, make dump() report tethered interface requests. Also remove an unused variable that I missed in the previous CL. Bug: 150644681 Test: tested by EthernetTetheringTest in same topic Change-Id: I5109d8da3aeb6c1f6523291d9e2ec92c64b5ad2d
2020-03-19Make Ethernet interfaces more testable.Lorenzo Colitti
This CL adds a setIncludeTestInterfaces method to EthernetManager that, when called, causes the Ethernet service to recognize and manage test interfaces created by TestNetworkManager. Bug: 150644681 Test: Tested by EthernetTetheringTest in same topic Change-Id: I86eef7a93267f800dbfc8eafd307effa76a344ca
2020-02-01Set Ethernet default mode as CLIENTandroid-r-preview-1Milim Lee
Bug: 130840861 Test: build, boot atest EthernetTrackerTest manual test (using Ethernet) Change-Id: I935ea2e5f214aced67fb60f4aec2744077177545
2020-01-28Support one Ethernet interface in server mode.Lorenzo Colitti
Currently, Ethernet only supports interfaces in client mode (e.g., to connect to the Internet). Add minimal support to Ethernet to support interfaces in server mode. This simple implementation only works on the default interface, which is the first interface that is detected on boot (even if the interface is later removed). This also provides (but does not yet unhide) a simple API for Tethering to request that the next-plugged-in interface to be placed into server mode. Test: Enabling tethering with change on top Bug: 130840861 Merged-In: I78f85bc36aaceb62ce274003a75ea99d0b6bc8b7 Change-Id: I78f85bc36aaceb62ce274003a75ea99d0b6bc8b7 (clean cherry-pick from internal branch)
2020-01-09Merge "Avoid creating IpClient if ethernet cable is unplugged."Lorenzo Colitti
2019-12-17Fix refCount check at releaseNetworkForJunaid Babu
When releaseNetworkFor is called, refCount should be equal to 1 for network.stop() to be called. This is the same logic that is followed by WifiNetworkFactory also. In the current code, when refCount is 2 and releaseNetworkFor() is called, network.stop() will be executed and will stop Ethernet Bug: 146089778 Test: build and boot OK Change-Id: Ib7d1b488a2943364a8ba4a89eec5de4c33cf1d5a
2019-10-31Avoid creating IpClient if ethernet cable is unplugged.kevinwk_lee
This change avoids calling start() on needNetworkFor() if ethernet cable is unplugged. Fixed by adding isLinkUp validation. Test: ./cts-tradefed run cts-dev -d -m CtsSecurityTestCases -t \ android.security.cts.ListeningPortsTest#testNoRemotelyAccessibleListeningUdpPorts adb shell netstat -lnup Change-Id: I2debd7367a20b665249f9c19d2d8a61737435803
2019-09-20Merge "[Ethernet] Replace internal connectivity checks permission"ndk-sysroot-r21Paul Hu
2019-09-09Update Ethernet code for the NetworkFactory serial number.Chalard Jean
See aosp/708790 Bug: 18637384 Bug: 29030667 Test: manual cts runtest framework-net atest frameworks/opt/net/ethernet/tests Change-Id: I5caa4cb89ca1441f3c84b5675ceede6ecacfd132