Commit Graph

5839 Commits

Author SHA1 Message Date
Lorenzo Colitti
3b2cdecbca Merge "Make requestRouteToHost a no-op for system callers." am: 6b6feb8ff8
am: 2fc0c62d6a

Change-Id: Iefddec95271b56007794fa10f7f3a4122c68877e
2018-09-30 23:15:42 -07:00
Lorenzo Colitti
2fc0c62d6a Merge "Make requestRouteToHost a no-op for system callers."
am: 6b6feb8ff8

Change-Id: I37ba2ef7ee7d052ec47c2d314f165315a13b06ac
2018-09-30 23:00:08 -07:00
Treehugger Robot
6b6feb8ff8 Merge "Make requestRouteToHost a no-op for system callers." 2018-10-01 05:36:28 +00:00
Lorenzo Colitti
d47c367905 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
ebc3ff8c54 Merge "Rename object mNetd to mNetworkManagementService" am: b28fee1994 am: cb9a018048
am: 0687ae437f

Change-Id: I34fbea64c15ccd96772d2aab7d23762c6d7f74ac
2018-09-30 20:37:45 -07:00
Luke Huang
0687ae437f Merge "Rename object mNetd to mNetworkManagementService" am: b28fee1994
am: cb9a018048

Change-Id: I1fcfcfb8828bf9b6206ddadede25d5e27b3c2908
2018-09-30 20:28:15 -07:00
Chiachang Wang
3e87dde154 Merge "Fix idle timer rule leakage" am: c8019ecef2 am: 9bf2ab814b
am: 1fa4538303

Change-Id: If0a281e2d8457eebaa2e572f70ef881f6e8fdb94
2018-09-30 20:20:17 -07:00
Luke Huang
cb9a018048 Merge "Rename object mNetd to mNetworkManagementService"
am: b28fee1994

Change-Id: I658ba32a2396c393f3126b713d94ba809338d5e4
2018-09-30 20:16:41 -07:00
Luke Huang
46289a2489 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
Chiachang Wang
1fa4538303 Merge "Fix idle timer rule leakage" am: c8019ecef2
am: 9bf2ab814b

Change-Id: I51ab9c7e58853ab93b09f1ca9e0c461134157c7d
2018-09-30 20:10:04 -07:00
Lorenzo Colitti
2386291f56 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
b28fee1994 Merge "Rename object mNetd to mNetworkManagementService" 2018-10-01 03:01:33 +00:00
Chiachang Wang
9bf2ab814b Merge "Fix idle timer rule leakage"
am: c8019ecef2

Change-Id: I5ac912d121d094b36d46ccca385d5cf319fcb945
2018-09-30 19:57:18 -07:00
Chiachang Wang
c8019ecef2 Merge "Fix idle timer rule leakage" 2018-10-01 02:20:23 +00:00
TreeHugger Robot
f79d25bd41 Merge "Call clearSettingsProvider before and after test" 2018-09-28 18:29:14 +00:00
Remi NGUYEN VAN
991678c453 Merge "Call clearSettingsProvider before and after test" am: 3868fc30ee am: a1a00cbbd1
am: 7233437b07

Change-Id: I42487bdadc12fad135ac65dce0dfd6f77a9b9365
2018-09-28 07:53:08 -07:00
Chiachang Wang
087fd275f9 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
7233437b07 Merge "Call clearSettingsProvider before and after test" am: 3868fc30ee
am: a1a00cbbd1

Change-Id: I21123baaa211d19af181c970b7ad85051c7d08b7
2018-09-28 07:40:45 -07:00
Remi NGUYEN VAN
a1a00cbbd1 Merge "Call clearSettingsProvider before and after test"
am: 3868fc30ee

Change-Id: I38cae25353df48851280490d4593e70b49f0e6c0
2018-09-28 07:28:31 -07:00
Remi NGUYEN VAN
3300b0bda8 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
(cherry picked from commit b7c67f8e24)
2018-09-28 08:24:12 -06:00
Luke Huang
5638081758 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
b7c67f8e24 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
9d2725c515 Merge "Add ConnectivityManager.getConnectionOwnerUid()" am: f8529dc891 am: 937c009070
am: c5dd800f8c

Change-Id: I8b8f6e74abc47f94231f3b9a1ab0db1ad0903a10
2018-09-21 15:36:28 -07:00
Jeffrey Vander Stoep
c5dd800f8c Merge "Add ConnectivityManager.getConnectionOwnerUid()" am: f8529dc891
am: 937c009070

Change-Id: I4ec4b9a8954deec001841566e0722caa1a3fa248
2018-09-21 14:48:32 -07:00
Jeffrey Vander Stoep
937c009070 Merge "Add ConnectivityManager.getConnectionOwnerUid()"
am: f8529dc891

