Commit Graph

5458 Commits

Author SHA1 Message Date
Mathew Inwood
55418eada5 Limit access to suspected false positives.
Members modified herein are suspected to be false positives: i.e. things
that were added to the greylist in P, but subsequent data analysis
suggests that they are not, in fact, used after all.

Add a maxTargetSdk=P to these APIs. This is lower-risk that simply
removing these things from the greylist, as none of out data sources are
perfect nor complete.

For APIs that are not supported yet by annotations, move them to
hiddenapi-greylist-max-p.txt instead which has the same effect.

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: Ia937d8c41512e7f1b6e7f67b9104c1878b5cc3a0
Merged-In: I020a9c09672ebcae64c5357abc4993e07e744687
2018-12-28 14:26:35 +00:00
Remi NGUYEN VAN
c094a5402c Add NetworkStack app
The app is not started yet, and does not contain any service for now.

Test: built, booted
Bug: b/112869080
Change-Id: Id5a0fd02c891100e85d86b1040e53beec3581950
2018-12-25 11:42:42 +09:00
Treehugger Robot
760e074e50 Merge "NativeHandle.java: dup() with O_CLOEXEC" 2018-12-18 18:36:35 +00:00
Ken Chen
3176e8be7a Merge "Remove 'hasDns' parameter" 2018-12-18 11:17:27 +00:00
Nick Kralevich
1de009645c NativeHandle.java: dup() with O_CLOEXEC
Don't use Os.dup(), as it creates file handles which leak across exec()
boundaries. Instead, use fcntl(F_DUPFD_CLOEXEC);

O_CLOEXEC is essential for ensuring that file descriptors do not leak
across an exec() boundary. Setting O_CLOEXEC ensures that file
descriptors can't linger around unnecessarily in an exec()ed process
which doesn't use them, making more efficient use of resources.
Additionally, O_CLOEXEC is important in ensuring that untrusted
exec()ed code cannot take advantage of leaked file descriptors.

Test: Android compiles and boots
Bug: 120983106
Change-Id: I99a66834cc6b9bb25e1b4daf75384ec6a91ae9e2
2018-12-17 14:48:35 -08:00
Treehugger Robot
a32f898720 Merge "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master" 2018-12-13 05:45:20 +00:00
Adrian Roos
6115769c16 API: Clean up redundant and ineffective usages of SystemApi and TestApi
Everything that is marked SystemApi or TestApi, but not @hide is still
part of the public SDK, it is therefore not sound to have that combination.

In the future, specifing such a combination will be considered an error
to prevent inadvertently exposing SystemApi and TestApi as public API.

Bug: 115333477
Change-Id: Ibd5d6a22862fdbc1e20a1cb3925280f5a682edea
Merged-In: Ibd5d6a22862fdbc1e20a1cb3925280f5a682edea
Test: METALAVA_PREPEND_ARGS="--error UnhiddenSystemApi" m checkapi
Exempt-From-Owner-Approval: API cleanup
2018-12-12 15:02:26 +01:00
Lorenzo Colitti
481251a0c2 Merge changes from topic "netd-event-listener-aidl"
* changes:
  Depend on the stable AIDL version of the netd metrics interface.
  Delete INetworkManagementService#getNetdService.
2018-12-12 06:17:25 +00:00
Xin Li
15b123ef45 DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master
Bug: 120502534
Change-Id: Idc8bfb6d97a869b76cfb87ca1a494201baf9e8bd
2018-12-11 14:13:44 -08:00
Treehugger Robot
9dfd13e7ea Merge "Revert "Revert "Schematize vold system properties""" 2018-12-11 11:04:01 +00:00
Lorenzo Colitti
d8a70b671b Delete INetworkManagementService#getNetdService.
This code is unused.

Test: builds, boots
Test: atest frameworks-net
Change-Id: I45e796c0dd049e8ac722cc79eea8df81dd2ad28c
2018-12-11 19:39:04 +09:00
Inseob Kim
5b1cc27cee Revert "Revert "Schematize vold system properties""
This reverts commit 2473b08b07.

Reason for revert: Fixed build breakage
sysprop_cpp and sysprop_java directly have been linking against
libprotobuf-cpp-full and do not set proto.type field, which could
cause ASAN error due to linking against both libproto version of full
and lite.

