Age | Commit message (Collapse) | Author |
|
Android 11.0.0 Release 40 (RQ3A.210805.001.A1)
Change-Id: I669442cfe31142509964a3be72168fe77e44d951
|
|
Any precision >=2147483647 will cause a buffer overflow.
For instance, executing the following statement will segfault
select (printf('%.2147483647G',0.01));
Later sqlite versions fixed this by hard-coding a hard-limit of
100k million on the precision of floating point to text conversions
https://sqlite.org/src/info/d08d3405878d394e
We fix this on earlier versions by setting the compile time flag
to the same 100k million
Bug: 153352319
Test: builds
Change-Id: Ied86cf81f0064da9d3d963ecf943894bc1ae1a93
(cherry picked from commit 4810d35fd17c3ab2f1fcbe9a0c73a8c587623d89)
|
|
This change is a cherry-pick of aosp/1337179 which is being merged here
because of merge conflicts due to changes [1] and [2] which were made
in internal master and rvc-dev but not in AOSP.
Downloaded from
https://www.sqlite.org/2020/sqlite-autoconf-3320200.tar.gz
$ sha1sum sqlite-autoconf-3320200.tar.gz
429e3f2d0b16a95ad1025a97b2a328d0b4037575 sqlite-autoconf-3320200.tar.gz
dist/orig contains the stock sqlite3 code, as packaged in the tar.gz file above.
dist contains a copy of dist/orig, but with the Android.patch file applied.
More details about the release are available here:
https://www.sqlite.org/releaselog/3_32_2.html
[1] ag/0f62c1a0e8b463b5b27035e11478e66d7daec69a
[2] ag/88147c430cc041a27d07e593ffea12b7aa586f7a
Test: code compiles and device boots with no problems.
Test: select sqlite_version() - returns 3.32.2
Test: atest cts/SQLiteDatabaseTest all passed.
Test: atest cts/SQLiteSecurityTest
Bug: 159105124
Change-Id: I5c5fa2fd90292483bf20d8ae58adad41c48aa4e6
|
|
The compile time flag was added to the wrong place in change 88147c4.
Bug: 147928666
Test: atest SQLiteSecurityTest
Change-Id: I221f4e56b21a2573fd33d92389601af18752e905
|
|
Happened after default compilation flags changed in ag/11474704. The fix
is to revert the flags for just this library.
Fixes: 160728363
Test: manually install the apk in the bug and verify it's not
crashing/throwing the exception.
Change-Id: I9e02a810bee088b35d25921086810f695956d6d3
Merged-In: I9e02a810bee088b35d25921086810f695956d6d3
|
|
This CL disables SQLite's new behavior in "ALTER RENAME TABLE"
introduced in version 3.25.0 (https://www.sqlite.org/changes.html).
In this new behavior, when renaming a table, SQLite would automatically
update all the views and triggers referencing to it, which is nice if an
app is always using 3.25 or later. However, in practice, almost all
android apps have to support older android versions where this behavior
is not supported, apps just can't rely on this feature.
Other downsides of the new behavior (in the context of android ecosystem)
includes:
- Because the new behavior would crash an app when a rename would cause
a dangling view or trigger *even when the app does have a fix-up step
after ALTER RENAME TABLE* in which case it'd just work fine at the end,
it is very risky to enable the new behavior on all apps.
- This new behavior also means existing upgrade steps (which may have
been introduced years ago) could suddenly fail, if the step is executed
in R. This means, if an app used an "ALTER TABLE RENAME" in the upgrade
step from ver 1 to ver 2 five years ago and never after, and almost all
users are already running ver 2 or newer, *if* there's still a user who
are on ver 1, upgrading the app to the latest version could suddenly
fail on R.
Applications wishing to enable the new behavior can enable it at runtime
with the following call:
SQLiteDatabase db = ....; // open a DB
db.execPerConnectionSQL("PRAGMA legacy_alter_table = 0;", null);
Test: atest SQLiteSecurityTest
Bug: 147928666
Change-Id: I64546deebd3782ed685fcb46498bc487e0f8d5b6
|
|
Test: atest SQLiteSecurityTest
Bug: b/147323008
Bug: b/147322738
Bug: b/147320136
Bug: b/147320314
Change-Id: If441c59e4b6d0965def51e3717c06a4e5739ebd3
|
|
This reverts commit 10ed3ddd93df3472816560c7c15c92e540cce7f1.
Reason for revert: problem found in clang-r377782
Bug: 149157191
Change-Id: I20cde351f44d241c5c65f9cfbfbb37d45c15f724
|
|
This reverts commit 2c322e71fe66db569c4d651f2abf8a1c0c57d3e2.
The miscompile is fixed by the latest compiler update.
Test: manual
Bug: 131854833
Exempt-From-Owner-Approval: Revert
|
|
|
|
Bug: 137311188
Test: library still builds
Change-Id: I9702db5f804fc241d1ae88dfae0e270fe45ca4c1
|
|
Maintaining external/icu for non-device usecases is
becoming an increasing burden and there are no tests
around sqlite / libsqlite on host that indicate what
support is needed.
There doesn't appear to be any ICU initialization code
in place on host suggesting ICU usage is limited to
functions that don't require data.
This change removes ICU integration with sqlite on host
entirely to try to flush out affected users. If there
are no complaints that will be one less dependency to
worry about.
Bug: 130787951
Test: build / treehugger
Test: Ran sqlite3 on host
Change-Id: Icd1eb97281d941a3f55c4289b6d65fe5921ed542
|
|
Downloaded from
https://sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
$ sha1sum sqlite-autoconf-3280000.tar.gz
01b9d8fc77085e144dddc87456c9783e53d09a53 sqlite-autoconf-3280000.tar.gz
dist/orig contains the stock sqlite3 code, as packaged in the tar.gz file above.
dist contains a copy of dist/orig, but with the Android.patch file applied.
The Android specific patch didn't apply cleanly due to merge conflict in shell.c. The conflict was resolved and the patch was regenerated.
More details about the release are available here:
https://www.sqlite.org/releaselog/3_28_0.html
Test: code compiles and device boots with no problems.
Test: select sqlite_version() - returns 3.28.0
Test: atest cts/SQLiteDatabaseTest all passed.
Test: atest cts/SQLiteSecurityTest
Bug: 135048770
Change-Id: Idf38a3adace9f4bd4feab4012c9cc4de3a1c501c
|
|
Some apps crash if libsqlite is built with the new pass manager.
Test: manual testing
Bug: 131855431
Bug: 131854833
Change-Id: Ibd2da184fa614ce501c0994446dcb22e93dc4d1b
|
|
Android build system added support for building translated binaries
used on natively bridge targets (arm on x86 for example).
However in order to avoid building unnecessary binaries and libraries
for such architectures most modules do not support native bridge by default.
All needed modules have to explicitly indicate if they may be used as part
of translated binary build.
This change enabled native bridge support for libsqlite because is a greylisted
library and needs to be available to apps targeting Andorid version < 24
Bug: http://b/77159578
Test: make
Change-Id: Idc03773014ef2ddd20e4c6b164cb5f4cd3f2d142
|
|
This reverts commit 5148bb2b921ee84709d3924aecbad69d77300aff.
Reason for revert: Using deprecated libraries.
Merged-In: I6b84f88c9b726e28dc0188ceb0585ec8a732d091
Change-Id: I1b42d09203da163d5abebc7b45bea7b71ac1fd18
|
|
This enables basic database locking, but there are known weaknesses to this
approach. ie. If the process is killed before the *.lock file can be
deleted, then the database is perpetually locked.
Bug: 120103808
Test: Database locking works.
Merged-In: Iac54c5f76e167fef15b490522840d33808d4bc6c
Change-Id: Iac54c5f76e167fef15b490522840d33808d4bc6c
|
|
Switch to using a dynamically-linked library function to initialize
ICU, not a statically-linked function. This means the knowledge of file
paths stays in the runtime module.
Bug: 120493361
Test: build/boot
Merged-In: I28fc0007f7f0c6fff3aaca599a399f7aae2a86b0
Change-Id: I28fc0007f7f0c6fff3aaca599a399f7aae2a86b0
|
|
Bug: 127812889
Change-Id: I33d269cfcbc281555c3ebbbb6c30574e41cc673c
|
|
This patch fixes Magellan SQLite Security Vulnerability as in
b/121156452
Download from https://www.sqlite.org/src/info/c255889bd95bd543
Get the Tarball or ZIP Archive, unzip it on linux machine then run:
mkdir bld; cd bld; ../configure; make sqlite3.c
Copy sqlite3.c, sqlite3.h, sqlite3ext.h, shell.c from bld directory
to dist/orig.
dist contains a copy of dist/orig, but with the Android.patch
file applied.
Bug: 121156452
Test: select sqlite_version() - returns 3.22.0
Test: atest cts/SQLiteDatabaseTest all passed.
Test: atest cts/SQLSecurityTest
Change-Id: Iea1cefe2577ac52da84b24b6d51e1769042e449a
Merged-In: Iad8c3d1d74d8591a75a4c033c8bf9d3956d2fe4f
(cherry picked from commit 7fbf27c91af1621264154cc09f0fdafb3ba69ed3)
|
|
libicuuc and libicui18n are moved into APEX, but
they have no stable ABI due to the version suffix.
Use libandroidicu which provides stable symbol.
See http://go/apex-stable-icu4c-interface for the design.
Bug: 117094880
Test: m checkbuild
Merged-In: Iab88307452d9467ddebc0d4dfc5a4799ff54324f
Change-Id: Iab88307452d9467ddebc0d4dfc5a4799ff54324f
(cherry picked from commit 57caede3b8ab913890639390dbc3ee9af6c1726f)
|
|
Add some basic fdsan support to sqlite, where ownership enforcement is
only at a sqlite level (i.e. other code is prevented from accidentally
closing sqlite's file descriptors, but sqlite can accidentally close
its own file descriptors).
Test: debuggerd `pidof system_server` | grep " fd "
Change-Id: I8ba23fa174dabb408f92be76b5476e0fe9e6c5dc
|
|
Test: ran it
Change-Id: I16492cab5d075d20045d202986dcd85c9ac31879
|
|
The tags property is (and has always been) unused by Soong. The property has
been defined as a list of strings, and the `androidmk` converted any
LOCAL_MODULE_TAGS entries over to it, but we've never done anything with it.
In preparation for removing the definition from Soong, I'm removing it from all
Android.bp files in the tree.
Since this has never done anything, this is a no-op, but if you really did want
the Android.mk behavior, the proper way to define a module to be installed in
userdebug / eng builds is to use PRODUCT_PACKAGES_DEBUG or PRODUCT_PACKAGES_ENG
in the appropriate product makefile.
Change-Id: I57fe8ba27f4e757236144b5f4649ba63aa6b82f5
Exempt-From-Owner-Approval: global no-op build change
Test: remove `tags` from Soong, see errors go away.
|
|
Sqlite takes ioctl's address, and immediately casts it to a type
incompatible with either `int(*)(int, int, ...)` or `int(*)(int,
unsigned, ...)`. So, clang doesn't know what overload to pick, even
though they both ultimately point to the same function.
Bug: https://github.com/android-ndk/ndk/issues/402
Test: m on internal master
Change-Id: I67aa885c835a3703d3ed23b5c3f24d3387c51be2
|
|
Downloaded from https://www.sqlite.org/2018/sqlite-autoconf-3220000.tar.gz
$ sha1sum sqlite-autoconf-3220000.tar.gz
2fb24ec12001926d5209d2da90d252b9825366ac sqlite-autoconf-3220000.tar.gz
dist/orig contains the stock sqlite3 code, as packaged in the
tar.gz file above.
dist contains a copy of dist/orig, but with the Android.patch
file applied.
The Android specific patch didn't apply cleanly due to merge conflict in
shell.c. The conflict was resolved and the patch was regenerated.
More details about the release are available here:
https://www.sqlite.org/releaselog/3_22_0.html
Test: code compiles and device boots with no problems.
Test: select sqlite_version() - returns 3.22.0
Test: cts/SQLiteDatabaseTest
Bug: 73005878
Change-Id: Iba62f75ae9b16fe55f6bb6a1c37a718a27d16a73
|
|
7ecbb7ccdd am: ebd1125140
am: d3bffc7904
Change-Id: Ia91d00ba00761a0390e13b0178edb1d64ae82aa7
|
|
am: 7ecbb7ccdd
Change-Id: Ia5db89688558a291ab4487210d4ea4c39a1638a4
|
|
In the future, target.linux will apply to all targets running a linux kernel
(android, linux_glibc, linux_bionic). So move all current users to the specific
linux_glibc.
There will be another cleanup pass later that will move some instances back to
target.linux if the properties should be shared with target.android and
target.linux_bionic, but target.linux needs to be removed first.
Test: out/soong/build.ninja identical before/after
Change-Id: I9471cb8770792d37d78b4995ff10044a9b1478ae
Exempt-From-Owner-Approval: build system cleanup
|
|
am: 0b842f79fb
Change-Id: I784f5312900d0296a75a8b8daac356e2b13b8901
|
|
am: c3d8c7e311
Change-Id: I73778c9400ae6ac36a688f91e2e4ac1c6cce50a6
|
|
libdl is part of system_shared_libs now. -ldl -lpthread -lm are now defaults
for host_ldlibs on Linux and Darwin. -lrt is a default for host_ldlibs on
Linux.
Test: m host
Change-Id: I35ac5cc20f6f67ee93dc49767527d0f6f8476681
Exempt-From-Owner-Approval: build system cleanup
|
|
am: 5ed153d271
Change-Id: Idea3fd58e296f27ceb57336acf5d3d1f4fb685c4
|
|
By using vendor.cflags, SQLITE_ENABLE_ICU is on/off from Android.bp. No
need to def/undef it inside the source code.
Bug: 64514237
Test: BOARD_VNDK_VERSION=current m -j libsqlite libsqlite.vendor
Merged-In: If9771fa020e528445275281017e424a5bbc2ae99
Change-Id: If9771fa020e528445275281017e424a5bbc2ae99
(cherry picked from commit 633397eeef296584d3242d8a72790dcf11bb36fd)
|
|
Downloaded from https://sqlite.org/src/tarball/SQLite-605907e7.tar.gz
$ shasum SQLite-605907e7.tar.gz
4ac33e2ce69553fdb929e394823267a604b19211 SQLite-605907e7.tar.gz
Unpack and run
"./configure; make sqlite3.c" to generate the "sqlite3.c",
"sqlite3.h", "shell.c", and "sqlite3ext.h" source files
dist/orig contains the stock sqlite3 code, as generated from the
tar.gz file above.
This update simply switches from batch-atomic-write-3.19 branch to an
official release. No code changes.
Test: manual
Bug: 64849849
Change-Id: Ibbf0bca7ec498a670487adf8f0ffbfa19a44bbbf
|
|
am: 52697317fc
Change-Id: I1f2004db571421051bd781f254cf5cfed3bd305d
|
|
By using vendor.cflags, SQLITE_ENABLE_ICU is on/off from Android.bp. No
need to def/undef it inside the source code.
Bug: 64514237
Test: BOARD_VNDK_VERSION=current m -j libsqlite libsqlite.vendor
Change-Id: If9771fa020e528445275281017e424a5bbc2ae99
|
|
libicuuc.so isn't available for vendors, thus ICU is turned off when
libsqlite is built for vendors.
Bug: 64104535
Test: BOARD_VNDK_VERSION=current m -j libsqlite.vendor
Merged-In: I682502ba5bdc5f76a0363a95d01b1081c1bc01a4
Change-Id: I682502ba5bdc5f76a0363a95d01b1081c1bc01a4
(cherry picked from commit b4076dfd66f114263a1f70cf3ba73c2d55ccb3b0)
|
|
libicuuc.so isn't available for vendors, thus ICU is turned off when
libsqlite is built for vendors.
Bug: 64104535
Test: BOARD_VNDK_VERSION=current m -j libsqlite.vendor
Change-Id: I682502ba5bdc5f76a0363a95d01b1081c1bc01a4
|
|
Downloaded from https://sqlite.org/src/tarball/SQLite-2dd0c77d.tar.gz
$ shasum SQLite-2dd0c77d.tar.gz
354575e725f1301ed52984bd06d7b803b2134f5a SQLite-2dd0c77d.tar.gz
Unpack and run
"./configure; make sqlite3.c" to generate the "sqlite3.c",
"sqlite3.h", "shell.c", and "sqlite3ext.h" source files
dist/orig contains the stock sqlite3 code, as generated from the
tar.gz file above.
This release provides a fix for
https://sqlite.org/src/info/de3403bf5ae5f72ed
The proposed solution makes column names more consistent and easier to
understand. It also makes the implementation smaller and simpler and
helps it to run a little faster. However, there may be legacy programs
that depended on the old behavior (shifting the column naming rule from
(2) to (3) when using the query flattener) and those legacy programs
could potentially break due to this change.
Test: manual + SQLiteDatabaseTest CTS test
Bug: 62431773
Change-Id: I44f9bafe888b22b040fa1827962c421b4eab0c3a
|
|
Downloaded from https://sqlite.org/src/tarball/SQLite-def55027.tar.gz
$ shasum SQLite-def55027.tar.gz
5872660422a1ef8211f57f96f7c8507279a376f7 SQLite-def55027.tar.gz
Unpack and run
"./configure; make sqlite3.c" to generate the "sqlite3.c",
"sqlite3.h", "shell.c", and "sqlite3ext.h" source files
dist/orig contains the stock sqlite3 code, as generated from the
tar.gz file above.
dist contains a copy of dist/orig, but with the Android.patch
file applied.
Please see Android.patch for a list of differences between stock
and Android.
Experimental changes from batch-atomic-write-3.19 branch
https://sqlite.org/src/info/def55027b1f1db9c
With this enhancement, SQLite automatically omits the rollback journal
and uses the atomic write capabilities of F2FS when it can.
When F2FS atomic write is used, we find that transactions are about 3x
faster compared with an ext4 filesystem on the same SSD device.
Test: manual + SQLiteDatabaseTest CTS test
Bug: 64149514
Change-Id: I920f435748fa1d773be161f3264626d33b11edfd
|
|
am: b77e9e9f32
Change-Id: I697659df74806cfbf746f787dd03fd243c67987c
|
|
Test: I solemnly swear I tested this conflict resolution.
Change-Id: Id9018fe05fb7d1f15813c46557b552e3bbbb132b
|
|
Downloaded from https://sqlite.org/2017/sqlite-autoconf-3180200.tar.gz
$ sha256sum sqlite-autoconf-3180200.tar.gz
0d40222ea818a559590c51994ac85570eff5c5f754cbe08c2d34a3791942c1ba
sqlite-autoconf-3180200.tar.gz
dist/orig contains the stock sqlite3 code, as packaged in the
tar.gz file above.
dist contains a copy of dist/orig, but with the Android.patch
file applied.
Please see Android.patch for a list of differences between stock
and Android.
This release contains critical bug fixes for 3.18.0:
- https://sqlite.org/src/info/fda22108
- https://www.sqlite.org/src/info/61fe9745
More details about the release are available here:
https://sqlite.org/src/info/version-3.18.2
Test: code compiles and device boots with no problems.
Test: Repro steps from https://sqlite.org/src/info/fda22108
and https://www.sqlite.org/src/info/61fe9745
Bug: 62447923
Merged-In: I13cede802129bef64a183915827d422e1d609464
Change-Id: I6ae907fa6f13258d8d421037c7c94c21a2188eda
(cherry picked from commit e6695ba9e149b5d63c16d22e377e259a6df92284)
|
|
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer()
and use them to transfer the eponymous FTS3 column pointer to the
snippet() and offsets() routines.
Bug: 63852675
Test: presubmit
Change-Id: I0f0be2bfc21aef8917da63d76d1007fbf8c8ad4d
|
|
8864d13b9c am: b8758ffc7f am: 23756c7fb0
am: 5a5ec9c6d9
Change-Id: I5df4d348e9eb33a71b2a4ed4d663e9abe6afaad5
|
|
This reverts commit 499a4036e8932e30331816e0f50fcfc78b2dec10.
Bug: 63852675
Change-Id: I154de318a66261290c848d2a8c32a82e20a46dbb
Merged-In: Ifb8b0fd23e6306b576c2c947dcab45d811e4becb
|
|
am: ab30887541 am: 9b318a0a7e
am: 53d319ec85
Change-Id: I209167955d426e5b2e3eebb94d9c7c0563a42156
|
|
FTS3 tables have a magic column, whose name matches the table name, which
is used to obtain a pointer to the cursor for the current operation.
fts3ColumnMethod() now tags its result when used with the magic column,
and fts3FunctionArg() checks the tag and returns an error when asked to
access the magic column on behalf of the user.
Bug: 63852675
Change-Id: Ie0ab625c708d8fcad80db66a373f2684672642b1
Merged-In: Ifb8b0fd23e6306b576c2c947dcab45d811e4becb
|
|
There are some vendor libs that are using libsqlite. So marking it as
vendor_available.
Bug: 37560614
Test: BOARD_VNDK_VERSION=current m -j libsqlite.vendor
Change-Id: I45823c4d42071f505583a955564cdd78742e8029
|