Commit Graph

83838 Commits

Author SHA1 Message Date
Etan Cohen
14062aa659 Merge "[CS] Add a generic transport-specific information API"
am: 7f50b11c89

Change-Id: Ibd5c44ff35a9002f2eafe0f0f131dbdb609f50a9
2018-12-08 20:09:11 -08:00
Etan Cohen
7f50b11c89 Merge "[CS] Add a generic transport-specific information API" 2018-12-09 03:53:44 +00:00
Etan Cohen
ca9fb56ee4 [CS] Add a generic transport-specific information API
Add a generic transport-specific information container interface and
access methods. These can be used by a network factory to pass transport
(bearer)-specific network parameters to the app.

Bug: 117605977
Test: atest frameworks/base/tests/net/java/android/net (+new unit tests)
Change-Id: Ib7c83b677e1c02a2212265719813e648b0c9cc1b
2018-12-07 17:37:48 +00:00
Paul Duffin
a5112b667a Merge "UnsupportedAppUsage - support implicit member signatures"
am: 0a2a1e0e2d

Change-Id: I05b97e037467dd744662a8fad23eec474a3fd88b
2018-12-07 04:36:49 -08:00
Anthony Stange
510c8c463f Merge "Revert "Schematize vold system properties""
am: 6ee45c6f14

Change-Id: I085d9f227b7632f01cd614d46db7a6da349349fc
2018-12-07 04:29:44 -08:00
Paul Duffin
0a2a1e0e2d Merge "UnsupportedAppUsage - support implicit member signatures" 2018-12-07 12:24:47 +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
Paul Duffin
ed4d7c2820 UnsupportedAppUsage - support implicit member signatures
Allows the signature of implicit members, i.e. members that are added
by the compiler, e.g. enum values() and valueOf(String) methods or
default constructors to be specified per class. The UnsupportedAppUsage
can now be repeated on a class so as to specify multiple implicit
members.

Bug: 119861512
Test: atest class2greylisttest, m -j20 framework
Change-Id: I73c8402e9c2053e3a04ef0ff8875ce446593ec8f
2018-12-07 10:40:38 +00:00
David Brazdil
4e7a33fb08 Merge "Move DexLoadReporter setup before AppComponentFactory calls"
am: 385c42a2e9

Change-Id: I1b37135225175c74c578a29dfbd269bf7230f2e5
2018-12-07 01:20:17 -08:00
David Brazdil
385c42a2e9 Merge "Move DexLoadReporter setup before AppComponentFactory calls" 2018-12-07 09:04:56 +00:00
Inseob Kim
73694f8faa Merge "Schematize vold system properties"
am: 095d0f640e

Change-Id: I6d2dde29d3e2a01e3c0d0e5fe882c026f4c37531
2018-12-06 18:17:59 -08:00
Treehugger Robot
095d0f640e Merge "Schematize vold system properties" 2018-12-07 01:46:45 +00:00
Denis Hsu
3bfa2ca8ea Merge "Catch egl errors when drawIntoSurfaces"
am: 7604961e1d

Change-Id: I32e0503ee15061a1f7b35086b2d7bd4bbc52d094
2018-12-06 00:18:00 -08:00
Treehugger Robot
7604961e1d Merge "Catch egl errors when drawIntoSurfaces" 2018-12-06 07:52:46 +00: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
Dario Freni
2d03586435 Merge changes from topic "apex_adb"
am: f64909587b

Change-Id: If241fd30597248d5c34be0e550feaf50850e46cc
2018-12-04 04:52:09 -08:00
Treehugger Robot
f64909587b Merge changes from topic "apex_adb"
* changes:
  Add MATCH_APEX flag to getInstalledPackages.
  Rename APEX installPackage method to stagePackage.
  Initial support for installing APEX via adb.
2018-12-04 12:29:06 +00:00
David Brazdil
8a822605d2 Merge "hiddenapi: Add constants for 'greylist-max-p'"
am: ec62f08f8c

Change-Id: I4da04fd68d6c779402508b5b901a6566efbc2b40
2018-12-04 02:29:59 -08:00
David Brazdil
ec62f08f8c Merge "hiddenapi: Add constants for 'greylist-max-p'" 2018-12-04 10:07:59 +00:00
Jeff Sharkey
0f73219cfa Bind update() args as Object[] for performance.
It's wasteful to convert them to String when SQLite already knows
how to bind specific data types, including funky types like byte[].

Also promote to public API, since they're generally useful.

