summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-06-18NetworkStack: Allow modules with network_stack uid am: b01ea6836bRoshan Pius
am: 6baef4d00b Change-Id: I61ccd5739d1c0702b17e00f242269ce0fdb4d380
2019-06-18NetworkStack: Allow modules with network_stack uidRoshan Pius
The wifi service will start running with network_stack uid, so allow modules with the same uid to use the network stack interfaces. Note: Only modules signed with the same certificate (same as network_stack APK) can share the uid, so this is restricted to Google signed modules. Bug: 113174748 Test: Local wifi stack testing Change-Id: I0fa1eef691601afd837a83a0dd041f8870ddfc77 (cherry-picked from 204d6c5b211c7ad5cb71b885bcb1bf4fa1a34c21)
2019-06-11Merge "Support beta 4 system images." am: 53ba2595c3Remi NGUYEN VAN
am: 34e740ca97 Change-Id: Ic97d42c89ac011fa668f0edb23fbb6a13a486e57
2019-06-12Merge "Support beta 4 system images."Remi NGUYEN VAN
2019-06-11Merge "Add DHCP INIT-REBOOT state in DHCP client." am: 670a869a13Xiao Ma
am: 02434dace7 Change-Id: I5866c84a4f4bbcb32e7349d3fe0a52cb927b7aa1
2019-06-11Support beta 4 system images.Remi NGUYEN VAN
Beta 4 system images only understand the NETWORK_TEST_RESULT_* constants and not the new NETWORK_VALIDATION_RESULT_* constants. When talking to such a build, use the older constants. Bug: 134923144 Test: atest NetorkStackTests Test: beta 4 OS build validates (patched from Icf28c5dcd622c89c411a87b63d2ce4aa7488d082 using: git -C ~/other-branch-repo/frameworks/base/ show -p | patch -p3) Change-Id: I749a228711b1b7ea9b5f87be5da3b026aaed0807
2019-06-11Add DHCP INIT-REBOOT state in DHCP client.Xiao Ma
Bug: 122710829 Test: atest FrameworksNetTests NetworkStackTests Change-Id: I4d7f2f5e7303f34b6364109a545f60fc25b88058
2019-06-09Merge "Add an IpClientIntegrationTest" am: 67be1d71aaXiao Ma
am: 7b2e7f6a1d Change-Id: I6db9bd839077abd2363c45f6a8ce8cafb53d0654
2019-06-10Merge "Add an IpClientIntegrationTest"Treehugger Robot
2019-06-10Add an IpClientIntegrationTestXiao Ma
The test sets up a tap interface and starts IpClient on it. It currently only tests that DhcpClient starts sending discover packets. Test: atest NetworkStackIntegrationTests Test: atest NetworkStackTests Change-Id: I99b135974af758ad5255f06bef6121e85ab62ffe
2019-06-10Merge "Check system_server PID in NetworkStack calls"Remi NGUYEN VAN
2019-06-08Don't report probe status to ConnectivityService.Lorenzo Colitti
Late in the Q release cycle, NetworkMonitor started sending probe results as well as evaluation results to ConnectivityService. This resulted in passing information to NetworkAgents at the wrong time. For example, as soon as it connected to a network, it would report INVALID_NETWORK to the NetworkAgents, causing Wi-Fi to disable autojoin and telephony to detect a data stall and initiate recovery. Unfortunately there is not enough information to correctly suppress these messages in ConnectivityService. So, just stop sending them. ConnectivityService doesn't use them anyway. Bug: 134446021 Test: atest NetworkStackTests Change-Id: I9e3d9b9057fd017e202d056246ca2711f73d28c7
2019-06-07Don't report probe status to ConnectivityService.Lorenzo Colitti
Late in the Q release cycle, NetworkMonitor started sending probe results as well as evaluation results to ConnectivityService. This resulted in passing information to NetworkAgents at the wrong time. For example, as soon as it connected to a network, it would report INVALID_NETWORK to the NetworkAgents, causing Wi-Fi to disable autojoin and telephony to detect a data stall and initiate recovery. Unfortunately there is not enough information to correctly suppress these messages in ConnectivityService. So, just stop sending them. ConnectivityService doesn't use them anyway. Bug: 134446021 Test: atest NetworkStackTests Change-Id: I9e3d9b9057fd017e202d056246ca2711f73d28c7
2019-06-04Check system_server PID in NetworkStack callsRemi NGUYEN VAN
Add a check that callers with UID 1000 always have the same PID. This is a proxy for checking that no system is designed to bind to the network stack unless it is the system_server, as otherwise either the system_server would start crashing, or that system would not have access to binder calls. Also remove access from PHONE_UID as it is not being used. Test: Flashed, WiFi working, Bluetooth reverse tethering shows no permission issue. Bug: 133209255 (patched automatically from Ib848aaaedfd599c1d4437378846c7dda74352019) (command: git -C [qt repo] show -p 4895c5 | patch -p3) Merged-In: I1205ae4b1062fe78f1e2283d6c308caa58651e86 Change-Id: I42215bd8b14d66d0150e7dac04fbb28feef991a6
2019-05-30Merge "Check system_server PID in NetworkStack calls" into qt-devTreeHugger Robot
2019-05-30Check system_server PID in NetworkStack callsRemi NGUYEN VAN
Add a check that callers with UID 1000 always have the same PID. This is a proxy for checking that no system is designed to bind to the network stack unless it is the system_server, as otherwise either the system_server would start crashing, or that system would not have access to binder calls. Also remove access from PHONE_UID as it is not being used. Test: Flashed, WiFi working, Bluetooth reverse tethering shows no permission issue. Bug: 133209255 Change-Id: Ib848aaaedfd599c1d4437378846c7dda74352019
2019-05-28Make the memory store operations serial.Chalard Jean
Bug: 128499160 Test: new test in this patch Change-Id: I6ccdc801e3888a61b22272c8ce9480f45fa26df2 (cherry picked from commit 3074f10b41fd1b622dc698d89e4c9e1bcb5b05cf) Merged-In: I10b5c5cd85fcb76924ba96c8c379be677774705d
2019-05-28Merge "Wipe the data in IpMemoryStore database upon network factory reset." ↵TreeHugger Robot
into qt-dev
2019-05-28Wipe the data in IpMemoryStore database upon network factory reset.Xiao Ma
Bug:128499160 Test: manual Test: atest FrameworksNetTests NetworkStackTests Merged-In: I13ad04454e638905b74dd42a1c83266c7c37652f Merged-In: Ia13ff10a57c2043f6676976f23ecfb2d2a9a6ef0 (cherry picked from commit ef6ef68c48b869aa9960edd81c73f3d31391ae26) Change-Id: I42507451d55a620c0e2d271c895ad158f348c1a5
2019-05-28Make the memory store operations serial.Chalard Jean
Bug: 128499160 Test: new test in this patch Change-Id: I10b5c5cd85fcb76924ba96c8c379be677774705d
2019-05-28Merge "Wipe the data in IpMemoryStore database upon network factory reset."Xiao Ma
2019-05-27Wipe the data in IpMemoryStore database upon network factory reset.Xiao Ma
Bug:128499160 Test: manual Test: atest FrameworksNetTests NetworkStackTests Change-Id: Ib563463a861a5d27b1e9b5fbb92342249b573802
2019-05-27Clean up for multiple validation result updateChiachang Wang
This is a follow-up commit for aosp/955431 to update commets and minor updates in unit test. Test: atest com.android.server.ConnectivityServiceTest#testCaptivePortalOnPartialConnectivity Bug: 130683832 Change-Id: I581eae8daeddd2c4c186e7b40e27fef2aaa7ab43 Merged-In: I9087ef791b3fee5399ba8e83ef9d8a544845a4dd Merged-In: I4424663292c5ad29eb7a888fa6975835721a5d2e (cherry picked from commit 3d3a9fff7b7fa0df4ee627cb082668e642d6f754)
2019-05-24Update multiple validation result to ConnectivityServiceChiachang Wang
Once a network is determined to have partial connectivity, it cannot go back to full connectivity without a disconnect. This is because NetworkMonitor can only communicate either PARTIAL_CONNECTIVITY or VALID, but not both. Thus, multiple validation results allow ConnectivityService to know the real network status. Bug: 129662877 Bug: 130683832 Test: atest FrameworksNetTests Test: atest NetworkStackTests Test: atest --generate-new-metrics 50 NetworkStackTests:com.android.server.connectivity.NetworkMonitorTest Test: Simulate partial connectvitiy Change-Id: I406c9368617c03a2dd3ab15fb1f6dbf539d7c714 Merged-In: I243db4c406cca826e803c8035268bc0c6e6e01e2 (cherry picked from commit 4532abd4d2af9ad118873a63cafc6028ed87c52e)
2019-05-24Clean up for multiple validation result updateChiachang Wang
This is a follow-up commit for aosp/955431 to update commets and minor updates in unit test. Test: atest com.android.server.ConnectivityServiceTest#testCaptivePortalOnPartialConnectivity Bug: 130683832 Change-Id: I581eae8daeddd2c4c186e7b40e27fef2aaa7ab43
2019-05-23Update multiple validation result to ConnectivityServiceChiachang Wang
Once a network is determined to have partial connectivity, it cannot go back to full connectivity without a disconnect. This is because NetworkMonitor can only communicate either PARTIAL_CONNECTIVITY or VALID, but not both. Thus, multiple validation results allow ConnectivityService to know the real network status. Bug: 129662877 Bug: 130683832 Test: atest FrameworksNetTests Test: atest NetworkStackTests Test: atest --generate-new-metrics 50 NetworkStackTests:com.android.server.connectivity.NetworkMonitorTest Test: Simulate partial connectvitiy Change-Id: I406c9368617c03a2dd3ab15fb1f6dbf539d7c714
2019-05-22Merge "Address comments on dumpsys network_stack version" into qt-devRemi NGUYEN VAN
2019-05-22Address comments on dumpsys network_stack versionRemi NGUYEN VAN
Track a set of versions instead of just the latest seen version, and print versions in the standard dumpsys network_stack as well. Also add version tracking for the netd aidl interface. Test: Flashed, dumpsys network_stack and dumpsys network_stack version Bug: 133124190 Change-Id: I9bf21b10b02f605ef7b85aceb808a5437d936f85
2019-05-21Merge "Add dumpsys network_stack version"Remi NGUYEN VAN
2019-05-21Add dumpsys network_stack versionRemi NGUYEN VAN
This is necessary to allow testing for the network stack version and the version it is getting from the system server. Test: flashed, WiFi working Test: dumpsys network_stack version shows data (although version numbers being fixed) Bug: 133124190 (clean cherry-pick from qt-dev) Change-Id: If5114ee2b02408cf96f86efaec2c420ccc5e330a Merged-In: I9ea85c29667d4510225637071990732360841db6
2019-05-20Add a factoryReset method to IIpMemoryStore, and freeze api.Lorenzo Colitti
Currently unimplemented. Implementation will be in a future CL. Test: m Bug: 128499160 Change-Id: Ia11ecd33f528d01667b1baeb8671b7213a31eef5 Merged-In: Ia11ecd33f528d01667b1baeb8671b7213a31eef5 (cherry picked from commit 10ddc681cf8ffc2c189ff975ad5885b32e670cb9)
2019-05-20Add dumpsys network_stack versionRemi NGUYEN VAN
This is necessary to allow testing for the network stack version and the version it is getting from the system server. Test: flashed, WiFi working Test: dumpsys network_stack version shows data (although version numbers being fixed) Bug: 133124190 Change-Id: I9ea85c29667d4510225637071990732360841db6
2019-05-20Add a factoryReset method to IIpMemoryStore, and freeze api.Lorenzo Colitti
Currently unimplemented. Implementation will be in a future CL. Test: m Bug: 128499160 Change-Id: Ia11ecd33f528d01667b1baeb8671b7213a31eef5
2019-05-15Merge "apf: Remove IPv6 NAT-T keepalive related codes and ApfTest ↵Aaron Huang
improvement" into qt-dev
2019-05-15Merge "Dropping NAT-T keepalive packet from APF" into qt-devAaron Huang
2019-05-15Fix a bug where private DNS to v4-only servers don't validate.Chiachang Wang
Bug: 132670008 Test: Manual Test: atest NetworkStackTests Change-Id: I8ae6fa6f3800f5f6c9ee88ffe3b8ada34b96dee6 Merged-In: I362d43ee6af318694a4038a257e1ebb3f577863c
2019-05-15Merge "Fix a bug where private DNS to v4-only servers don't validate."Chiachang Wang
2019-05-15Fix a bug where private DNS to v4-only servers don't validate.Chiachang Wang
Bug: 132670008 Test: Manual Test: atest NetworkStackTests Change-Id: I8ae6fa6f3800f5f6c9ee88ffe3b8ada34b96dee6 (cherry picked from commit aea0808d3b26dab24005afc39eb7ec4f4f333bae)
2019-05-15apf: Remove IPv6 NAT-T keepalive related codes and ApfTest improvementAaron Huang
Remove IPv6 related codes since we don't support IPv6 NAT-T keepalive as the kernel doesn't support IPv6 UDP encapsulation. Renaming keepaliveAck to keepaliveResponce since NAT-T keeaplive response is not an ack. Also, add generateV4NattKeepaliveFilters() if multicast filter is disabled. Verify incoming packet contains 1 byte payload but it is not 0xff will pass NAT-T keepalive filter. Bug: 33530442 Test: atest FrameworksNetTests atest NetworkStackTests Change-Id: I6d3eb9e6271a0f51dec4a55d68a69b4280175d86 Merged-In: I6d3eb9e6271a0f51dec4a55d68a69b4280175d86 Merged-In: If01bc6a71cf26e13edc049d969d23088fa8242e4 (cherry picked from commit 4ee521b022afd3a62875d1c2bc69c346641c8c82)
2019-05-14apf: Remove IPv6 NAT-T keepalive related codes and ApfTest improvementAaron Huang
Remove IPv6 related codes since we don't support IPv6 NAT-T keepalive as the kernel doesn't support IPv6 UDP encapsulation. Renaming keepaliveAck to keepaliveResponce since NAT-T keeaplive response is not an ack. Also, add generateV4NattKeepaliveFilters() if multicast filter is disabled. Verify incoming packet contains 1 byte payload but it is not 0xff will pass NAT-T keepalive filter. Bug: 33530442 Test: atest FrameworksNetTests atest NetworkStackTests Change-Id: Ifb9e088c0c8d71c763ebd9ad122103d0f97ca278
2019-05-13Dropping NAT-T keepalive packet from APFAaron Huang
Add NAT Traversal keepalive filter to APF program to drop NAT-T keepalive packets when NAT-T keepalive offload is starting. Bug: 33530442 Test: - atest NetworkStackTests - atest FrameworksNetTests Change-Id: If62ba7fdb5f0f0f0a7a59ec169e82b4e3147eedd Merged-In: If62ba7fdb5f0f0f0a7a59ec169e82b4e3147eedd Merged-In: Ib3416ec37f0de12daf882068e00673ad60438c1a (cherry picked from commit 95538d2d6b13188c9a742000a85517aef28bb833)
2019-05-13Merge "Dropping NAT-T keepalive packet from APF"Aaron Huang
2019-05-13Send message to add/remove NAT-T keepalive packet filter.Aaron Huang
Remove definition of TYPE_NATT and TYPE_TCP since the type can be identified by checking message.obj is an instance of NattKeepalivePacketData or TcpKeepalivePacketData. It's more simple and won't have dependency on KeepaliveInfo. Bug: 33530442 Test: atest FrameworksNetTests atest NetworkStackTests (Clean cherry-pick of aosp/955419) Change-Id: Ic97ffe9ff5781778efd264460809f5059f0f4230 Merged-In: Ic97ffe9ff5781778efd264460809f5059f0f4230
2019-05-10Merge "Use async dns query to resolve all addresses" into qt-devTreeHugger Robot
2019-05-10Dropping NAT-T keepalive packet from APFAaron Huang
Add NAT Traversal keepalive filter to APF program to drop NAT-T keepalive packets when NAT-T keepalive offload is starting. Bug: 33530442 Test: - atest NetworkStackTests - atest FrameworksNetTests Change-Id: I1c537485e11b31e5a6e0d8b7b6a1f396f9441746
2019-05-10Merge "Send message to add/remove NAT-T keepalive packet filter."Aaron Huang
2019-05-10Use async dns query to resolve all addressesChiachang Wang
Currently, it looks like private DNS server resolution uses OneAddressPerFamilyNetwork and only returns one server address. It should return all addresses. Use async dns api for this. Bug: 123435238 Test: atest NetworkStacktests Change-Id: I2b7e184d9b9800a83b55dceb73af69085668748c (cherry picked from commit 40c5295cee38166fadb53d5f37dc885d94c4971f) Merged-In: I2b7e184d9b9800a83b55dceb73af69085668748c Merged-In: I9f50da3c8c2e3b12b29bc8844291e4bf1559cd1f
2019-05-10Support strict mode private DNS on VPNs that provide Internet.Chalard Jean
Currently, strict mode private DNS does not work on VPNs because NetworkMonitor does not validate VPNs. When a VPN connects, it immediately transitions to ValidatedState, skipping private DNS hostname resolution. This change makes NetworkMonitor perform private DNS hostname resolution and evaluation even on VPNs. In order to ensure that the system always immediately switches to the VPN as soon as it connects, remove the unvalidated penalty for VPN networks. This ensures that the VPN score is always 101 and the VPN always outscores other networks as soon as it connects. Previously, it would only outscore other networks when no-op validation completed. Bug: 122652057 Test: atest FrameworksNetTests NetworkStackTests Test: manually ran a VPN with private DNS in strict mode atest android.net.cts.ConnectivityManagerTest com.android.cts.net.HostsideVpnTests Change-Id: Iaa78a7edcf23755c89d7b354edbc28d37d74d891 Merged-In: Iaa78a7edcf23755c89d7b354edbc28d37d74d891 (cherry picked from commit 414b8c8b1ce8ae2ad6ef95c1ffba19062077d3e6)
2019-05-10Merge "Support strict mode private DNS on VPNs that provide Internet."Chalard Jean
2019-05-10Support strict mode private DNS on VPNs that provide Internet.Lorenzo Colitti
Currently, strict mode private DNS does not work on VPNs because NetworkMonitor does not validate VPNs. When a VPN connects, it immediately transitions to ValidatedState, skipping private DNS hostname resolution. This change makes NetworkMonitor perform private DNS hostname resolution and evaluation even on VPNs. In order to ensure that the system always immediately switches to the VPN as soon as it connects, remove the unvalidated penalty for VPN networks. This ensures that the VPN score is always 101 and the VPN always outscores other networks as soon as it connects. Previously, it would only outscore other networks when no-op validation completed. Bug: 122652057 Test: atest FrameworksNetTests NetworkStackTests Test: manually ran a VPN with private DNS in strict mode atest android.net.cts.ConnectivityManagerTest com.android.cts.net.HostsideVpnTests Change-Id: Iaa78a7edcf23755c89d7b354edbc28d37d74d891