Change-Id: I96eb47444d7b6f6b5fef092efc1514fcdd6f33b6
Merged-In: I8e04f643197b6c8a60cc38c6979e41c5de3469f5
2018-12-11 00:23:07 +00:00
Seongho Kim
73273e0caa Return "" not "null"
Some models such as LDU, WIFI do not have "gsm.version.baseband",
which should return "null" when it is called.
However it returns "" not "null"

Bug: 120685535
Test: Self-Test
Change-Id: Idc1363d45a0ece3a35f46da287e21015ac1387af
2018-12-08 01:34:04 +00:00
Anthony Stange
6ee45c6f14 Merge "Revert "Schematize vold system properties"" 2018-12-07 12:04:56 +00:00
Anthony Stange
2473b08b07 Revert "Schematize vold system properties"
This reverts commit 7bc31dc162.

Reason for revert: Breaking aosp_master build.

Change-Id: I34a5e9889c17e3454a0a86deabcec3c192a3da52
2018-12-07 11:43:03 +00:00
Treehugger Robot
095d0f640e Merge "Schematize vold system properties" 2018-12-07 01:46:45 +00:00
cken
bed368e3cb Remove 'hasDns' parameter
Netd use this parameter to determine which network it should use for
DNS query when VPN is enabled. But it is no more reliable when we have
seamless vpn handover, since the parameter does not make update to
netd if we have DNS configuration change. Netd should call resolver
API to get latest DNS information rather than this one.

Bug: 116539103
Test: runtest frameworks-net passes
Change-Id: I6491114ab6de0ff66322f1da69056e6f3c999b5a
2018-12-06 10:25:28 +09:00
Inseob Kim
7bc31dc162 Schematize vold system properties
Properties accessed across partitions are now schematized and will
become APIs to make explicit interfaces among partitions.

Bug: 117924132
Test: m -j
Change-Id: I8e04f643197b6c8a60cc38c6979e41c5de3469f5
Merged-In: I8e04f643197b6c8a60cc38c6979e41c5de3469f5
2018-12-05 00:04:24 +00:00
Treehugger Robot
2c250e322b Merge "[BatteryStats] Correct formatter for pkginst in battery stats." 2018-11-14 23:53:42 +00:00
Steven Moreland
22350fbefb Merge "ParcelFileDescriptor: warn about comm int coupling." 2018-11-14 17:41:49 +00:00
Steven Moreland
3de571e1fc ParcelFileDescriptor: warn about comm int coupling.
If these values are ever changed (or their parceling), we'll also need
to update libbinder.

Bug: 115607973
Test: N/A
Change-Id: Id9c594ea039687855047c005a0c3a9bfe0002732
2018-11-14 01:00:01 +00:00
Risan
2c0da88382 Add FileUtils.translateModePfdToPosix
Bug: 72017414, 110379912
Test: manual with appfuse
Change-Id: I92b2f8995c1e011ff3fbc5c5a55d8c5793e2b5cf
Merged-In: I94373055468d279e6553d4a038267732b9b53745
2018-11-13 22:44:36 +00:00
Treehugger Robot
0f9a09d8ba Merge changes Idbacb6ad,I4e06b3f9,Iffcbbb82
* changes:
  BinderProxy: Fix up differences
  Move proxy debug info dumping back to Java.
  Dump top binder proxy interface names in dumpsys.
2018-11-13 22:01:56 +00:00
Treehugger Robot
b499af866c Merge "Introducing StubVolume in StorageManager" 2018-11-13 19:20:38 +00:00
Andreas Gampe
460ff1416b BinderProxy: Fix up differences
Fix up resolves to minimize differences to internal code.

Test: m
Change-Id: Idbacb6ad14c43aff8030d70b5e17427b86e92d6e
Merged-In: I4e06b3f93e30ed1c7868ec9e018709a7e796e441
2018-11-12 16:15:31 -08:00
Martijn Coenen
c1493b283b Move proxy debug info dumping back to Java.
This had to be called from native because serialization
was done from native, but now that serialization is in Java
we can move this back to a more logical place.

Also, this allows us to dump the per-UID proxy counts in
this situation again.