Bug: 111085900
Test: atest packages/providers/DownloadProvider/tests/
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I5b418bca1204773fd2795156a2f47906ca1e1a6b
Change-Id: I386cbc97cf3499823bc10251ff315ce381db24cc
2018-12-03 09:41:16 -07:00
Jeff Sharkey
234de02b59 Extend SQLiteQueryBuilder for update and delete.
Developers often accept selection clauses from untrusted code, and
SQLiteQueryBuilder already supports a "strict" mode to help catch
SQL injection attacks.  This change extends the builder to support
update() and delete() calls, so that we can help secure those
selection clauses too.

Bug: 111085900
Test: atest packages/providers/DownloadProvider/tests/
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Change-Id: Ibc8ce8b1801e7bfd946655fcf8b6865b6d71227c
Merged-In: Ib4fc8400f184755ee7e971ab5f2095186341730c
2018-12-03 09:40:31 -07:00
Dario Freni
e8129a31bb Add MATCH_APEX flag to getInstalledPackages.
If set, PackageManager will query apexservice and ask for activated
packages.

Test: wrote a small app to test the new query.
Bug: 117589375
Merged-In: I498bd97896f3eab65c88e9684874a30713be585e
Change-Id: I498bd97896f3eab65c88e9684874a30713be585e
2018-12-03 22:29:31 +09:00
Dario Freni
e186f9981a Initial support for installing APEX via adb.
Test: adb install package-signed.apex (succeeds)
adb install package-unsigned.apex (fails)
Merged-In: I3ac7971ce6923511a7d574291fe9002c5d55fa1b

Change-Id: I53bd15286b62a2a4ae6c2c5746b2ed039bc6ff77
2018-12-03 22:28:15 +09:00
David Brazdil
991ff90e73 Move DexLoadReporter setup before AppComponentFactory calls
BaseDexClassLoader has a callback for reporting all loaded secondary dex
files to DexManager. The callback needs to be set up:
(a) after the default app class loader is initialized, so as to not
report the app's main APK being loaded, and
(b) before control is handed over to the app for the first time, so as
to not miss any BaseDexClassLoader instantiations.

The latter used to mean setting up the callback before
Application.onCreate() but AppComponentFactory calls happen even
earlier. Hence move the call into LoadedApk where the borderline between
(a) and (b) lies.

Test: manually check dex loads from instantiateClassLoader are reported
Change-Id: I7961913de302bcede6c231304544d21d8db806a8
2018-12-03 10:59:45 +00:00
Nicolas Geoffray
4879460f35 Merge "Start using shared libraries class loader."
am: e7753e084f

Change-Id: I927599cc923e61d73d03c3ec9b469529f42f3225
2018-12-02 13:00:15 -08:00
Nicolas Geoffray
e7753e084f Merge "Start using shared libraries class loader." 2018-12-02 20:39:38 +00:00
Nicolas Geoffray
972b39e4e4 Start using shared libraries class loader.
Change 1/2. Change 2/2 will setup the class loader namespace for
shared libraries.

This change sets up shared libraries class loaders for applications
and for dexopt.

bug: 111174995
Test: DexoptUtilsTest, device boots
Exempt-From-Owner-Approval: PS1 was approved by owner, PS2 is a build fix.

(cherry picked from commit 8d144eb8bd)
Merged-In: Ie9a2b4eaa85cda59951703433f7a2d03bc12095d

Change-Id: I76383308418485ad6739f8a404d02c2771e4afe4
2018-12-02 20:39:29 +00:00
Jeff Sharkey
fd5131bba5 Merge changes from topic "sqlitez"
am: a920b9c85e

Change-Id: If22eef6e248b9e3bd1f5e22cd5081608494ad733
2018-12-02 11:32:48 -08:00
Jeff Sharkey
0da04839b7 Support for appending "standalone" WHERE chunks.
The existing appendWhere() methods aren't very friendly for
developers, since they require manual tracking of state to decide if
subsequent standalone chunks should be prefixed with "AND".

While it's tempting to offer direct argument binding on the builder
class, we can't really deliver on that API in a secure way, so instead
add separate bindSelection() method which explicitly burns arguments
into a standalone selection string, which can then be appended to
the builder.

This was the last piece of new functionality being used by
SQLiteStatementBuilder, so we can delete that class and migrate
users back to SQLiteQueryBuilder.

