Commit Graph

5158 Commits

Author SHA1 Message Date
Chalard Jean
de3f1c804e Merge "Add log for debugging ConnectivityManager"
am: d3a9f1081a

Change-Id: I666e534f42a930a2d0fee55032d7a9e4516349c0
2018-10-11 21:11:51 -07:00
Chalard Jean
d3a9f1081a Merge "Add log for debugging ConnectivityManager" 2018-10-12 03:14:48 +00:00
Android Build Merger (Role)
68becced97 Merge changes into stage-aosp-master 2018-10-11 15:45:44 +00:00
Android Build Merger (Role)
c8b1e24b9b Merge changes into stage-aosp-master 2018-10-11 15:45:44 +00:00
Chalard Jean
4a4a900999 Merge "[PT11] Move handleDeprecatedGlobalHttpProxy to ProxyTracker"
am: 3bc52ec6f6

Change-Id: I91e1a230864f0d5d826c01f91918a35461e2a433
2018-10-11 06:36:29 -07:00
Treehugger Robot
3bc52ec6f6 Merge "[PT11] Move handleDeprecatedGlobalHttpProxy to ProxyTracker" 2018-10-11 12:50:17 +00:00
Lorenzo Colitti
27d5da4b3c Merge "Make setAirplaneMode @SystemApi for SetupWizard."
am: 772b75c26d

Change-Id: Ib418ca0a9f8d9be9c4bdc419c9d2ed05aa47a49d
2018-10-10 20:14:03 -07:00
Lorenzo Colitti
272a77dd9a Make setAirplaneMode @SystemApi for SetupWizard.
Expose ConnectivityManager#setAirplaneMode and the
NETWORK_SETUP_WIZARD permission so that SetupWizard can call
setAirplaneMode.

Delete setAirplaneMode from the greylist because the permissions
checks on it, since at least 2013, have been for a privileged
permission (CONNECTIVITY_INTERNAL) that normal apps don't have.

Test: m
Bug: 115302596
Change-Id: I28f24d32c4b4b386407e9e0e3514ea9f8854f4a8
2018-10-10 17:50:05 +09:00
Soi, Yoshinari
99efcbd08b Add log for debugging ConnectivityManager
Add log to ConnectivityManager for better investigations of issue.
This patch adds StackTrace to the following APIs.

reportInetCondition()
reportBadNetwork()
reportNetworkConnectivity()
sendRequestForNetwork()
requestNetwork()
releaseNetworkRequest()
registerNetworkCallback()
unregisterNetworkCallback()

Bug: 116751720
Change-Id: I992292cd9d6f3d69c91ddbde5577591f9ec0f39b
2018-10-10 11:56:04 +09:00
Yan Yan
bd45a0d77f Merge changes I10c01f2b,Ie05bc535
am: c182d29130

Change-Id: I2e55a266f65268ca734c028d4da7add14a281d75
2018-10-05 11:47:12 -07:00
Yan Yan
c182d29130 Merge changes I10c01f2b,Ie05bc535
* changes:
  Check to ensure UDP-encap is used only for IPv4
  Add UDP encapsulation tests for IpSecService.
2018-10-05 17:38:41 +00:00
Android Build Merger (Role)
57ff7edf69 Merge changes into stage-aosp-master 2018-10-05 17:35:26 +00:00
Android Build Merger (Role)
526ef90850 Merge changes into stage-aosp-master 2018-10-05 17:35:26 +00:00
Chalard Jean
c75b9031f5 Merge "[PT10] Move loadGlobalProxy into ProxyTracker."
am: 79822ffb6f

Change-Id: If5d2eb35f1c990fc6af5747fb2f8e3d55afb7eb9
2018-10-05 02:22:44 -07:00
Chalard Jean
9fbd93c675 [PT11] Move handleDeprecatedGlobalHttpProxy to ProxyTracker
This contains a significant logic change : it will load the
deprecated proxy settings synchronously instead of on the next
run loop. I think this is okay because it would happen almost
immediately anyway, and there is nothing in ConnectivityService
that might be changing this setting in the mean time. As for
the possibility that this was executed in the handler because
of possible disk access, I want to point out that the
loadGlobalProxy method that now calls this was already doing
those same similar accesses.

