Commit Graph

5168 Commits

Author SHA1 Message Date
Luke Huang
80f05e8cfc Merge "ConnectivityService get INetd directly." am: ddc1add0ac
am: 47820e87d4

Change-Id: Ia6c32320eea3117f7a79a6360b7819c64a88faa5
2018-10-01 02:29:32 -07:00
Lorenzo Colitti
b6113e8621 Merge "Remove spurious WTF in rematching networks." am: 4e6c1d8643
am: 421fcc6ec2

Change-Id: Ia1f7426a2f75ed6e6264a932255f77e707968165
2018-10-01 02:23:37 -07:00
Luke Huang
47820e87d4 Merge "ConnectivityService get INetd directly."
am: ddc1add0ac

Change-Id: I0efe022f74f3bcfe8b97853ef0d8c0d27a2d6b01
2018-10-01 01:23:23 -07:00
Lorenzo Colitti
421fcc6ec2 Merge "Remove spurious WTF in rematching networks."
am: 4e6c1d8643

Change-Id: If2dc54d1486fe51a1800c140fd83811492e4134b
2018-10-01 01:19:02 -07:00
Luke Huang
ddc1add0ac Merge "ConnectivityService get INetd directly." 2018-10-01 07:28:42 +00:00
Treehugger Robot
4e6c1d8643 Merge "Remove spurious WTF in rematching networks." 2018-10-01 06:33:29 +00:00
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
0687ae437f Merge "Rename object mNetd to mNetworkManagementService" am: b28fee1994
am: cb9a018048

Change-Id: I1fcfcfb8828bf9b6206ddadede25d5e27b3c2908
2018-09-30 20:28:15 -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
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
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
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
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
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
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
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
Paul Hu
0877d8650c Merge "PermissionMonitor: Limit preinstalled apps network permissions" am: cb0e6f589a
am: 41b3dd929f

Change-Id: I1478c932bf612fd4546c4178fc8f4a0bededf127
2018-09-03 02:41:26 -07:00
Paul Hu
41b3dd929f Merge "PermissionMonitor: Limit preinstalled apps network permissions"
am: cb0e6f589a

Change-Id: I173026e41ed11fa5f4c679a5759b55213e21b596
2018-09-03 02:30:12 -07:00
Paul Hu
cb0e6f589a Merge "PermissionMonitor: Limit preinstalled apps network permissions" 2018-09-03 09:16:52 +00:00
paulhu
c7a3a56e57 PermissionMonitor: Limit preinstalled apps network permissions
Not all preinstalled apps should have access to background
networks or restricted networks. But we give them all network
access permissions currently, it's not a good design. So we
shall limit preinstalled apps permissions, they should just
request the appropriate permission for their use case from
the network permissions.

Bug:19610688
Test: runtest frameworks-net
Change-Id: I184ae3197208c979847ca134c8f01b32528badf1
2018-08-29 13:49:33 +08:00
Erik Kline
50160c2f49 Merge "Remove ResolveUtil from frameworks/base callers" am: 0e1621296f
am: 89e36d45f7

Change-Id: I3199337fd168f58f13a547d4eaff2be069a22f3d
2018-08-28 20:21:50 -07:00
Erik Kline
89e36d45f7 Merge "Remove ResolveUtil from frameworks/base callers"
am: 0e1621296f

Change-Id: Ibc885ccd9531706df029154f7ec4fde71bf600d1
2018-08-28 20:12:49 -07:00
Erik Kline
767b7f2021 Remove ResolveUtil from frameworks/base callers
Use the Private DNS bypass logic that was moved into Network.

Once all callers of ResolvUtil are updated to use this interface
ResolvUtil can be deleted.

Test: as follows
    - built, flashed, booted
    - runtest frameworks-net passes
    - connection to captive portal network detects portal correctly
      and the login activity functions as expected

Bug: 64133961
Bug: 72345192
Bug: 73872000
Bug: 78548486

Change-Id: If11ef2b5ffdc729f8449cf18dccd5f1eccbc51e6
2018-08-28 12:59:21 +09:00