Skip to content

Commit 6d5664d

Browse files
Merge branch 'prerelease'
2 parents fda4c68 + 9dd168c commit 6d5664d

File tree

232 files changed

+21890
-2905
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

232 files changed

+21890
-2905
lines changed

CHANGELOG.md

Lines changed: 85 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
# SQLCipher Change Log
22
All notable changes to this project will be documented in this file.
33

4-
## [unreleased] - [unreleased]
5-
6-
## [4.0.1] - 2018-12-17
4+
## [4.1.0] - (March 2019 - [4.1.0 changes])
5+
- Defer reading salt from header until key derivation is triggered
6+
- Clarify usage of sqlite3_rekey for plaintext databases in header
7+
- Normalize attach behavior when key is not yet derived
8+
- Adds PRAGMA cipher_settings to query current database codec settings
9+
- Adds PRAGMA cipher_default_settings to query current default SQLCipher options
10+
- PRAGMA cipher_hmac_pgno is now deprecated
11+
- PRAGMA cipher_hmac_salt_mask is now deprecated
12+
- PRAGMA fast_kdf_iter is now deprecated
13+
- Clear codec data buffers if a crypographic provider operation fails
14+
- Disable backup API for encrypted databases (this was previously documented as not-working and non-supported, but will now explicitly error out on initialization)
15+
- Updates baseline to upstream SQLite 3.27.2
16+
17+
## [4.0.1] - (December 2018 - [4.0.1 changes])
718
- Based on upstream SQLite 3.26.0 (addresses SQLite “Magellan” issue)
819
- Adds PRAGMA cipher_compatibility and cipher_default_compatibility which take automatcially configure appropriate compatibility settings for the specified SQLCipher major version number
920
- Filters attach statements with KEY parameters from readline history
1021
- Fixes crash in command line shell with empty input (i.e. ^D)
1122
- Fixes warnings when compiled with strict-prototypes
1223

13-
## [4.0.0] - 2018-11-30
24+
## [4.0.0] - (November 2018 - [4.0.0 changes])
1425
### Changed
1526
- Default page size for databases increased to 4096 bytes (up from 1024) *
1627
- Default PBKDF2 iterations increased to 256,000 (up from 64,000) *
@@ -43,7 +54,7 @@ All notable changes to this project will be documented in this file.
4354
- Fixes compilation with --disable-amalgamation
4455
- Removes sqlcipher.xcodeproj build support
4556

46-
## [3.4.2] - 2017-12-21
57+
## [3.4.2] - (December 2017 - [3.4.2 changes])
4758
### Added
4859
- Added support for building with LibreSSL
4960

@@ -58,14 +69,14 @@ All notable changes to this project will be documented in this file.
5869
- Guard OpenSSL initialization and cleanup routines
5970
- Allow additional linker options to be passed via command line for Windows platforms
6071

61-
## [3.4.1] - 2016-12-28
72+
## [3.4.1] - (December 2016 - [3.4.1 changes])
6273
### Added
6374
- Added support for OpenSSL 1.1.0
6475

6576
### Changed
6677
- Merged upstream SQLite 3.15.2
6778

68-
## [3.4.0] - 2016-04-05
79+
## [3.4.0] - (April 2016 - [3.4.0 changes])
6980
### Added
7081
- Added `PRAGMA cipher_provider_version`
7182

@@ -75,45 +86,45 @@ All notable changes to this project will be documented in this file.
7586
### Deprecated
7687
- Deprecated `PRAGMA cipher` command
7788

78-
## [3.3.1] - 2015-07-13
89+
## [3.3.1] - (July 2015 - [3.3.1 changes])
7990
### Changed
8091
- Merge upstream SQLite 3.8.10.2
8192
- Fixed segfault when provided an invalid cipher name
8293
- Check for codec context when performing `PRAGMA cipher_store_pass`
8394
- Remove extraneous null check in `PRAGMA cipher_migrate`
8495

85-
## [3.3.0] - 2015-03-25
96+
## [3.3.0] - (March 2015 - [3.3.0 changes])
8697
### Added
8798
- Added FIPS API calls within the OpenSSL crypto provider
8899
- `PRAGMA cipher_default_page_size` - support for attaching non-default page sizes
89100

90101
### Changed
91102
- Merged upstream SQLite 3.8.8.3
92103