Test: runtest
Change-Id: Idc6f260e2a337689dc274eb758eb00f6a31089bb
2018-10-05 16:39:53 +09:00
Chalard Jean
7b09bbf924 [PT10] Move loadGlobalProxy into ProxyTracker.
Test: runtest
Change-Id: Id1c57ebb575c8742310be4822ec6e3fa03f487c3
2018-10-05 16:37:38 +09:00
evitayan
ceee5f8436 Check to ensure UDP-encap is used only for IPv4
This commit checks if UDP-encapsulation is used
for unsupported address family and throws
IllegalArgumentException when it happens.

Bug: 74213459
Test: Tests added in testCreateTransportModeTransformWithEncap
      and testCreateTunnelModeTransformWithEncap.
      Command: runtest frameworks-net
      Verified on taimen.
Change-Id: I10c01f2bad6aca23430849ea9ef6c1eb157ae131
2018-10-04 11:44:00 -07:00
evitayan
28abcaae90 Add UDP encapsulation tests for IpSecService.
This commit adds tests to ensure that IpSecService properly
handles UDP-encapsulation transforms correctly.

Bug: 76110065
Test: Added: testCreateTransportModeTransformWithEncap,
             testCreateTunnelModeTransformWithEncap.
      Command: runtest frameworks-net
      Verified on taimen.
Change-Id: Ie05bc5354266806c2d03b0b3d73a4696a89eccf2
2018-10-04 10:37:47 -07:00
Leif Hendrik Wilden
978695ee48 Merge "Allow wifi and ethenet connected at same time."
am: f0283ddd40

Change-Id: I7c1d6fdcb7c7ed26e765f52373e20d19b6db7bfc
2018-10-02 10:57:11 -07:00
Treehugger Robot
f0283ddd40 Merge "Allow wifi and ethenet connected at same time." 2018-10-02 17:09:16 +00:00
Leif Hendrik Wilden
a6521801cb Allow wifi and ethenet connected at same time.
This will improve the user experience on Android TV devices,
see bug for details.

In addition when connecting adb to the device by ethernet
for cts, wifi will not connect, causing lots of tests to fail.
For example:
[CTS7.1]android.net.wifi.cts.WifiInfoTest#testWifiInfoProperties
[CTS7.1]android.net.cts.ConnectivityManagerTest#testConnectivityChanged_
manifestRequestOnlyPreN_shouldReceiveIntent

Use command:settings to put global wifi_data_always_on 1 to enable it.

Bug: 26102779
Test: Manual, CTS.
Change-Id: I711d93061a6bc7164d98a858912f781e1b967406
2018-10-01 09:12:10 -07:00
Luke Huang
df49789837 Merge "ConnectivityService get INetd directly."
am: d7e5a17900

Change-Id: I0efe022f74f3bcfe8b97853ef0d8c0d27a2d6b01
2018-10-01 01:23:23 -07:00
Lorenzo Colitti
8d7b056325 Merge "Remove spurious WTF in rematching networks."
am: 5f2851ff02

Change-Id: If2dc54d1486fe51a1800c140fd83811492e4134b
2018-10-01 01:19:02 -07:00
Luke Huang
d7e5a17900 Merge "ConnectivityService get INetd directly." 2018-10-01 07:28:42 +00:00
Treehugger Robot
5f2851ff02 Merge "Remove spurious WTF in rematching networks." 2018-10-01 06:33:29 +00:00
Lorenzo Colitti
5bc5203d68 Merge "Make requestRouteToHost a no-op for system callers."
am: a52ba6ba12