Change-Id: Ib575a2a03c332d0143ed15652cc9c08c9cff694f
2018-09-21 14:26:19 -07:00
Jeff Vander Stoep
39a51e0191 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
Mathew Inwood
2622bdf569 Move some members to the "Q blacklist".
Based on some analysis, these fields/methods are likely false positives.
Set maxTargetSdk=P so that any apps using them are required to migrate off
them in future. See the bug for more details.

Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 115609023
Test: m
Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
2018-09-14 13:18:34 +01:00
Shaotang Li
539a053d47 Merge changes into stage-aosp-master am: 0ae414753a
am: fcc936b90d

Change-Id: I2f147946ac2ea928137a23b96dacc7c44d6bf40a
2018-09-13 01:16:00 -07:00
Shaotang Li
314adf84da Merge changes into stage-aosp-master am: 56090a7d99
am: aa799aaadf

Change-Id: Ib1cab07ba9e0d0c52680f7e2f81b117fd0e231d1
2018-09-13 01:10:22 -07:00
Shaotang Li
fcc936b90d Merge changes into stage-aosp-master
am: 0ae414753a

Change-Id: I46d9e80464652ac98c7b745686aaa490d57a8ab0
2018-09-13 00:56:38 -07:00
Shaotang Li
aa799aaadf Merge changes into stage-aosp-master
am: 56090a7d99

Change-Id: I6fa8268060713303c3d999fec0fd91aa78849872
2018-09-13 00:52:20 -07:00
Android Build Merger (Role)
0ae414753a Merge changes into stage-aosp-master 2018-09-13 07:27:15 +00:00
Android Build Merger (Role)
56090a7d99 Merge changes into stage-aosp-master 2018-09-13 07:27:15 +00:00
Benedict Wong
9c41563bf8 Merge "Use UID as requestID" am: a2f1eb6cf3 am: 4742afd3a3
am: 2f62a66f45

Change-Id: I36f1f6ab5e43abfadcba972bc89bbb4caa902074
2018-09-12 16:23:43 -07:00
Benedict Wong
2f62a66f45 Merge "Use UID as requestID" am: a2f1eb6cf3
am: 4742afd3a3

Change-Id: I0d9fb770482e72f3b017702ffb7ec144a64462e0
2018-09-12 15:22:39 -07:00
Benedict Wong
4742afd3a3 Merge "Use UID as requestID"
am: a2f1eb6cf3

Change-Id: Icef3693f5911c8f69076e0990392e28c693cbc22
2018-09-12 14:35:27 -07:00
Benedict Wong
a2f1eb6cf3 Merge "Use UID as requestID" 2018-09-12 18:51:33 +00:00
Andreas Gampe
634ef0c74b Merge changes into stage-aosp-master am: 741a4c94ac
am: 09fdf8375e

Change-Id: Ib5bf516476d00ebdf985066480ceaa7499992b42
2018-09-10 16:22:34 -07:00
Andreas Gampe
51ac636877 Merge changes into stage-aosp-master am: 2c825c0278
am: aa15c5aa07

Change-Id: Ifdd9d438255ab122410c8529bbe6e94654d33e64
2018-09-10 16:17:18 -07:00
Andreas Gampe
09fdf8375e Merge changes into stage-aosp-master
am: 741a4c94ac

Change-Id: If60b6361f323c651510900344d75ce5fa7db17c3
2018-09-10 16:01:58 -07:00
Andreas Gampe
aa15c5aa07 Merge changes into stage-aosp-master
am: 2c825c0278

Change-Id: I4e707c0172a858db97d903ad79dadb37c7a910a7
2018-09-10 15:58:08 -07:00
Android Build Merger (Role)
741a4c94ac Merge changes into stage-aosp-master 2018-09-10 22:43:03 +00:00
Android Build Merger (Role)
2c825c0278 Merge changes into stage-aosp-master 2018-09-10 22:43:03 +00:00
Hugo Benichi
e279b7a719 Merge changes Ie28e6c80,I3cb9b2ce am: 078f0ce714 am: 6946b28c1d
am: 22a8d12365

Change-Id: Icc4434b3e2662c7f576eaee141db2fe04c78f786
2018-09-04 23:46:38 -07:00
Hugo Benichi
22a8d12365 Merge changes Ie28e6c80,I3cb9b2ce am: 078f0ce714
am: 6946b28c1d

Change-Id: I550b2dd325dba38513eabb3ae8c94c2787fbbf70
2018-09-04 23:24:07 -07:00
Hugo Benichi
6946b28c1d Merge changes Ie28e6c80,I3cb9b2ce
am: 078f0ce714

Change-Id: I7e910aaed571c3c37fd4a5ba4d5a0eeb5f52c8bd
2018-09-04 23:15:54 -07:00
Hugo Benichi
078f0ce714 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
5df91ce8be 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
a480ba57f5 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
Benedict Wong
c268c30491 Use UID as requestID
This change makes all requestIDs use the UID of the creator, ensuring
that rekeys always use the same requestID. This also has the nice
property of separating app's resources from each other, and allowing for
identification of which app/UID allocated the resources from
command-line dumps (eg ip xfrm state show)

Bug: 111841561
Test: Updated tests & passing taimen
Change-Id: I4f1eadcdb795766ae4682b15e41727359c52fa38
2018-09-04 14:25:13 -07:00