Bug: 111268862
Test: atest frameworks/base/core/tests/coretests/src/android/database/DatabaseUtilsTest.java
Test: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I418f24338c90bae8a9dad473fa76329cea00a8c5
Change-Id: I418f24338c90bae8a9dad473fa76329cea00a8c5
2018-12-01 17:23:05 -07:00
Jeff Sharkey
8a634372b3 Bind update() args as Object[] for performance.
It's wasteful to convert them to String when SQLite already knows
how to bind specific data types, including funky types like byte[].

Also promote to public API, since they're generally useful.

Bug: 111085900
Test: atest packages/providers/DownloadProvider/tests/
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I5b418bca1204773fd2795156a2f47906ca1e1a6b
Change-Id: I5b418bca1204773fd2795156a2f47906ca1e1a6b
2018-12-01 17:23:05 -07:00
Jeff Sharkey
e56d8b8a43 Extend SQLiteQueryBuilder for update and delete.
Developers often accept selection clauses from untrusted code, and
SQLiteQueryBuilder already supports a "strict" mode to help catch
SQL injection attacks.  This change extends the builder to support
update() and delete() calls, so that we can help secure those
selection clauses too.

Bug: 111085900
Test: atest packages/providers/DownloadProvider/tests/
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: Ib4fc8400f184755ee7e971ab5f2095186341730c
Change-Id: Ib4fc8400f184755ee7e971ab5f2095186341730c
2018-12-01 17:23:05 -07:00
Jeff Sharkey
6c90f1ded2 Revert SQLiteQueryBuilder for now.
We've encountered subtle bugs in how apps are using this public
API, so revert it back to exactly what shipped in the last
release, and move functionality to new SQLiteStatementBuilder
class, since we already have several customers using it.

Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111486645
Merged-In: Ief059e987f2421e19f6f57a94320c313946a26d7
Change-Id: Ief059e987f2421e19f6f57a94320c313946a26d7
2018-12-01 17:23:04 -07:00
Jeff Sharkey
b17c8e73cb Execute "strict" queries with extra parentheses.
SQLiteQueryBuilder has a setStrict() mode which can be used to
detect SQL attacks from untrusted sources, which it does by running
each query twice: once with an extra set of parentheses, and if that
succeeds, it runs the original query verbatim.

This sadly doesn't catch inputs of the type "1=1) OR (1=1", which
creates valid statements for both tests above, but the final executed
query ends up leaking data due to SQLite operator precedence.

Instead, we need to continue compiling both variants, but we need
to execute the query with the additional parentheses to ensure
data won't be leaked.

Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111085900
Merged-In: I6e8746fa48f9de13adae37d2990de11c9c585381
Change-Id: I6e8746fa48f9de13adae37d2990de11c9c585381
2018-12-01 17:23:04 -07:00
Jeff Sharkey
4039dc4901 Execute "strict" queries with extra parentheses.
SQLiteQueryBuilder has a setStrict() mode which can be used to
detect SQL attacks from untrusted sources, which it does by running
each query twice: once with an extra set of parentheses, and if that
succeeds, it runs the original query verbatim.

This sadly doesn't catch inputs of the type "1=1) OR (1=1", which
creates valid statements for both tests above, but the final executed
query ends up leaking data due to SQLite operator precedence.

Instead, we need to continue compiling both variants, but we need
to execute the query with the additional parentheses to ensure
data won't be leaked.

Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111085900
Merged-In: Ie85a95003ae134eef2fdfbf074c2f82d0a6a9f26
Change-Id: Ie85a95003ae134eef2fdfbf074c2f82d0a6a9f26
2018-12-01 17:23:04 -07:00
Jeff Sharkey
55777e52df Add support for appending standalone phrases.
When users are building queries, they often need to append several
standalone SQL clauses, and it's tedious to track their first clause
so they can manually append " AND " to each subsequent clause.

So add new appendWherePhrase() API which appends a standalone phrase
which is AND'ed together with any existing WHERE query.

Also fix bug in update() which would turn null values into the
string literal "null" instead of passing them through as SQL NULL.

Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111085900
Merged-In: Ia280dd864895654239503e080eaef925f5620d37
Change-Id: Ia280dd864895654239503e080eaef925f5620d37
2018-12-01 17:23:04 -07:00
Jeff Sharkey
0ae655fdae GROUP BY and HAVING aren't ready to be strict.
Despite SQLite documentation saying these clauses follow the "expr"
syntax, queries will fail with obscure "row value misused" errors,
so remove the strict enforcement for now.