Bug: 109888955
Test: sailfish builds, proxy debug info shown on hitting limits
Merged-In: I4e06b3f93e30ed1c7868ec9e018709a7e796e441
Change-Id: I4e06b3f93e30ed1c7868ec9e018709a7e796e441
2018-11-12 16:08:45 -08:00
Martijn Coenen
345d4c16bb Dump top binder proxy interface names in dumpsys.
To facilitate real-time debugging.

Bug: 109888955
Test: builds, adb shell dumpsys activity binder-proxies shows output
Merged-In: Iffcbbb824f4050b6fb8f556c8b4d09115e53da18
Change-Id: Iffcbbb824f4050b6fb8f556c8b4d09115e53da18
2018-11-12 14:47:12 -08:00
Josh Gao
401fb2485a Close PFD.AutoClose{In,Out}putStream before the PFD itself.
Bug: http://b/118316956
Test: atest ParcelFileDescriptorTest
Test: atest ParcelFileDescriptor_AutoCloseOutputStreamTest
Change-Id: I39c5b15ea8ac5915e4f5e4e42328cd08f65ec9a0
2018-11-09 14:10:33 -08:00
Risan
05c41e6a0a Introducing StubVolume in StorageManager
Bug: 110380403
Test: Tested in ARC++ (with Settings and vold changes in separate CLS)
- able to see the external storage under StorageSettings. Also tested
the sm command to print stubvolumes.

Change-Id: I7517260a40399bd9800424bb394512601f6af617
2018-11-08 21:48:35 +00:00
Risan
a354a27056 ResetListener in StorageManagerService
Bug: 110380403
Test: Manual test in ARC++, prototyped a way that reset reaches ARC++
service.
Change-Id: Icc7dcc8b5c726ed9f61226569227c4d47f44b386
Merged-In: Icc7dcc8b5c726ed9f61226569227c4d47f44b386
2018-11-02 21:45:43 +00:00
Mathew Inwood
45d2c252b1 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
Merged-In: I719b5c94e5b1f4fa562dd5d655953422958ad37e
Change-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e
(cherry picked from commit 8c854f86a4)
2018-10-22 17:28:24 -07:00
Luke Huang
9b20115264 Merge "Network-related commands porting" 2018-10-16 07:44:37 +00:00
Nandana Dutt
b3f7168136 Add DumpstateOptions java implementation
DumpstateOptions will be used to pass options to Dumpstate service
for specifying arguments for taking bugreports.

Test: m
Test: adb bugreport

Change-Id: I4dc9511f0be2f86239ea9094a3c527b6ce0d1d41
2018-10-11 17:05:35 +01:00
Luke Huang
8a462ecafd Network-related commands porting
Test: runtest frameworks-net passes
Test: manual testing of network related function works
Change-Id: Id197d20c80b04378731b113ad74676672bd8b67e
2018-10-09 11:29:02 +08:00
Tor Norbye
f8dc2d204c Fix incorrect javadoc links
Test: make offline-sdk-docs
Bug: b/116163454
Change-Id: I55de1f71d443713b033ee63fd191bd34b3a52fd2
2018-10-08 19:58:17 +00:00
Jeffrey Vander Stoep
f8529dc891 Merge "Add ConnectivityManager.getConnectionOwnerUid()" 2018-09-21 21:04:20 +00: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
Tianjie Xu
aff3248507 Merge "Remove the metrics report in recovery system" 2018-09-20 17:39:36 +00:00
Kweku Adams
ce8e43f8d2 Avoiding potential NPE when dumping to proto.
Inspired by aosp/736453. Cherry-picked from ag/4934453

Bug: 113087610
Test: Android builds
Change-Id: I9f0dae9cd5a839947c7ed150980eb30b928beef7
2018-09-11 19:21:52 +00:00
Michael Wachenschwanz
6a947f048a Verify number of Map entries written to Parcel
Make sure the number of entries written by Parcel#writeMapInternal
matches the size written. If a mismatch were allowed, an exploitable
scenario could occur where the data read from the Parcel would not
match the data written.

Fixes: 112859604
Test: cts-tradefed run cts -m CtsOsTestCases -t android.os.cts.ParcelTest