Change-Id: I37ba2ef7ee7d052ec47c2d314f165315a13b06ac
2018-09-30 23:00:08 -07:00
Treehugger Robot
a52ba6ba12 Merge "Make requestRouteToHost a no-op for system callers." 2018-10-01 05:36:28 +00:00
Lorenzo Colitti
104c773343 Remove spurious WTF in rematching networks.
By construction, this WTF should never happen, since it's in an
if (nri.request.isRequest()) and by definition requests can only
be satisfied by one network at a time.

I don't think we've ever seen this particular WTF in an APR
report, which suggests that it's not happening in practice.

Test: atest FrameworksNetTests CtsNetTestCasesLegacyApi22 CtsNetTestCasesLegacyPermission22 android.net.cts.ConnectivityManagerTest
Change-Id: Icf4c7d2bb1da3c7db695cf0bcebc5806190a1677
2018-10-01 13:28:21 +09:00
Luke Huang
27d722edc4 Merge "Rename object mNetd to mNetworkManagementService"
am: 11453f8161

Change-Id: I658ba32a2396c393f3126b713d94ba809338d5e4
2018-09-30 20:16:41 -07:00
Luke Huang
358aa2652d ConnectivityService get INetd directly.
This is the first step for ConnectivityService
call into INetd directly.
Import INetd and get it by using NetdService.

Test: runtest frameworks-net passes
Test: manual testing of wakeupAdd/DelInterface works
Change-Id: I643dba5206c66958134152d062f3f3a19a34cf2c
2018-10-01 11:10:54 +08:00
Lorenzo Colitti
62f752c2ce Make requestRouteToHost a no-op for system callers.
Everything in the system should now be using proper multinetwork
APIs instead of this insecure and error-prone API.

Make this method do nothing when called by the system. For now,
keep the code around for backwards compatibility for apps
targeting Android releases before M.

Bug: 25824776
Bug: 25876485
Test: FrameworksNetTests pass
Test: CtsNetTestCasesLegacyApi22 pass
Test: CtsNetTestCasesLegacyPermission22 pass
Test: android.net.cts.ConnectivityManagerTest passes
Change-Id: I9b3557faccccc95c7b954db6a13b853b4c7edea0
2018-10-01 12:05:42 +09:00
Luke Huang
11453f8161 Merge "Rename object mNetd to mNetworkManagementService" 2018-10-01 03:01:33 +00:00
Chiachang Wang
d7a4444a6c Merge "Fix idle timer rule leakage"
am: 44f3896c39

Change-Id: I5ac912d121d094b36d46ccca385d5cf319fcb945
2018-09-30 19:57:18 -07:00
Chiachang Wang
44f3896c39 Merge "Fix idle timer rule leakage" 2018-10-01 02:20:23 +00:00
Chiachang Wang
228b1c34ed Fix idle timer rule leakage
Idle timer rule is not cleared as expected if there is a
default network replacement.

Bug:37080406
Test: 1.run frameworks-net
      2.check iptables rule with default network replacement

Change-Id: I6bd29d79e4ca3e8de4b867c4fcb5f81d02ba6de4
2018-09-28 22:42:48 +08:00
Remi NGUYEN VAN
41779ee81b Merge "Call clearSettingsProvider before and after test"
am: 3868fc30ee

Change-Id: I38cae25353df48851280490d4593e70b49f0e6c0
2018-09-28 07:28:31 -07:00
Luke Huang
84e73baf3c Rename object mNetd to mNetworkManagementService
No functionality change

Test: runtest frameworks-net passes
Change-Id: Ic3977eed9a86deb76ef0e4e12ffa17597bdecc30
2018-09-28 13:47:13 +08:00
Remi NGUYEN VAN
ce9215b447 Call clearSettingsProvider before and after test
FakeSettingsProvider requires this method to be called before and after
use. Without this, the settings value or content provider may be cached
statically, so the test will be affected by code accessing settings
before it is run.

Bug: b/116668105
Test: atest FrameworksNetTests
Change-Id: I1480f3f3bbb17791752582a70327bb5c7c348d7c
2018-09-28 14:46:34 +09:00
Jeffrey Vander Stoep
0c334f2581 Merge "Add ConnectivityManager.getConnectionOwnerUid()"
am: f8529dc891