Test: manual
Bug: 111480817
Merged-In: Ib8cdcb4e6456110589203189fcfa14e75cd68718
Change-Id: Ib8cdcb4e6456110589203189fcfa14e75cd68718
2018-12-01 17:23:04 -07:00
Jeff Sharkey
3e26b7db55 Extend SQLiteQueryBuilder for update and delete.
Developers often accept selection clauses from untrusted code, and
SQLiteQueryBuilder already supports a "strict" mode to help catch
SQL injection attacks.  This change extends the builder to support
update() and delete() calls, so that we can help secure those
selection clauses too.

Extend it to support selection arguments being provided when
appending appendWhere() clauses, meaning developers no longer need
to manually track their local selection arguments along with
remote arguments.

Extend it to support newer ContentProvider.query() variant that
accepts "Bundle queryArgs", and have all query() callers flow
through that common code path.  (This paves the way for a future
CL that will offer to gracefully extract non-WHERE clauses that
callers have tried smashing into their selections.)

Updates ContentValues to internally use more efficient ArrayMap.

Bug: 111268862
Test: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I60b6f69045766bb28d2f21a32c120ec8c383b917
Change-Id: I60b6f69045766bb28d2f21a32c120ec8c383b917
2018-12-01 17:23:04 -07:00
Treehugger Robot
c4ce66dd2f Merge "BluetoothManager: Set DBG to false" 2018-12-01 04:44:09 +00:00
SzuWei Lin
1c7ae31e97 Nullify the default wallpaper component if it does not exist
The default wallpaper component cannot be found after GSI is flashed.
The home screen background will have no wallpaper and be black.
It will also cause the following CTS tests to fail:

- KeyguardTests#testDialogShowWhenLockedActivity
- KeyguardTests#testTranslucentShowWhenLockedActivity

The patch will check if the package of the default component exists.
If not, it will fall back to null, which is the AOSP default value, and
display the wallpaper in framework resource.

Bug: 119895131
Bug: 111909699
Test: flash GSI aosp_arm64-userdebug on a crosshatch, got AOSP wallpaper
Test: flash full crosshatch-userdebug on a crosshatch, got crosshatch wallpaper
Change-Id: I9d618d05458a03a675324cb2f861decf31c5bf18
2018-11-30 13:33:55 +08:00
David Brazdil
5cd148fc7a hiddenapi: Add constants for 'greylist-max-p'
New category of hidden API has been created. Update the script
generate_hiddenapi_lists.py with the new flag name.

Test: m, phone boots
Change-Id: I79e5478678880939e20e500cb8dad9b2a56fc84f
2018-11-29 15:43:02 +00:00
Jakub Pawlowski
4c2aa61202 Bluetooth: Fix NPE when accesing Manufacturer Data of invalid ScanRecord
Bug: 118805852
Test: compilation
Change-Id: I537bec61cd3e7df700cc972683458f977ff370b8
2018-11-29 07:20:53 +00:00
Neil Fuller
d48dbc9a34 Merge "Track move of timezone classes to libcore.timezone" 2018-11-28 15:23:48 +00:00
Chiachang Wang
33fe80f927 Merge "Data stall detection using DNS event" 2018-11-28 03:53:30 +00:00
Neil Fuller
b8383a10b9 Track move of timezone classes to libcore.timezone
Some time zone related libcore classes are moving from
libcore.util to libcore.timezone.

Bug: 119026403
Test: build only
Change-Id: Ic807977a85276b888362295d1d305effe33076fc
2018-11-27 14:44:59 +00:00
Chiachang Wang
7a70a7e0ed Data stall detection using DNS event
If dns resolver on a network get consecutively timeout then it
is a strong signal that the network is no longer usable.
Reevaluate the network once it's data stall suspected

Test: 1. runtest frameworks-net
      2. SettingsBackupTest passes
      2. Run on wifi w/o internet capability
Bug: 112653893, 113916551

Change-Id: I74287b174d933f97a91fa1529b1809856ac3b38d
2018-11-27 18:00:05 +08:00
Neil Fuller
bfd3237eac Merge "Track move of timezone classes to libcore.timezone" 2018-11-26 23:04:33 +00:00
Jordan Liu
0e706db965 Merge "Expose ApnService as a SystemApi and use subId arg" 2018-11-26 22:47:52 +00:00
Benedict Wong
f928c1e4b9 Merge changes from topic "xfrmi-support"
* changes:
  Cleanup and update comments SA mark disabling comments
  Add XFRM-I support to IpSecService
  Disable attempted updating of SA marks
2018-11-26 03:04:16 +00:00
David Brazdil
67c6ab38ba Merge "Create AppComponentFactory.instantiateClassLoader API" 2018-11-22 11:09:15 +00:00