MFH: r466838 by yuri

databases/sqlite3: Update 3.22.0 -> 3.23.0

Changelog:
https://www.sqlite.org/releaselog/3_23_0.html

Port changes:
* Add SER1 option for the new optional sqlite3_serialize()/sqlite3_deserialize() functions
* Remove security patches that are now in the release

PR:		227365
Submitted by:	Pavel Volkov <pavelivolkov@gmail.com> (maintainer)
Approved by:	ports-secteam blanket (required by Firefox 61)
This commit is contained in:
Jan Beich 2018-06-26 15:48:33 +00:00
parent 639f62c6c9
commit ca52816902
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q2/; revision=473392
3 changed files with 10 additions and 42 deletions

View File

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= sqlite3
DISTVERSION= 3.22.0
PORTREVISION= 2
DISTVERSION= 3.23.0
CATEGORIES= databases
MASTER_SITES= https://www.sqlite.org/2018/ http://www2.sqlite.org/2018/ http://www3.sqlite.org/2018/
DISTNAME= sqlite-autoconf-${PORTVERSION:C/\.([[:digit:]])[[:>:]]/0\1/g:S/.//g}00
@ -30,7 +29,7 @@ OPTIONS_RADIO= STAT
OPTIONS_GROUP= OPT_EXT OPT_FUNC UNICODE RTREEG RL
OPTIONS_GROUP_OPT_EXT= JSON1 SESSION
OPTIONS_GROUP_OPT_FUNC= OFFSET SOUNDEX
OPTIONS_GROUP_OPT_FUNC= OFFSET SER1 SOUNDEX
OPT_EXT_DESC= Optional extensions
OPT_FUNC_DESC= Optional functions
@ -52,6 +51,9 @@ NULL_TRIM_DESC= Omits NULL columns at the ends of rows
# http://www.sqlite.org/compile.html#enable_offset_sql_func
OFFSET_DESC= Enable sqlite_offset() returning record's file offset
# https://www.sqlite.org/compile.html#enable_deserialize
SER1_DESC= Enable the sqlite3_[de]serialize() interface
# https://www.sqlite.org/sessionintro.html
SESSION_DESC= Enable the session extension
@ -212,6 +214,8 @@ NULL_TRIM_CPPFLAGS= -DSQLITE_ENABLE_NULL_TRIM=1
OFFSET_CPPFLAGS= -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1
SER1_CPPFLAGS= -DSQLITE_ENABLE_DESERIALIZE=1
.include <bsd.port.options.mk>
# Platform Configuration

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1517654018
SHA256 (sqlite-autoconf-3220000.tar.gz) = 2824ab1238b706bc66127320afbdffb096361130e23291f26928a027b885c612
SIZE (sqlite-autoconf-3220000.tar.gz) = 2644649
TIMESTAMP = 1523081283
SHA256 (sqlite-autoconf-3230000.tar.gz) = b7711a1800a071674c2bf76898ae8584fc6c9643cfe933cfc1bc54361e3a6e49
SIZE (sqlite-autoconf-3230000.tar.gz) = 2674030

View File

@ -1,36 +0,0 @@
Fix for CVE-2018-8740: https://nvd.nist.gov/vuln/detail/CVE-2018-8740
Detect databases whose schema is corrupted using a CREATE TABLE AS statement and issue an appropriate error message.
Commit [d75e6765]: https://www.sqlite.org/src/info/d75e67654aa9620b
Description: https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/1756349
--- sqlite3.c.orig 2018-03-22 07:08:21 UTC
+++ sqlite3.c
@@ -103474,8 +103474,6 @@ SQLITE_PRIVATE void sqlite3EndTable(
p = pParse->pNewTable;
if( p==0 ) return;
- assert( !db->init.busy || !pSelect );
-
/* If the db->init.busy is 1 it means we are reading the SQL off the
** "sqlite_master" or "sqlite_temp_master" table on the disk.
** So do not write to the disk again. Extract the root page number
@@ -103486,6 +103484,10 @@ SQLITE_PRIVATE void sqlite3EndTable(
** table itself. So mark it read-only.
*/
if( db->init.busy ){
+ if( pSelect ){
+ sqlite3ErrorMsg(pParse, "");
+ return;
+ }
p->tnum = db->init.newTnum;
if( p->tnum==1 ) p->tabFlags |= TF_Readonly;
}
@@ -117813,7 +117815,7 @@ static void corruptSchema(
char *z;
if( zObj==0 ) zObj = "?";
z = sqlite3MPrintf(db, "malformed database schema (%s)", zObj);
- if( zExtra ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra);
+ if( zExtra && zExtra[0] ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra);
sqlite3DbFree(db, *pData->pzErrMsg);
*pData->pzErrMsg = z;
}