|
@@ -113,7 +113,7 @@ extern "C" {
|
|
|
*/
|
|
*/
|
|
|
#define SQLITE_VERSION "3.13.0"
|
|
#define SQLITE_VERSION "3.13.0"
|
|
|
#define SQLITE_VERSION_NUMBER 3013000
|
|
#define SQLITE_VERSION_NUMBER 3013000
|
|
|
-#define SQLITE_SOURCE_ID "2016-04-15 15:03:27 3e217d6265ecd16db783bed7ce1d9d0f9c4828bb"
|
|
|
|
|
|
|
+#define SQLITE_SOURCE_ID "2016-05-03 19:40:54 1b43358f8979c4f18519e824e0d5f6ef2250107c"
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -1944,12 +1944,30 @@ struct sqlite3_mem_methods {
|
|
|
** following this call. The second parameter may be a NULL pointer, in
|
|
** following this call. The second parameter may be a NULL pointer, in
|
|
|
** which case the new setting is not reported back. </dd>
|
|
** which case the new setting is not reported back. </dd>
|
|
|
**
|
|
**
|
|
|
|
|
+** <dt>SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION</dt>
|
|
|
|
|
+** <dd> ^This option is used to enable or disable the [sqlite3_load_extension()]
|
|
|
|
|
+** interface independently of the [load_extension()] SQL function.
|
|
|
|
|
+** The [sqlite3_enable_load_extension()] API enables or disables both the
|
|
|
|
|
+** C-API [sqlite3_load_extension()] and the SQL function [load_extension()].
|
|
|
|
|
+** There should be two additional arguments.
|
|
|
|
|
+** When the first argument to this interface is 1, then only the C-API is
|
|
|
|
|
+** enabled and the SQL function remains disabled. If the first argment to
|
|
|
|
|
+** this interface is 0, then both the C-API and the SQL function are disabled.
|
|
|
|
|
+** If the first argument is -1, then no changes are made to state of either the
|
|
|
|
|
+** C-API or the SQL function.
|
|
|
|
|
+** The second parameter is a pointer to an integer into which
|
|
|
|
|
+** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface
|
|
|
|
|
+** is disabled or enabled following this call. The second parameter may
|
|
|
|
|
+** be a NULL pointer, in which case the new setting is not reported back.
|
|
|
|
|
+** </dd>
|
|
|
|
|
+**
|
|
|
** </dl>
|
|
** </dl>
|
|
|
*/
|
|
*/
|
|
|
#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */
|
|
#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */
|
|
|
#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */
|
|
#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */
|
|
|
#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */
|
|
#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */
|
|
|
#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */
|
|
#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */
|
|
|
|
|
+#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -5511,9 +5529,18 @@ SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata(
|
|
|
** should free this memory by calling [sqlite3_free()].
|
|
** should free this memory by calling [sqlite3_free()].
|
|
|
**
|
|
**
|
|
|
** ^Extension loading must be enabled using
|
|
** ^Extension loading must be enabled using
|
|
|
-** [sqlite3_enable_load_extension()] prior to calling this API,
|
|
|
|
|
|
|
+** [sqlite3_enable_load_extension()] or
|
|
|
|
|
+** [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],1,NULL)
|
|
|
|
|
+** prior to calling this API,
|
|
|
** otherwise an error will be returned.
|
|
** otherwise an error will be returned.
|
|
|
**
|
|
**
|
|
|
|
|
+** <b>Security warning:</b> It is recommended that the
|
|
|
|
|
+** [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method be used to enable only this
|
|
|
|
|
+** interface. The use of the [sqlite3_enable_load_extension()] interface
|
|
|
|
|
+** should be avoided. This will keep the SQL function [load_extension()]
|
|
|
|
|
+** disabled and prevent SQL injections from giving attackers
|
|
|
|
|
+** access to extension loading capabilities.
|
|
|
|
|
+**
|
|
|
** See also the [load_extension() SQL function].
|
|
** See also the [load_extension() SQL function].
|
|
|
*/
|
|
*/
|
|
|
SQLITE_API int SQLITE_STDCALL sqlite3_load_extension(
|
|
SQLITE_API int SQLITE_STDCALL sqlite3_load_extension(
|
|
@@ -5536,6 +5563,17 @@ SQLITE_API int SQLITE_STDCALL sqlite3_load_extension(
|
|
|
** ^Call the sqlite3_enable_load_extension() routine with onoff==1
|
|
** ^Call the sqlite3_enable_load_extension() routine with onoff==1
|
|
|
** to turn extension loading on and call it with onoff==0 to turn
|
|
** to turn extension loading on and call it with onoff==0 to turn
|
|
|
** it back off again.
|
|
** it back off again.
|
|
|
|
|
+**
|
|
|
|
|
+** ^This interface enables or disables both the C-API
|
|
|
|
|
+** [sqlite3_load_extension()] and the SQL function [load_extension()].
|
|
|
|
|
+** Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..)
|
|
|
|
|
+** to enable or disable only the C-API.
|
|
|
|
|
+**
|
|
|
|
|
+** <b>Security warning:</b> It is recommended that extension loading
|
|
|
|
|
+** be disabled using the [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method
|
|
|
|
|
+** rather than this interface, so the [load_extension()] SQL function
|
|
|
|
|
+** remains disabled. This will prevent SQL injections from giving attackers
|
|
|
|
|
+** access to extension loading capabilities.
|
|
|
*/
|
|
*/
|
|
|
SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int onoff);
|
|
SQLITE_API int SQLITE_STDCALL sqlite3_enable_load_extension(sqlite3 *db, int onoff);
|
|
|
|
|
|