93-
## [3.2.0] - 2014-09-30
104+
## [3.2.0] - (September 2014 - [3.2.0 changes])
94105
### Added
95106
- Added `PRAGMA cipher_store_pass`
96107

97108
### Changed
98109
- Merged upstream SQLite 3.8.6
99110
- Renmed README to README.md
100111

101-
## [3.1.0] - 2014-04-23
112+
## [3.1.0] - (April 2014 - [3.1.0 changes])
102113
### Added
103114
- Added `PRAGMA cipher_profile`
104115

105116
### Changed
106117
- Merged upstream SQLite 3.8.4.3
107118

108-
## [3.0.1] - 2013-12-06
119+
## [3.0.1] - (December 2013 - [3.0.1 changes])
109120
### Added
110121
- Added `PRAGMA cipher_add_random` to source external entropy
111122

112123
### Changed
113124
- Fix `PRAGMA cipher_migrate` to handle passphrases longer than 64 characters & raw keys
114125
- Improvements to the libtomcrypt provider
115126

116-
## [3.0.0] - 2013-11-05
127+
## [3.0.0] - (November 2013 - [3.0.0 changes])
117128
### Added
118129
- Added `PRAGMA cipher_migrate` to migrate older database file formats
119130

@@ -128,33 +139,64 @@ All notable changes to this project will be documented in this file.
128139
### Security
129140
- Change KDF iteration length from 4,000 to 64,000
130141