Change-Id: I325d08a8b66b6e80fe76501359c41b6656848607
Merged-In: I325d08a8b66b6e80fe76501359c41b6656848607
(cherry picked from commit 057a01d1f3)
2018-09-10 23:20:02 +00:00
dwchen
181dc252dd Fixes possible issue with no-op creator.
Leaving a no-op CREATOR can lead to issues. We throw a run-time
exception to prevent anyone from using this. The StatsLogEventWrapper is
meant to be write-only since it's only used to send data to statsd.

Bug: 112550251
Test: Tested with provided POC app by external researcher.
Change-Id: I001d84e2a61a1cd8a4f59aa156ca52f73ad0f6e1
(cherry picked from commit 78622d57ad)
2018-09-10 23:19:49 +00:00
Tianjie Xu
d12e150f7a Remove the metrics report in recovery system
Move the report for non-A/B metrics to the native code in
recovery-persist. We will also handle the report of sideload
status for all devices there.

Bug: 114278989
Test: check the metrics report from recovery-persist.
Change-Id: I856f2f301a9d42979d0b207294cdf5d51d7e1e3f
2018-09-07 17:05:43 -07:00
Mathew Inwood
71da3a1fe4 Add @UnsupportedAppUsage annotations
For all remaining unannotated code.

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I32861fa341a08f11a9c50c07a1ef7404dadf6bb6
Merged-In: I67c8b71ea535ebffb10bf577948bd4ccb8ca069d
2018-08-30 13:38:01 +01:00
Hirono Shiyama
50ea4d0d2c [BatteryStats] Correct formatter for pkginst in battery stats.
Symptom:
Wrong format is output for pkginst in battery stats.

Root cause:
Formatter for pkginst in battery stats is required to sIntToString
but it was defined sUidToString.

Solution:
Correct formatter for pkginst in battery stats to sIntToString
from sUidToString.

Bug: 113559700
Change-Id: I43eb7aba37c8723337dbbaea9f6a6eacfb01d259
2018-08-30 17:24:17 +09:00
Jeff Sharkey
5c877634ae Q.
Clean cherry-pick of ag/4057716.

Bug: 77588754
Test: builds, boots
Change-Id: Ib1d993fe2949f480a350acfa7e2b3cfdc7abd257
Merged-In: Ib1d993fe2949f480a350acfa7e2b3cfdc7abd257
2018-08-28 17:51:35 +00:00
Luke Huang
3b9ae0ae48 Merge "Clatd-related commands porting" 2018-08-15 03:38:50 +00:00
Joshua Baxter
3621bf192c Merge "docs: fixed typo" into pi-dev 2018-08-13 22:43:17 +00:00
Steven Moreland
12a2c0ae3f Clarify NativeHandle.java dup documentation.
close must also be called.

Bug: 35098567
Test: N/A
Change-Id: I4d03effc82d7f6de7ca785ae4d12868ccc4ceddd
2018-08-13 14:31:20 -07:00
Nirav Atre
9850dd9751 Implementing support for HIDL native handles in Java
This change implements the equivalent of the C++ native_handle_t type in
Java. Similar to the C++ type, the NativeHandle class wraps an arraylist
of FileDescriptor objects, along with a raw data stream (integer array).

Bug: 35098567
Test: Ran m, hidl_test (C++ and Java). Functionality tests are included
in a separate CL.

Change-Id: Ic53f9a49ae17ce5708577a586230126ab0e222c7
2018-08-13 14:31:17 -07:00
Martijn Coenen
3796b0d6a6 BinderProxy dump: distinguish between empty descriptor and dead remote.
getInterfaceDescriptor() will return an empty string when the call
to retrieve it into the remote process fails. Proxies to a dead binder
process then show up as having an empty descriptor in the proxy dumps,
and can't be distinguished from live proxies with an empty descriptor.

Instead, if we get an empty string, check if the proxy is still alive,
so we can more accurately dump. This will make it much easier to find
proxy leaks to dead binder nodes.

Bug: 109888955
Test: adb shell dumpsys activity binder-proxies
Change-Id: Ib37ec004f38c99743ffb4a62101c12626b649e5d
2018-08-09 16:19:45 +02:00