Commit Graph

3704 Commits

Author SHA1 Message Date
Junyu Lai
555917c3b0 Merge "Add new callback to inform blocking of network on specific uid." am: f709e754ab am: 745952eac8
am: 70626e3b94

Change-Id: I2bec503c5ffac156b679a48c09591458ab716789
2018-10-19 09:47:40 -07:00
Junyu Lai
70626e3b94 Merge "Add new callback to inform blocking of network on specific uid." am: f709e754ab
am: 745952eac8

Change-Id: I24b45f860992626968a6adfb0ff6b6389c85cf45
2018-10-19 09:26:39 -07:00
Junyu Lai
f709e754ab Merge "Add new callback to inform blocking of network on specific uid." 2018-10-19 15:20:48 +00:00
Chalard Jean
03eb7e1905 Merge "Fix a bug where Uri can't parse IPv6 literal addresses." am: 54677a86d4 am: 86ff3f4c7a
am: 6997192f35

Change-Id: I591c592e64a48f71f5528d999426343977fe48ce
2018-10-19 06:28:37 -07:00
Chalard Jean
6997192f35 Merge "Fix a bug where Uri can't parse IPv6 literal addresses." am: 54677a86d4
am: 86ff3f4c7a

Change-Id: Iec4629bc84bb32185be7120a6f5dfc5e97a5dbff
2018-10-19 06:14:19 -07:00
Chalard Jean
1a1d52ebb4 Fix a bug where Uri can't parse IPv6 literal addresses.
Bug: 25540738
Test: added CTS in aosp change #793137 and ran them
Change-Id: Ibf870b7e87799090fae9ed456286c11990b01461
2018-10-19 11:25:27 +09:00
Eran Messeri
5cb1e8e636 Merge "Enterprise Policy for Private DNS Setting" 2018-10-17 16:59:57 +00:00
Lorenzo Colitti
03fc4a7f68 Merge "Change permissions checks for setAirplaneMode." am: 3889ff53ed am: 10c175041e
am: 3d23e905a9

Change-Id: Icfc55aefa11a5e1dd92382c2be94c7b63889aa8f
2018-10-15 08:49:52 -07:00
Lorenzo Colitti
3d23e905a9 Merge "Change permissions checks for setAirplaneMode." am: 3889ff53ed
am: 10c175041e

Change-Id: Ibe5bbd51adae83e1bfb5a4ab43d29eb2ccd02a8b
2018-10-15 08:29:00 -07:00
Lorenzo Colitti
3889ff53ed Merge "Change permissions checks for setAirplaneMode." 2018-10-15 13:36:45 +00:00
Eran Messeri
a2e0ca77a8 Enterprise Policy for Private DNS Setting
A new API for setting the Private DNS settings value programatically via
the DevicePolicyManager.

Since there are two separate settings for Private DNS, and the value
provided for the hostname needs to be validated, a new
DevicePolicyManager API is introduced.

Only a Device Policy Client in Device Owner mode may change these
settings.
The DPC may additionally set a user restriction (added in a separate CL)
to prevent the user from changing Private DNS settings.

Bug: 112982691
Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testPrivateDnsPolicy
Change-Id: I566437e4fe10e1346858149120c50b3c20ca073f
2018-10-15 11:53:22 +01:00
Lorenzo Colitti
f5845d14e1 Change permissions checks for setAirplaneMode.
Require NETWORK_SETTINGS (or NETWORK_SETUP_WIZARD) instead of the
legacy CONNECTIVITY_INTERNAL permission. The users are as follows:

- The system callers (Phone, Settings, SystemUI, VrSettings) all
  have NETWORK_SETTINGS.
- SetupWizard has NETWORK_SETUP_WIZARD
- sl4a has NETWORK_STACK

Bug: 115302596
Test: builds, boots, airplane mode via SystemUI works
Change-Id: I8ca40182bd8b5e3fd9a82296c0cc28de30ed4baf
2018-10-12 16:35:46 +09:00
Chalard Jean
e6726c89a6 Merge "Add log for debugging ConnectivityManager" am: 4b48dca2e8 am: e3c0f28a1e
am: d55d5c2126