131-
[unreleased]: https://github.com/sqlcipher/sqlcipher/compare/v4.0.1...prerelease
132-
[4.0.1]: https://github.com/sqlcipher/sqlcipher/compare/v4.0.0...v4.0.1
133-
[4.0.0]: https://github.com/sqlcipher/sqlcipher/compare/v3.4.2...v4.0.0
134-
[3.4.2]: https://github.com/sqlcipher/sqlcipher/compare/v3.4.1...v3.4.2
135-
[3.4.1]: https://github.com/sqlcipher/sqlcipher/compare/v3.4.0...v3.4.1
136-
[3.4.0]: https://github.com/sqlcipher/sqlcipher/compare/v3.3.1...v3.4.0
137-
[3.3.1]: https://github.com/sqlcipher/sqlcipher/compare/v3.3.0...v3.3.1
138-
[3.3.0]: https://github.com/sqlcipher/sqlcipher/compare/v3.2.0...v3.3.0
139-
[3.2.0]: https://github.com/sqlcipher/sqlcipher/compare/v3.1.0...v3.2.0
140-
[3.1.0]: https://github.com/sqlcipher/sqlcipher/compare/v3.0.1...v3.1.0
141-
[3.0.1]: https://github.com/sqlcipher/sqlcipher/compare/v3.0.0...v3.0.1
142-
[3.0.0]: https://github.com/sqlcipher/sqlcipher/compare/v2.2.0...v3.0.0
143-
[2.2.0]: https://github.com/sqlcipher/sqlcipher/compare/v2.1.1...v2.2.0
144-
[2.1.1]: https://github.com/sqlcipher/sqlcipher/compare/v2.1.0...v2.1.1
145-
[2.1.0]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.6...v2.1.0
146-
[2.0.6]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.5...v2.0.6
147-
[2.0.5]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.3...v2.0.5
148-
[2.0.3]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.0...v2.0.3
149-
[2.0.0]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.10...v2.0.0
150-
[1.1.10]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.9...v1.1.10
151-
[1.1.9]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.8...v1.1.9
152-
[1.1.8]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.7...v1.1.8
153-
[1.1.7]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.6...v1.1.7
154-
[1.1.6]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.5...v1.1.6
155-
[1.1.5]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.4...v1.1.5
156-
[1.1.4]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.3...v1.1.4
157-
[1.1.3]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.2...v1.1.3
158-
[1.1.2]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.1...v1.1.1
159-
[1.1.1]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.0...v1.1.1
160-
[1.1.0]: https://github.com/sqlcipher/sqlcipher/compare/617ed01...v1.1.0
142+
[unreleased]: https://github.com/sqlcipher/sqlcipher/compare/v4.1.0...prerelease
143+
[4.1.0]: https://github.com/sqlcipher/sqlcipher/tree/v4.1.0
144+
[4.1.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v4.0.1...v4.1.0
145+
[4.0.1]: https://github.com/sqlcipher/sqlcipher/tree/v4.0.1
146+
[4.0.1 changes]: https://github.com/sqlcipher/sqlcipher/compare/v4.0.0...v4.0.1
147+
[4.0.0]: https://github.com/sqlcipher/sqlcipher/tree/v4.0.0
148+
[4.0.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.4.2...v4.0.0
149+
[3.4.2]: https://github.com/sqlcipher/sqlcipher/tree/v3.4.2
150+
[3.4.2 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.4.1...v3.4.2
151+
[3.4.1]: https://github.com/sqlcipher/sqlcipher/tree/v3.4.1
152+
[3.4.1 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.4.0...v3.4.1
153+
[3.4.0]: https://github.com/sqlcipher/sqlcipher/tree/v3.4.0
154+
[3.4.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.3.1...v3.4.0
155+
[3.3.1]: https://github.com/sqlcipher/sqlcipher/tree/v3.3.1
156+
[3.3.1 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.3.0...v3.3.1
157+
[3.3.0]: https://github.com/sqlcipher/sqlcipher/tree/v3.3.0
158+
[3.3.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.2.0...v3.3.0
159+
[3.2.0]: https://github.com/sqlcipher/sqlcipher/tree/v3.2.0
160+
[3.2.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.1.0...v3.2.0
161+
[3.1.0]: https://github.com/sqlcipher/sqlcipher/tree/v3.1.0
162+
[3.1.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.0.1...v3.1.0
163+
[3.0.1]: https://github.com/sqlcipher/sqlcipher/tree/v3.0.1
164+
[3.0.1 changes]: https://github.com/sqlcipher/sqlcipher/compare/v3.0.0...v3.0.1
165+
[3.0.0]: https://github.com/sqlcipher/sqlcipher/tree/v3.0.0
166+
[3.0.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.2.0...v3.0.0
167+
[2.2.0]: https://github.com/sqlcipher/sqlcipher/tree/v2.2.0
168+
[2.2.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.1.1...v2.2.0
169+
[2.1.1]: https://github.com/sqlcipher/sqlcipher/tree/v2.1.1
170+
[2.1.1 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.1.0...v2.1.1
171+
[2.1.0]: https://github.com/sqlcipher/sqlcipher/tree/v2.1.0
172+
[2.1.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.6...v2.1.0
173+
[2.0.6]: https://github.com/sqlcipher/sqlcipher/tree/v2.0.6
174+
[2.0.6 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.5...v2.0.6
175+
[2.0.5]: https://github.com/sqlcipher/sqlcipher/tree/v2.0.5
176+
[2.0.5 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.3...v2.0.5
177+
[2.0.3]: https://github.com/sqlcipher/sqlcipher/tree/v2.0.3
178+
[2.0.3 changes]: https://github.com/sqlcipher/sqlcipher/compare/v2.0.0...v2.0.3
179+
[2.0.0]: https://github.com/sqlcipher/sqlcipher/tree/v2.0.0
180+
[2.0.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.10...v2.0.0
181+
[1.1.10]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.10
182+
[1.1.10 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.9...v1.1.10
183+
[1.1.9]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.9
184+
[1.1.9 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.8...v1.1.9
185+
[1.1.8]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.8
186+
[1.1.8 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.7...v1.1.8
187+
[1.1.7]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.7
188+
[1.1.7 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.6...v1.1.7
189+
[1.1.6]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.6
190+
[1.1.6 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.5...v1.1.6
191+
[1.1.5]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.5
192+
[1.1.5 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.4...v1.1.5
193+
[1.1.4]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.4
194+
[1.1.4 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.3...v1.1.4
195+
[1.1.3]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.3
196+
[1.1.3 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.2...v1.1.3
197+
[1.1.2]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.2
198+
[1.1.2 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.1...v1.1.1
199+
[1.1.1]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.1
200+
[1.1.1 changes]: https://github.com/sqlcipher/sqlcipher/compare/v1.1.0...v1.1.1
201+
[1.1.0]: https://github.com/sqlcipher/sqlcipher/tree/v1.1.0
202+
[1.1.0 changes]: https://github.com/sqlcipher/sqlcipher/compare/617ed01...v1.1.0

Makefile.in

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,7 @@ TESTSRC += \
472472
$(TOP)/ext/misc/nextchar.c \
473473
$(TOP)/ext/misc/normalize.c \
474474
$(TOP)/ext/misc/percentile.c \
475+
$(TOP)/ext/misc/prefixes.c \
475476
$(TOP)/ext/misc/regexp.c \
476477
$(TOP)/ext/misc/remember.c \
477478
$(TOP)/ext/misc/series.c \
@@ -608,7 +609,8 @@ FUZZDATA = \
608609
$(TOP)/test/fuzzdata4.db \
609610
$(TOP)/test/fuzzdata5.db \
610611
$(TOP)/test/fuzzdata6.db \
611-
$(TOP)/test/fuzzdata7.db
612+
$(TOP)/test/fuzzdata7.db \
613+
$(TOP)/test/fuzzdata8.db
612614

613615
# Standard options to testfixture
614616
#
@@ -631,6 +633,12 @@ FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
631633
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
632634
FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000
633635
FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000
636+
FUZZCHECK_OPT += -DSQLITE_ENABLE_DESERIALIZE
637+
FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS4
638+
#FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS5
639+
FUZZCHECK_OPT += -DSQLITE_ENABLE_RTREE
640+
FUZZCHECK_OPT += -DSQLITE_ENABLE_GEOPOLY
641+
FUZZCHECK_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
634642
FUZZCHECK_SRC = $(TOP)/test/fuzzcheck.c $(TOP)/test/ossfuzz.c
635643
DBFUZZ_OPT =
636644

@@ -689,7 +697,7 @@ ossshell$(TEXE): $(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c sqlite3.
689697
$(TOP)/test/ossfuzz.c sqlite3.c $(TLIBS)
690698

691699
sessionfuzz$(TEXE): $(TOP)/test/sessionfuzz.c sqlite3.c sqlite3.h
692-
$(CC) $(CFLAGS) -I. -o $@ $(TOP)/test/sessionfuzz.c $(TLIBS)
700+
$(LTLINK) -o $@ $(TOP)/test/sessionfuzz.c $(TLIBS)
693701

694702
dbfuzz$(TEXE): $(TOP)/test/dbfuzz.c sqlite3.c sqlite3.h
695703
$(LTLINK) -o $@ $(DBFUZZ_OPT) $(TOP)/test/dbfuzz.c sqlite3.c $(TLIBS)
@@ -702,11 +710,26 @@ DBFUZZ2_OPTS = \
702710
-DSQLITE_ENABLE_DBSTAT_VTAB \
703711
-DSQLITE_ENABLE_RTREE \
704712
-DSQLITE_ENABLE_FTS4 \
705-
-DSQLITE_EANBLE_FTS5
713+
-DSQLITE_ENABLE_FTS5
706714

707-
dbfuzz2: $(TOP)/test/dbfuzz2.c sqlite3.c sqlite3.h
708-
clang-6.0 -I. -g -O0 -fsanitize=fuzzer,undefined,address -o dbfuzz2 \
709-
$(DBFUZZ2_OPTS) $(TOP)/test/dbfuzz2.c sqlite3.c
715+
dbfuzz2$(TEXE): $(TOP)/test/dbfuzz2.c sqlite3.c sqlite3.h
716+
$(CC) $(OPT_FEATURE_FLAGS) $(OPTS) -I. -g -O0 \
717+
-DSTANDALONE -o dbfuzz2 \
718+
$(DBFUZZ2_OPTS) $(TOP)/test/dbfuzz2.c sqlite3.c $(TLIBS)
719+
mkdir -p dbfuzz2-dir
720+
cp $(TOP)/test/dbfuzz2-seed* dbfuzz2-dir
721+
722+
dbfuzz2-asan: $(TOP)/test/dbfuzz2.c sqlite3.c sqlite3.h
723+
clang-6.0 $(OPT_FEATURE_FLAGS) $(OPTS) -I. -g -O0 \
724+
-fsanitize=fuzzer,undefined,address -o dbfuzz2-asan \
725+
$(DBFUZZ2_OPTS) $(TOP)/test/dbfuzz2.c sqlite3.c $(TLIBS)
726+
mkdir -p dbfuzz2-dir
727+
cp $(TOP)/test/dbfuzz2-seed* dbfuzz2-dir
728+
729+
dbfuzz2-msan: $(TOP)/test/dbfuzz2.c sqlite3.c sqlite3.h
730+
clang-6.0 $(OPT_FEATURE_FLAGS) $(OPTS) -I. -g -O0 \
731+
-fsanitize=fuzzer,undefined,memory -o dbfuzz2-msan \
732+
$(DBFUZZ2_OPTS) $(TOP)/test/dbfuzz2.c sqlite3.c $(TLIBS)
710733
mkdir -p dbfuzz2-dir
711734
cp $(TOP)/test/dbfuzz2-seed* dbfuzz2-dir
712735

@@ -1085,6 +1108,7 @@ SHELL_SRC = \
10851108
$(TOP)/ext/expert/sqlite3expert.c \
10861109
$(TOP)/ext/expert/sqlite3expert.h \
10871110
$(TOP)/ext/misc/zipfile.c \
1111+
$(TOP)/ext/misc/memtrace.c \
10881112
$(TOP)/src/test_windirent.c
10891113

10901114
shell.c: $(SHELL_SRC) $(TOP)/tool/mkshellc.tcl
@@ -1222,6 +1246,7 @@ TESTFIXTURE_FLAGS += -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
12221246
TESTFIXTURE_FLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024
12231247
TESTFIXTURE_FLAGS += -DSQLITE_ENABLE_STMTVTAB
12241248
TESTFIXTURE_FLAGS += -DSQLITE_ENABLE_DBPAGE_VTAB
1249+
TESTFIXTURE_FLAGS += -DSQLITE_ENABLE_DESERIALIZE
12251250

12261251
TESTFIXTURE_SRC0 = $(TESTSRC2) libsqlcipher.la
12271252
TESTFIXTURE_SRC1 = sqlite3.c
@@ -1324,6 +1349,9 @@ dbdump$(TEXE): $(TOP)/ext/misc/dbdump.c sqlite3.lo
13241349
$(LTLINK) -DDBDUMP_STANDALONE -o $@ \
13251350
$(TOP)/ext/misc/dbdump.c sqlite3.lo $(TLIBS)
13261351

1352+
dbtotxt$(TEXE): $(TOP)/tool/dbtotxt.c
1353+
$(LTLINK)-o $@ $(TOP)/tool/dbtotxt.c
1354+
13271355
showdb$(TEXE): $(TOP)/tool/showdb.c sqlite3.lo
13281356
$(LTLINK) -o $@ $(TOP)/tool/showdb.c sqlite3.lo $(TLIBS)
13291357

@@ -1339,6 +1367,9 @@ showwal$(TEXE): $(TOP)/tool/showwal.c sqlite3.lo
13391367
showshm$(TEXE): $(TOP)/tool/showshm.c
13401368
$(LTLINK) -o $@ $(TOP)/tool/showshm.c
13411369

1370+
index_usage$(TEXE): $(TOP)/tool/index_usage.c sqlite3.lo
1371+
$(LTLINK) $(SHELL_OPT) -o $@ $(TOP)/tool/index_usage.c sqlite3.lo $(TLIBS)
1372+
13421373
changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
13431374
$(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
13441375

Makefile.msc

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1534,6 +1534,7 @@ TESTEXT = \
15341534
$(TOP)\ext\misc\nextchar.c \
15351535
$(TOP)\ext\misc\normalize.c \
15361536
$(TOP)\ext\misc\percentile.c \
1537+
$(TOP)\ext\misc\prefixes.c \
15371538
$(TOP)\ext\misc\regexp.c \
15381539
$(TOP)\ext\misc\remember.c \
15391540
$(TOP)\ext\misc\series.c \
@@ -1632,7 +1633,8 @@ FUZZDATA = \
16321633
$(TOP)\test\fuzzdata4.db \
16331634
$(TOP)\test\fuzzdata5.db \
16341635
$(TOP)\test\fuzzdata6.db \
1635-
$(TOP)\test\fuzzdata7.db
1636+
$(TOP)\test\fuzzdata7.db \
1637+
$(TOP)\test\fuzzdata8.db
16361638
# <</mark>>
16371639

16381640
# Additional compiler options for the shell. These are only effective
@@ -1650,7 +1652,13 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_DESERIALIZE=1
16501652
#
16511653
MPTESTER_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5
16521654
FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1
1653-
FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ -DSQLITE_MAX_MEMORY=50000000 -DSQLITE_PRINTF_PRECISION_LIMIT=1000
1655+
FUZZCHECK_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ -DSQLITE_MAX_MEMORY=50000000 -DSQLITE_PRINTF_PRECISION_LIMIT=1000
1656+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DESERIALIZE
1657+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4
1658+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE
1659+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_GEOPOLY
1660+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBSTAT_VTAB
1661+
16541662
FUZZCHECK_SRC = $(TOP)\test\fuzzcheck.c $(TOP)\test\ossfuzz.c
16551663
OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c
16561664
DBFUZZ_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
@@ -1737,10 +1745,10 @@ dbfuzz.exe: $(TOP)\test\dbfuzz.c $(SQLITE3C) $(SQLITE3H)
17371745
$(LTLINK) $(NO_WARN) $(DBFUZZ_COMPILE_OPTS) $(TOP)\test\dbfuzz.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
17381746

17391747
fuzzcheck.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H)
1740-
$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
1748+
$(LTLINK) $(NO_WARN) $(FUZZCHECK_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
17411749

17421750
ossshell.exe: $(OSSSHELL_SRC) $(SQLITE3C) $(SQLITE3H)
1743-
$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(OSSSHELL_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
1751+
$(LTLINK) $(NO_WARN) $(FUZZCHECK_OPTS) $(OSSSHELL_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
17441752

17451753
sessionfuzz.exe: zlib $(TOP)\test\sessionfuzz.c $(SQLITE3C) $(SQLITE3H)
17461754
$(LTLINK) $(NO_WARN) -I$(ZLIBINCDIR) $(TOP)\test\sessionfuzz.c /link $(LDFLAGS) $(LTLINKOPTS) /LIBPATH:$(ZLIBLIBDIR) $(ZLIBLIB)
@@ -2137,6 +2145,7 @@ SHELL_SRC = \
21372145
$(TOP)\ext\misc\completion.c \
21382146
$(TOP)\ext\expert\sqlite3expert.c \
21392147
$(TOP)\ext\expert\sqlite3expert.h \
2148+
$(TOP)\ext\misc\memtrace.c \
21402149
$(TOP)\src\test_windirent.c
21412150

21422151
# If use of zlib is enabled, add the "zipfile.c" source file.
@@ -2305,6 +2314,7 @@ TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_DEFAULT_PAGE_SIZE=1024
23052314
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
23062315
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
23072316
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_JSON1=1
2317+
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) -DSQLITE_ENABLE_DESERIALIZE=1
23082318
TESTFIXTURE_FLAGS = $(TESTFIXTURE_FLAGS) $(TEST_CCONV_OPTS)
23092319

23102320
TESTFIXTURE_SRC0 = $(TESTEXT) $(TESTSRC2)
@@ -2432,6 +2442,9 @@ testloadext.lo: $(TOP)\src\test_loadext.c $(SQLITE3H)
24322442
testloadext.dll: testloadext.lo
24332443
$(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ testloadext.lo
24342444

2445+
dbtotxt.exe: $(TOP)\tool\dbtotxt.c
2446+
$(LTLINK) $(NO_WARN) $(TOP)\tool\dbtotxt.c /link $(LDFLAGS) $(LTLINKOPTS)
2447+
24352448
showdb.exe: $(TOP)\tool\showdb.c $(SQLITE3C) $(SQLITE3H)
24362449
$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
24372450
$(TOP)\tool\showdb.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
@@ -2451,6 +2464,10 @@ showwal.exe: $(TOP)\tool\showwal.c $(SQLITE3C) $(SQLITE3H)
24512464
showshm.exe: $(TOP)\tool\showshm.c
24522465
$(LTLINK) $(NO_WARN) $(TOP)\tool\showshm.c /link $(LDFLAGS) $(LTLINKOPTS)
24532466

2467+
index_usage.exe: $(TOP)\tool\index_usage.c $(SQLITE3C) $(SQLITE3H)
2468+
$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
2469+
$(TOP)\tool\index_usage.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
2470+
24542471
changeset.exe: $(TOP)\ext\session\changeset.c $(SQLITE3C) $(SQLITE3H)
24552472
$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
24562473
-DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \

0 commit comments

Comments
 (0)