Change-Id: Ib575a2a03c332d0143ed15652cc9c08c9cff694f
2018-09-21 14:26:19 -07:00
Jeff Vander Stoep
e7205d6853 Add ConnectivityManager.getConnectionOwnerUid()
Allow VPN apps to lookup the UID owner of a network connection.

Requires specifying the:
 - IP address and port for both the source and destination of a TCP
   connection.
 - IP address and port for either source and destination or just
   source for a UDP connection.
Only TCP and UDP protocols are supported. Only connections for UIDs
that apply to the calling VPN app will be resolved. This is intended
to replace direct app access to /proc/net/{tcp,tcp6,udp,udp6}.

The implementation uses netlink inet_diag sockets[1] to perform
the lookup on TCP sockets as well as UDP sockets when supported
(kernel has CONFIG_INET_UDP_DIAG=y).

[1] http://man7.org/linux/man-pages/man7/sock_diag.7.html

Bug: 9496886
Bug: 109758967
Test: atest HostsideVpnTests
Test: atest InetDiagSocketTest on Taimen with CONFIG_INET_UDP_DIAG
    and on Sailfish without CONFIG_INET_UDP_DIAG.
Change-Id: I2bbc7072dd091e2e653dadf6dc05024c04180f34
2018-09-21 06:16:09 +00:00
Android Build Merger (Role)
42367b7fb9 Merge changes into stage-aosp-master 2018-09-13 07:27:15 +00:00
Android Build Merger (Role)
771d829443 Merge changes into stage-aosp-master 2018-09-13 07:27:15 +00:00
Benedict Wong
c48d763dfd Merge "Use UID as requestID"
am: d173d03cbb

Change-Id: Icef3693f5911c8f69076e0990392e28c693cbc22
2018-09-12 14:35:27 -07:00
Benedict Wong
d173d03cbb Merge "Use UID as requestID" 2018-09-12 18:51:33 +00:00
Android Build Merger (Role)
729da5e7fb Merge changes into stage-aosp-master 2018-09-10 22:43:03 +00:00
Android Build Merger (Role)
92c173ee56 Merge changes into stage-aosp-master 2018-09-10 22:43:03 +00:00
Hugo Benichi
48266ce186 Merge changes Ie28e6c80,I3cb9b2ce
am: 706067c79a

Change-Id: I7e910aaed571c3c37fd4a5ba4d5a0eeb5f52c8bd
2018-09-04 23:15:54 -07:00
Hugo Benichi
706067c79a Merge changes Ie28e6c80,I3cb9b2ce
* changes:
  ConnectivityService: dumpsys args for dumping networks or requests only.
  ConnectivityService: Sort requests and networks in dumpsys.
2018-09-05 05:54:24 +00:00
Hugo Benichi
f93f448014 ConnectivityService: dumpsys args for dumping networks or requests only.
This patch adds two arguments to ConnectivityService dumpsys handler so
that only current networks or only current requests are dumped:

- "adb shell dumpsys connectivity networks" will dump current networks.
- "adb shell dumpsys connectivity requests" will dump current requests.

Bug: none
Test: Compiled, flashed, booted, checked that both new dumpsys args work
      as expected.

Change-Id: Ie28e6c800795eb49f386b609e8222a25e73dfc84
2018-09-05 13:04:12 +09:00
Hugo Benichi
821785c9f3 ConnectivityService: Sort requests and networks in dumpsys.
This patch adds two utility functions for sorting requests and networks
tracked by ConnectivityService by request id and network id
respectively.

These utility functions are then used to improve the output of
adb shell dumpsys connectivity so that networks and requests are
printed in a more stable fashion.

Bug: none
Test: Compiled, flashed, booted, checked output of adb shell
      dumpsys connectivity.

Change-Id: I3cb9b2ceab64145611a416dcb8c5d512838a2626
2018-09-05 13:03:55 +09:00