Change-Id: I23a34c21d05db126d8d2aacdeb700b3d2b2ed018
2018-10-11 21:29:52 -07:00
Chalard Jean
d55d5c2126 Merge "Add log for debugging ConnectivityManager" am: 4b48dca2e8
am: e3c0f28a1e

Change-Id: I2d8604c172b26e474050afd45fba74dc6c2c18bc
2018-10-11 21:21:45 -07:00
Chalard Jean
4b48dca2e8 Merge "Add log for debugging ConnectivityManager" 2018-10-12 03:14:48 +00:00
junyulai
05986c638b Add new callback to inform blocking of network on specific uid.
Currently, apps rely on querying NetworkInfo object to know
whether their network is blocked or not. There is no proactive
way to tell app when it is being blocked/unblocked. The only
event that app would receive is SocketException with
ECONNABORTED when their ongoing socket connection has been
blocked, which is not an elegant way to notify app.

Thus, this commit is trying to address this problem. Therefore,
with the uses of other callbacks, the need of
getState/getDetailedState in NetworkInfo could be completely
eliminated.

Test: runtest frameworks-net
      runtest -x NetworkPolicyManagerServiceTest.java
      cts-tradefed run cts -m CtsHostsideNetworkTests
      cts-tradefed run cts -m CtsNetTestCases -t \
              android.net.cts.ConnectivityManagerTest
Bug: 74575553

Change-Id: Iec96a3103d0aa9a505020eb89d69b89c0b694486
2018-10-11 16:31:10 +08:00
Lorenzo Colitti
8494db31cb Merge "Make setAirplaneMode @SystemApi for SetupWizard." am: 772b75c26d am: aab9359c05
am: 6b2f6b1e05

Change-Id: I994f0ff3ad9a3833eb56da7614e3632452d5c476
2018-10-10 23:32:45 -07:00
Lorenzo Colitti
6b2f6b1e05 Merge "Make setAirplaneMode @SystemApi for SetupWizard." am: 772b75c26d
am: aab9359c05

Change-Id: I8049e2484526104eba7fad92d2819eb94319fa84
2018-10-10 20:26:35 -07:00
Lorenzo Colitti
85eca488e5 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
dee2aa4e55 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
Andrew Solovay
d10e384d6c resolve merge conflicts of a3e34fe9fe to pi-dev-plus-aosp
Bug: None
Test: Eyeballed (comment-only change).
Change-Id: Ia644cde66376b2bddeb27bb2a147b3266037aa2c
Exempt-From-Owner-Approval: Docs-only change
Merged-In: Ia06e1fffd814671289a1caebd5962aedc18a28d7
2018-10-04 22:50:39 +00:00
Andrew Solovay
a3e34fe9fe Merge "docs: Replacing {#link with {@link" into pi-dev 2018-10-04 20:06:59 +00:00
Andrew Solovay
a44f2c075b docs: Replacing {#link with {@link
Several java files had the typo {#link (for cross-references to other
Javadocs) instead of the proper {@link format. This was confusing the
new doc publish tool (Mivi) since that's the format used for {# Django
comments #}.

Fixed a couple of links that had other errors (which prevented building
once the {# -> {@ was done) and other typos.

Replaced throughout the frameworks/base project; I'll need a separate CL
for the AndroidX fixes.

Staged to:

go/dac-stage/reference/android/app/Instrumentation.html
go/dac-stage/reference/android/bluetooth/BluetoothAdapter.html
go/dac-stage/reference/android/bluetooth/BluetoothDevice.html
go/dac-stage/reference/android/bluetooth/BluetoothServerSocket.html
go/dac-stage/reference/android/inputmethodservice/InputMethodService.html
go/dac-stage/reference/android/view/KeyCharacterMap.html
go/dac-stage/reference/android/view/KeyEvent.html
go/dac-stage/reference/android/media/AudioManager.html
go/dac-stage/reference/android/net/wifi/WifiConfiguration.html

(Other files were not in the public Javadocs.)

Bug: 111925950
Test: make ds-docs
Exempt-From-Owner-Approval: Docs-only change
Change-Id: Ia06e1fffd814671289a1caebd5962aedc18a28d7
Merged-In: Ia06e1fffd814671289a1caebd5962aedc18a28d7
2018-10-04 18:20:51 +00:00
Andrew Solovay
b577f20c23 Merge "cherry-pick from pi-dev docs: Replacing {#link with {@link" 2018-10-04 18:17:23 +00:00
Andrew Solovay
5c05dedda1 cherry-pick from pi-dev docs: Replacing {#link with {@link
Several java files had the typo {#link (for cross-references to other
Javadocs) instead of the proper {@link format. This was confusing the
new doc publish tool (Mivi) since that's the format used for {# Django
comments #}.

Fixed a couple of links that had other errors (which prevented building
once the {# -> {@ was done) and other typos.

Replaced throughout the frameworks/base project; I'll need a separate CL
for the AndroidX fixes.

(Other files were not in the public Javadocs.)

Bug: 111925950
Test: make ds-docs
Change-Id: Ia06e1fffd814671289a1caebd5962aedc18a28d7
Original Change-Id: Ia06e1fffd814671289a1caebd5962aedc18a28d7
Exempt-From-Owner-Approval: Docs-only change
2018-10-04 18:17:05 +00:00
kopriva
331101321f Merge "docs: fixing several typos, bug 36941887" into pi-dev am: 7640a41654
am: 9c736132c2

Change-Id: Idc9080fb4f2ec58a1817a8e847213f8d6bcbb2fa
2018-10-03 17:16:33 -07:00
kopriva
9c736132c2 Merge "docs: fixing several typos, bug 36941887" into pi-dev
am: 7640a41654

Change-Id: I4e95b8e43ce12a428baa41102260d6b145589a34
2018-10-03 16:58:12 -07:00
kopriva
c5fea19846 docs: fixing several typos, bug 36941887
Test: make ds-docs

Bug: 36941887

Change-Id: Id65c5a6b1cbb214ea46b13a6a68d667c819a2f60
Exempt-From-Owner-Approval: Docs-only change
2018-10-03 13:29:15 -07:00
Lorenzo Colitti
49018457bf Merge "Make requestRouteToHost a no-op for system callers." am: f1bcfb6014 am: 07012857ae
am: b0cac388e4

Change-Id: I2999208487c2c15d7e158e690cf7a2ac4e7c3e6d
2018-09-30 23:47:25 -07:00
Lorenzo Colitti
b0cac388e4 Merge "Make requestRouteToHost a no-op for system callers." am: f1bcfb6014
am: 07012857ae

Change-Id: Iefddec95271b56007794fa10f7f3a4122c68877e
2018-09-30 23:15:42 -07:00
Lorenzo Colitti
2e31a7c004 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
Jeffrey Vander Stoep
60871d841d Merge "Add ConnectivityManager.getConnectionOwnerUid()" am: f8529dc891 am: 6729107f22
am: 904252f7a3

Change-Id: I8b8f6e74abc47f94231f3b9a1ab0db1ad0903a10
2018-09-21 15:36:28 -07:00
Jeffrey Vander Stoep
904252f7a3 Merge "Add ConnectivityManager.getConnectionOwnerUid()" am: f8529dc891
am: 6729107f22

Change-Id: I4ec4b9a8954deec001841566e0722caa1a3fa248
2018-09-21 14:48:32 -07:00
Jeff Vander Stoep
0ac2c0945b 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
db0657a4f4 Merge "Move some members to the "Q blacklist"." 2018-09-14 13:54:28 +00:00
Mathew Inwood
8c854f86a4 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
kopriva
eac0905c11 docs: fixed instances of typo in 'overridden' am: debd4ee72d
am: 9b641cbc71

Change-Id: I071643e73656a2a17a3c0ab89ffacda9c1bfec80
2018-09-13 15:11:27 -07:00
kopriva
9b641cbc71 docs: fixed instances of typo in 'overridden'
am: debd4ee72d

Change-Id: Idde6240486463dee51cdc27b8cd066a80fb869e0
2018-09-13 14:57:25 -07:00
kopriva
debd4ee72d docs: fixed instances of typo in 'overridden'
This affects several files beyond those mentioned in the bug.

I didn't fix some instances because the files had code
problems that blocked presubmit checks.

Test: make ds-docs

Bug: 37094741

Change-Id: I642f0384fef2b267ebc970bae1b4fb90bae667e7
Exempt-From-Owner-Approval: Docs-only change
2018-09-13 11:40:59 -07:00
Tobias Thierer
a34c67eb09 Merge "Fix typo in android.net.Uri documentation." am: 8dc7e43bad am: 47fb98e8a4
am: 1943c462cf

Change-Id: I17d9bd0dc0ab2b4129aefc21f649da5990831067
2018-09-12 14:04:15 -07:00
Tobias Thierer
1943c462cf Merge "Fix typo in android.net.Uri documentation." am: 8dc7e43bad
am: 47fb98e8a4

Change-Id: Ia63097f8ea8c66b0451e69469768b1e04e6d5eee
2018-09-12 13:14:21 -07:00
Tobias Thierer
149e506efc Fix typo in android.net.Uri documentation.
This typo has been present since before the "auto import"
of cupcake sources in 2009.

Bug: 114704047
Test: Treehugger
Test: Checked through source inspection that this really returns
      the encoded form: its implementation is ssp.getEncoded(),
      whose implementation in turn is:
      return hasEncoded ? encoded : (encoded = encode(decoded));
Change-Id: I0e4fed702e6b3012429778ccbd18a495a5d69e9f
2018-09-11 10:40:36 +01:00
Remi NGUYEN VAN
111627f9d3 Merge "Add DhcpServer" am: e3a0f42e8e am: dccc1866de
am: cae667c43e

Change-Id: I602efdb3cb4b3316dada80361381404af1c3615c
2018-08-28 20:51:09 -07:00
Remi NGUYEN VAN
cae667c43e Merge "Add DhcpServer" am: e3a0f42e8e
am: dccc1866de

Change-Id: Ic3b1cd87389ade162c1c7441132f3e0451f1b78c
2018-08-28 20:42:08 -07:00
Erik Kline
d89fa25882 Merge "Remove ResolveUtil from frameworks/base callers" am: 0e1621296f am: 0bd9ac4b69
am: 37e01c985d

Change-Id: Iddadeb5dc0b97180deac407f3196185edd3e0340
2018-08-28 20:31:13 -07:00
Erik Kline
37e01c985d Merge "Remove ResolveUtil from frameworks/base callers" am: 0e1621296f
am: 0bd9ac4b69

Change-Id: I3199337fd168f58f13a547d4eaff2be069a22f3d
2018-08-28 20:21:50 -07:00
Remi NGUYEN VAN
e3a0f42e8e Merge "Add DhcpServer" 2018-08-29 03:19:27 +00:00
Treehugger Robot
0e1621296f Merge "Remove ResolveUtil from frameworks/base callers" 2018-08-29 02:58:08 +00:00
Chih-Hung Hsieh
f082d27640 Merge "Use multiple patterns and emails in per-file syntax." am: 7dd3f1dca6 am: bb6b0f578a
am: bb2ea09170

Change-Id: Ia4080d615f780042cd3aed67b77c66ca5a311451
2018-08-28 14:32:33 -07:00
Chih-Hung Hsieh
bb2ea09170 Merge "Use multiple patterns and emails in per-file syntax." am: 7dd3f1dca6
am: bb6b0f578a

Change-Id: I5547ca8887d5d24871af665acb71facc61aafd16
2018-08-28 12:51:10 -07:00