mirror of
https://github.com/zeek/zeek.git
synced 2025-10-05 16:18:19 +00:00
Merge remote-tracking branch 'origin/master' into topic/seth/faf-updates
Conflicts: magic
This commit is contained in:
commit
7838113dc2
13 changed files with 2910 additions and 451 deletions
23
CHANGES
23
CHANGES
|
@ -1,4 +1,27 @@
|
||||||
|
|
||||||
|
2.1-814 | 2013-07-15 18:18:20 -0700
|
||||||
|
|
||||||
|
* Fixing raw reader crash when accessing nonexistant file, and
|
||||||
|
memory leak when reading from file. Addresses #1038. (Bernhard
|
||||||
|
Amann)
|
||||||
|
|
||||||
|
2.1-811 | 2013-07-14 08:01:54 -0700
|
||||||
|
|
||||||
|
* Bump sqlite to 3.7.17. (Bernhard Amann)
|
||||||
|
|
||||||
|
* Small test fixes. (Seth Hall)
|
||||||
|
|
||||||
|
* Fix a bug where the same analyzer tag was reused for two different
|
||||||
|
analyzers. (Seth Hall)
|
||||||
|
|
||||||
|
* Moved DPD signatures into script specific directories. Left out
|
||||||
|
the BitTorrent signatures pending further updates to that
|
||||||
|
analyzer. (Seth Hall)
|
||||||
|
|
||||||
|
2.1-802 | 2013-07-10 10:55:14 -0700
|
||||||
|
|
||||||
|
* Const adjustment for methods. (Jon Siwek)
|
||||||
|
|
||||||
2.1-798 | 2013-07-08 13:05:37 -0700
|
2.1-798 | 2013-07-08 13:05:37 -0700
|
||||||
|
|
||||||
* Rewrite of the packet filter framework. (Seth Hall)
|
* Rewrite of the packet filter framework. (Seth Hall)
|
||||||
|
|
2
NEWS
2
NEWS
|
@ -189,6 +189,8 @@ Changed Functionality
|
||||||
- PacketFilter::all_packets has been replaced with
|
- PacketFilter::all_packets has been replaced with
|
||||||
PacketFilter::enable_auto_protocol_capture_filters.
|
PacketFilter::enable_auto_protocol_capture_filters.
|
||||||
|
|
||||||
|
- We removed the BitTorrent DPD signatures pending further updates to
|
||||||
|
that analyzer.
|
||||||
|
|
||||||
Bro 2.1
|
Bro 2.1
|
||||||
-------
|
-------
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
2.1-798
|
2.1-814
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 017e7732446b36af935c26834394b51829335e7c
|
Subproject commit 0cd102805e73343cab3f9fd4a76552e13940dad9
|
|
@ -41,6 +41,7 @@
|
||||||
@load base/protocols/http
|
@load base/protocols/http
|
||||||
@load base/protocols/irc
|
@load base/protocols/irc
|
||||||
@load base/protocols/modbus
|
@load base/protocols/modbus
|
||||||
|
@load base/protocols/pop3
|
||||||
@load base/protocols/smtp
|
@load base/protocols/smtp
|
||||||
@load base/protocols/socks
|
@load base/protocols/socks
|
||||||
@load base/protocols/ssh
|
@load base/protocols/ssh
|
||||||
|
|
2
scripts/base/protocols/pop3/__load__.bro
Normal file
2
scripts/base/protocols/pop3/__load__.bro
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
@load-sigs ./dpd.sig
|
13
scripts/base/protocols/pop3/dpd.sig
Normal file
13
scripts/base/protocols/pop3/dpd.sig
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
signature dpd_pop3_server {
|
||||||
|
ip-proto == tcp
|
||||||
|
payload /^\+OK/
|
||||||
|
requires-reverse-signature dpd_pop3_client
|
||||||
|
enable "pop3"
|
||||||
|
tcp-state responder
|
||||||
|
}
|
||||||
|
|
||||||
|
signature dpd_pop3_client {
|
||||||
|
ip-proto == tcp
|
||||||
|
payload /(|.*[\r\n])[[:space:]]*([uU][sS][eE][rR][[:space:]]|[aA][pP][oO][pP][[:space:]]|[cC][aA][pP][aA]|[aA][uU][tT][hH])/
|
||||||
|
tcp-state originator
|
||||||
|
}
|
3175
src/3rdparty/sqlite3.c
vendored
3175
src/3rdparty/sqlite3.c
vendored
File diff suppressed because it is too large
Load diff
109
src/3rdparty/sqlite3.h
vendored
109
src/3rdparty/sqlite3.h
vendored
|
@ -107,9 +107,9 @@ extern "C" {
|
||||||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||||
** [sqlite_version()] and [sqlite_source_id()].
|
** [sqlite_version()] and [sqlite_source_id()].
|
||||||
*/
|
*/
|
||||||
#define SQLITE_VERSION "3.7.16.2"
|
#define SQLITE_VERSION "3.7.17"
|
||||||
#define SQLITE_VERSION_NUMBER 3007016
|
#define SQLITE_VERSION_NUMBER 3007017
|
||||||
#define SQLITE_SOURCE_ID "2013-04-12 11:52:43 cbea02d93865ce0e06789db95fd9168ebac970c7"
|
#define SQLITE_SOURCE_ID "2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
|
@ -425,6 +425,8 @@ SQLITE_API int sqlite3_exec(
|
||||||
#define SQLITE_FORMAT 24 /* Auxiliary database format error */
|
#define SQLITE_FORMAT 24 /* Auxiliary database format error */
|
||||||
#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */
|
#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */
|
||||||
#define SQLITE_NOTADB 26 /* File opened that is not a database file */
|
#define SQLITE_NOTADB 26 /* File opened that is not a database file */
|
||||||
|
#define SQLITE_NOTICE 27 /* Notifications from sqlite3_log() */
|
||||||
|
#define SQLITE_WARNING 28 /* Warnings from sqlite3_log() */
|
||||||
#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */
|
#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */
|
||||||
#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */
|
#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */
|
||||||
/* end-of-error-codes */
|
/* end-of-error-codes */
|
||||||
|
@ -475,6 +477,7 @@ SQLITE_API int sqlite3_exec(
|
||||||
#define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8))
|
#define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8))
|
||||||
#define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8))
|
#define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8))
|
||||||
#define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8))
|
#define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8))
|
||||||
|
#define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8))
|
||||||
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
|
#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8))
|
||||||
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
|
#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8))
|
||||||
#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8))
|
#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8))
|
||||||
|
@ -494,6 +497,8 @@ SQLITE_API int sqlite3_exec(
|
||||||
#define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8))
|
#define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8))
|
||||||
#define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8))
|
#define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8))
|
||||||
#define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8))
|
#define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8))
|
||||||
|
#define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8))
|
||||||
|
#define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Flags For File Open Operations
|
** CAPI3REF: Flags For File Open Operations
|
||||||
|
@ -733,6 +738,9 @@ struct sqlite3_io_methods {
|
||||||
void (*xShmBarrier)(sqlite3_file*);
|
void (*xShmBarrier)(sqlite3_file*);
|
||||||
int (*xShmUnmap)(sqlite3_file*, int deleteFlag);
|
int (*xShmUnmap)(sqlite3_file*, int deleteFlag);
|
||||||
/* Methods above are valid for version 2 */
|
/* Methods above are valid for version 2 */
|
||||||
|
int (*xFetch)(sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp);
|
||||||
|
int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p);
|
||||||
|
/* Methods above are valid for version 3 */
|
||||||
/* Additional methods may be added in future releases */
|
/* Additional methods may be added in future releases */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -869,7 +877,8 @@ struct sqlite3_io_methods {
|
||||||
** it is able to override built-in [PRAGMA] statements.
|
** it is able to override built-in [PRAGMA] statements.
|
||||||
**
|
**
|
||||||
** <li>[[SQLITE_FCNTL_BUSYHANDLER]]
|
** <li>[[SQLITE_FCNTL_BUSYHANDLER]]
|
||||||
** ^This file-control may be invoked by SQLite on the database file handle
|
** ^The [SQLITE_FCNTL_BUSYHANDLER]
|
||||||
|
** file-control may be invoked by SQLite on the database file handle
|
||||||
** shortly after it is opened in order to provide a custom VFS with access
|
** shortly after it is opened in order to provide a custom VFS with access
|
||||||
** to the connections busy-handler callback. The argument is of type (void **)
|
** to the connections busy-handler callback. The argument is of type (void **)
|
||||||
** - an array of two (void *) values. The first (void *) actually points
|
** - an array of two (void *) values. The first (void *) actually points
|
||||||
|
@ -880,13 +889,24 @@ struct sqlite3_io_methods {
|
||||||
** current operation.
|
** current operation.
|
||||||
**
|
**
|
||||||
** <li>[[SQLITE_FCNTL_TEMPFILENAME]]
|
** <li>[[SQLITE_FCNTL_TEMPFILENAME]]
|
||||||
** ^Application can invoke this file-control to have SQLite generate a
|
** ^Application can invoke the [SQLITE_FCNTL_TEMPFILENAME] file-control
|
||||||
|
** to have SQLite generate a
|
||||||
** temporary filename using the same algorithm that is followed to generate
|
** temporary filename using the same algorithm that is followed to generate
|
||||||
** temporary filenames for TEMP tables and other internal uses. The
|
** temporary filenames for TEMP tables and other internal uses. The
|
||||||
** argument should be a char** which will be filled with the filename
|
** argument should be a char** which will be filled with the filename
|
||||||
** written into memory obtained from [sqlite3_malloc()]. The caller should
|
** written into memory obtained from [sqlite3_malloc()]. The caller should
|
||||||
** invoke [sqlite3_free()] on the result to avoid a memory leak.
|
** invoke [sqlite3_free()] on the result to avoid a memory leak.
|
||||||
**
|
**
|
||||||
|
** <li>[[SQLITE_FCNTL_MMAP_SIZE]]
|
||||||
|
** The [SQLITE_FCNTL_MMAP_SIZE] file control is used to query or set the
|
||||||
|
** maximum number of bytes that will be used for memory-mapped I/O.
|
||||||
|
** The argument is a pointer to a value of type sqlite3_int64 that
|
||||||
|
** is an advisory maximum number of bytes in the file to memory map. The
|
||||||
|
** pointer is overwritten with the old value. The limit is not changed if
|
||||||
|
** the value originally pointed to is negative, and so the current limit
|
||||||
|
** can be queried by passing in a pointer to a negative number. This
|
||||||
|
** file-control is used internally to implement [PRAGMA mmap_size].
|
||||||
|
**
|
||||||
** </ul>
|
** </ul>
|
||||||
*/
|
*/
|
||||||
#define SQLITE_FCNTL_LOCKSTATE 1
|
#define SQLITE_FCNTL_LOCKSTATE 1
|
||||||
|
@ -905,6 +925,7 @@ struct sqlite3_io_methods {
|
||||||
#define SQLITE_FCNTL_PRAGMA 14
|
#define SQLITE_FCNTL_PRAGMA 14
|
||||||
#define SQLITE_FCNTL_BUSYHANDLER 15
|
#define SQLITE_FCNTL_BUSYHANDLER 15
|
||||||
#define SQLITE_FCNTL_TEMPFILENAME 16
|
#define SQLITE_FCNTL_TEMPFILENAME 16
|
||||||
|
#define SQLITE_FCNTL_MMAP_SIZE 18
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Mutex Handle
|
** CAPI3REF: Mutex Handle
|
||||||
|
@ -1571,7 +1592,9 @@ struct sqlite3_mem_methods {
|
||||||
** page cache implementation into that object.)^ </dd>
|
** page cache implementation into that object.)^ </dd>
|
||||||
**
|
**
|
||||||
** [[SQLITE_CONFIG_LOG]] <dt>SQLITE_CONFIG_LOG</dt>
|
** [[SQLITE_CONFIG_LOG]] <dt>SQLITE_CONFIG_LOG</dt>
|
||||||
** <dd> ^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a
|
** <dd> The SQLITE_CONFIG_LOG option is used to configure the SQLite
|
||||||
|
** global [error log].
|
||||||
|
** (^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a
|
||||||
** function with a call signature of void(*)(void*,int,const char*),
|
** function with a call signature of void(*)(void*,int,const char*),
|
||||||
** and a pointer to void. ^If the function pointer is not NULL, it is
|
** and a pointer to void. ^If the function pointer is not NULL, it is
|
||||||
** invoked by [sqlite3_log()] to process each logging event. ^If the
|
** invoked by [sqlite3_log()] to process each logging event. ^If the
|
||||||
|
@ -1617,12 +1640,12 @@ struct sqlite3_mem_methods {
|
||||||
** <dt>SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE
|
** <dt>SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE
|
||||||
** <dd> These options are obsolete and should not be used by new code.
|
** <dd> These options are obsolete and should not be used by new code.
|
||||||
** They are retained for backwards compatibility but are now no-ops.
|
** They are retained for backwards compatibility but are now no-ops.
|
||||||
** </dl>
|
** </dd>
|
||||||
**
|
**
|
||||||
** [[SQLITE_CONFIG_SQLLOG]]
|
** [[SQLITE_CONFIG_SQLLOG]]
|
||||||
** <dt>SQLITE_CONFIG_SQLLOG
|
** <dt>SQLITE_CONFIG_SQLLOG
|
||||||
** <dd>This option is only available if sqlite is compiled with the
|
** <dd>This option is only available if sqlite is compiled with the
|
||||||
** SQLITE_ENABLE_SQLLOG pre-processor macro defined. The first argument should
|
** [SQLITE_ENABLE_SQLLOG] pre-processor macro defined. The first argument should
|
||||||
** be a pointer to a function of type void(*)(void*,sqlite3*,const char*, int).
|
** be a pointer to a function of type void(*)(void*,sqlite3*,const char*, int).
|
||||||
** The second should be of type (void*). The callback is invoked by the library
|
** The second should be of type (void*). The callback is invoked by the library
|
||||||
** in three separate circumstances, identified by the value passed as the
|
** in three separate circumstances, identified by the value passed as the
|
||||||
|
@ -1632,7 +1655,23 @@ struct sqlite3_mem_methods {
|
||||||
** fourth parameter is 1, then the SQL statement that the third parameter
|
** fourth parameter is 1, then the SQL statement that the third parameter
|
||||||
** points to has just been executed. Or, if the fourth parameter is 2, then
|
** points to has just been executed. Or, if the fourth parameter is 2, then
|
||||||
** the connection being passed as the second parameter is being closed. The
|
** the connection being passed as the second parameter is being closed. The
|
||||||
** third parameter is passed NULL In this case.
|
** third parameter is passed NULL In this case. An example of using this
|
||||||
|
** configuration option can be seen in the "test_sqllog.c" source file in
|
||||||
|
** the canonical SQLite source tree.</dd>
|
||||||
|
**
|
||||||
|
** [[SQLITE_CONFIG_MMAP_SIZE]]
|
||||||
|
** <dt>SQLITE_CONFIG_MMAP_SIZE
|
||||||
|
** <dd>SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values
|
||||||
|
** that are the default mmap size limit (the default setting for
|
||||||
|
** [PRAGMA mmap_size]) and the maximum allowed mmap size limit.
|
||||||
|
** The default setting can be overridden by each database connection using
|
||||||
|
** either the [PRAGMA mmap_size] command, or by using the
|
||||||
|
** [SQLITE_FCNTL_MMAP_SIZE] file control. The maximum allowed mmap size
|
||||||
|
** cannot be changed at run-time. Nor may the maximum allowed mmap size
|
||||||
|
** exceed the compile-time maximum mmap size set by the
|
||||||
|
** [SQLITE_MAX_MMAP_SIZE] compile-time option.
|
||||||
|
** If either argument to this option is negative, then that argument is
|
||||||
|
** changed to its compile-time default.
|
||||||
** </dl>
|
** </dl>
|
||||||
*/
|
*/
|
||||||
#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */
|
#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */
|
||||||
|
@ -1656,6 +1695,7 @@ struct sqlite3_mem_methods {
|
||||||
#define SQLITE_CONFIG_GETPCACHE2 19 /* sqlite3_pcache_methods2* */
|
#define SQLITE_CONFIG_GETPCACHE2 19 /* sqlite3_pcache_methods2* */
|
||||||
#define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 /* int */
|
#define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 /* int */
|
||||||
#define SQLITE_CONFIG_SQLLOG 21 /* xSqllog, void* */
|
#define SQLITE_CONFIG_SQLLOG 21 /* xSqllog, void* */
|
||||||
|
#define SQLITE_CONFIG_MMAP_SIZE 22 /* sqlite3_int64, sqlite3_int64 */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Database Connection Configuration Options
|
** CAPI3REF: Database Connection Configuration Options
|
||||||
|
@ -2489,6 +2529,9 @@ SQLITE_API int sqlite3_set_authorizer(
|
||||||
** as each triggered subprogram is entered. The callbacks for triggers
|
** as each triggered subprogram is entered. The callbacks for triggers
|
||||||
** contain a UTF-8 SQL comment that identifies the trigger.)^
|
** contain a UTF-8 SQL comment that identifies the trigger.)^
|
||||||
**
|
**
|
||||||
|
** The [SQLITE_TRACE_SIZE_LIMIT] compile-time option can be used to limit
|
||||||
|
** the length of [bound parameter] expansion in the output of sqlite3_trace().
|
||||||
|
**
|
||||||
** ^The callback function registered by sqlite3_profile() is invoked
|
** ^The callback function registered by sqlite3_profile() is invoked
|
||||||
** as each SQL statement finishes. ^The profile callback contains
|
** as each SQL statement finishes. ^The profile callback contains
|
||||||
** the original statement text and an estimate of wall-clock time
|
** the original statement text and an estimate of wall-clock time
|
||||||
|
@ -3027,7 +3070,8 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal);
|
||||||
** <li>
|
** <li>
|
||||||
** ^If the database schema changes, instead of returning [SQLITE_SCHEMA] as it
|
** ^If the database schema changes, instead of returning [SQLITE_SCHEMA] as it
|
||||||
** always used to do, [sqlite3_step()] will automatically recompile the SQL
|
** always used to do, [sqlite3_step()] will automatically recompile the SQL
|
||||||
** statement and try to run it again.
|
** statement and try to run it again. As many as [SQLITE_MAX_SCHEMA_RETRY]
|
||||||
|
** retries will occur before sqlite3_step() gives up and returns an error.
|
||||||
** </li>
|
** </li>
|
||||||
**
|
**
|
||||||
** <li>
|
** <li>
|
||||||
|
@ -3231,6 +3275,9 @@ typedef struct sqlite3_context sqlite3_context;
|
||||||
** parameter [SQLITE_LIMIT_VARIABLE_NUMBER] (default value: 999).
|
** parameter [SQLITE_LIMIT_VARIABLE_NUMBER] (default value: 999).
|
||||||
**
|
**
|
||||||
** ^The third argument is the value to bind to the parameter.
|
** ^The third argument is the value to bind to the parameter.
|
||||||
|
** ^If the third parameter to sqlite3_bind_text() or sqlite3_bind_text16()
|
||||||
|
** or sqlite3_bind_blob() is a NULL pointer then the fourth parameter
|
||||||
|
** is ignored and the end result is the same as sqlite3_bind_null().
|
||||||
**
|
**
|
||||||
** ^(In those routines that have a fourth argument, its value is the
|
** ^(In those routines that have a fourth argument, its value is the
|
||||||
** number of bytes in the parameter. To be clear: the value is the
|
** number of bytes in the parameter. To be clear: the value is the
|
||||||
|
@ -4187,7 +4234,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
|
||||||
** the content before returning.
|
** the content before returning.
|
||||||
**
|
**
|
||||||
** The typedef is necessary to work around problems in certain
|
** The typedef is necessary to work around problems in certain
|
||||||
** C++ compilers. See ticket #2191.
|
** C++ compilers.
|
||||||
*/
|
*/
|
||||||
typedef void (*sqlite3_destructor_type)(void*);
|
typedef void (*sqlite3_destructor_type)(void*);
|
||||||
#define SQLITE_STATIC ((sqlite3_destructor_type)0)
|
#define SQLITE_STATIC ((sqlite3_destructor_type)0)
|
||||||
|
@ -4986,11 +5033,20 @@ SQLITE_API int sqlite3_table_column_metadata(
|
||||||
** ^This interface loads an SQLite extension library from the named file.
|
** ^This interface loads an SQLite extension library from the named file.
|
||||||
**
|
**
|
||||||
** ^The sqlite3_load_extension() interface attempts to load an
|
** ^The sqlite3_load_extension() interface attempts to load an
|
||||||
** SQLite extension library contained in the file zFile.
|
** [SQLite extension] library contained in the file zFile. If
|
||||||
|
** the file cannot be loaded directly, attempts are made to load
|
||||||
|
** with various operating-system specific extensions added.
|
||||||
|
** So for example, if "samplelib" cannot be loaded, then names like
|
||||||
|
** "samplelib.so" or "samplelib.dylib" or "samplelib.dll" might
|
||||||
|
** be tried also.
|
||||||
**
|
**
|
||||||
** ^The entry point is zProc.
|
** ^The entry point is zProc.
|
||||||
** ^zProc may be 0, in which case the name of the entry point
|
** ^(zProc may be 0, in which case SQLite will try to come up with an
|
||||||
** defaults to "sqlite3_extension_init".
|
** entry point name on its own. It first tries "sqlite3_extension_init".
|
||||||
|
** If that does not work, it constructs a name "sqlite3_X_init" where the
|
||||||
|
** X is consists of the lower-case equivalent of all ASCII alphabetic
|
||||||
|
** characters in the filename from the last "/" to the first following
|
||||||
|
** "." and omitting any initial "lib".)^
|
||||||
** ^The sqlite3_load_extension() interface returns
|
** ^The sqlite3_load_extension() interface returns
|
||||||
** [SQLITE_OK] on success and [SQLITE_ERROR] if something goes wrong.
|
** [SQLITE_OK] on success and [SQLITE_ERROR] if something goes wrong.
|
||||||
** ^If an error occurs and pzErrMsg is not 0, then the
|
** ^If an error occurs and pzErrMsg is not 0, then the
|
||||||
|
@ -5016,11 +5072,11 @@ SQLITE_API int sqlite3_load_extension(
|
||||||
** CAPI3REF: Enable Or Disable Extension Loading
|
** CAPI3REF: Enable Or Disable Extension Loading
|
||||||
**
|
**
|
||||||
** ^So as not to open security holes in older applications that are
|
** ^So as not to open security holes in older applications that are
|
||||||
** unprepared to deal with extension loading, and as a means of disabling
|
** unprepared to deal with [extension loading], and as a means of disabling
|
||||||
** extension loading while evaluating user-entered SQL, the following API
|
** [extension loading] while evaluating user-entered SQL, the following API
|
||||||
** is provided to turn the [sqlite3_load_extension()] mechanism on and off.
|
** is provided to turn the [sqlite3_load_extension()] mechanism on and off.
|
||||||
**
|
**
|
||||||
** ^Extension loading is off by default. See ticket #1863.
|
** ^Extension loading is off by default.
|
||||||
** ^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.
|
||||||
|
@ -5032,7 +5088,7 @@ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
|
||||||
**
|
**
|
||||||
** ^This interface causes the xEntryPoint() function to be invoked for
|
** ^This interface causes the xEntryPoint() function to be invoked for
|
||||||
** each new [database connection] that is created. The idea here is that
|
** each new [database connection] that is created. The idea here is that
|
||||||
** xEntryPoint() is the entry point for a statically linked SQLite extension
|
** xEntryPoint() is the entry point for a statically linked [SQLite extension]
|
||||||
** that is to be automatically loaded into all new database connections.
|
** that is to be automatically loaded into all new database connections.
|
||||||
**
|
**
|
||||||
** ^(Even though the function prototype shows that xEntryPoint() takes
|
** ^(Even though the function prototype shows that xEntryPoint() takes
|
||||||
|
@ -6812,10 +6868,25 @@ SQLITE_API int sqlite3_unlock_notify(
|
||||||
SQLITE_API int sqlite3_stricmp(const char *, const char *);
|
SQLITE_API int sqlite3_stricmp(const char *, const char *);
|
||||||
SQLITE_API int sqlite3_strnicmp(const char *, const char *, int);
|
SQLITE_API int sqlite3_strnicmp(const char *, const char *, int);
|
||||||
|
|
||||||
|
/*
|
||||||
|
** CAPI3REF: String Globbing
|
||||||
|
*
|
||||||
|
** ^The [sqlite3_strglob(P,X)] interface returns zero if string X matches
|
||||||
|
** the glob pattern P, and it returns non-zero if string X does not match
|
||||||
|
** the glob pattern P. ^The definition of glob pattern matching used in
|
||||||
|
** [sqlite3_strglob(P,X)] is the same as for the "X GLOB P" operator in the
|
||||||
|
** SQL dialect used by SQLite. ^The sqlite3_strglob(P,X) function is case
|
||||||
|
** sensitive.
|
||||||
|
**
|
||||||
|
** Note that this routine returns zero on a match and non-zero if the strings
|
||||||
|
** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()].
|
||||||
|
*/
|
||||||
|
SQLITE_API int sqlite3_strglob(const char *zGlob, const char *zStr);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Error Logging Interface
|
** CAPI3REF: Error Logging Interface
|
||||||
**
|
**
|
||||||
** ^The [sqlite3_log()] interface writes a message into the error log
|
** ^The [sqlite3_log()] interface writes a message into the [error log]
|
||||||
** established by the [SQLITE_CONFIG_LOG] option to [sqlite3_config()].
|
** established by the [SQLITE_CONFIG_LOG] option to [sqlite3_config()].
|
||||||
** ^If logging is enabled, the zFormat string and subsequent arguments are
|
** ^If logging is enabled, the zFormat string and subsequent arguments are
|
||||||
** used with [sqlite3_snprintf()] to generate the final output string.
|
** used with [sqlite3_snprintf()] to generate the final output string.
|
||||||
|
|
|
@ -41,7 +41,7 @@ analyzer::Tag Component::Tag() const
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Component::Describe(ODesc* d)
|
void Component::Describe(ODesc* d) const
|
||||||
{
|
{
|
||||||
plugin::Component::Describe(d);
|
plugin::Component::Describe(d);
|
||||||
d->Add(name);
|
d->Add(name);
|
||||||
|
|
|
@ -90,7 +90,7 @@ public:
|
||||||
* Generates a human-readable description of the component's main
|
* Generates a human-readable description of the component's main
|
||||||
* parameters. This goes into the output of \c "bro -NN".
|
* parameters. This goes into the output of \c "bro -NN".
|
||||||
*/
|
*/
|
||||||
virtual void Describe(ODesc* d);
|
virtual void Describe(ODesc* d) const;
|
||||||
|
|
||||||
Component& operator=(const Component& other);
|
Component& operator=(const Component& other);
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,13 @@ void Raw::DoClose()
|
||||||
if ( file != 0 )
|
if ( file != 0 )
|
||||||
CloseInput();
|
CloseInput();
|
||||||
|
|
||||||
|
if ( buf != 0 )
|
||||||
|
{
|
||||||
|
// we still have output that has not been flushed. Throw away.
|
||||||
|
delete buf;
|
||||||
|
buf = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if ( execute && childpid > 0 && kill(childpid, 0) == 0 )
|
if ( execute && childpid > 0 && kill(childpid, 0) == 0 )
|
||||||
{
|
{
|
||||||
// kill child process
|
// kill child process
|
||||||
|
@ -157,13 +164,13 @@ bool Raw::OpenInput()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
file = fopen(fname.c_str(), "r");
|
file = fopen(fname.c_str(), "r");
|
||||||
fcntl(fileno(file), F_SETFD, FD_CLOEXEC);
|
|
||||||
if ( ! file )
|
if ( ! file )
|
||||||
{
|
{
|
||||||
Error(Fmt("Init: cannot open %s", fname.c_str()));
|
Error(Fmt("Init: cannot open %s", fname.c_str()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fcntl(fileno(file), F_SETFD, FD_CLOEXEC);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -322,12 +329,14 @@ int64_t Raw::GetLine(FILE* arg_file)
|
||||||
// but first check if we encountered the file end - because if we did this was it.
|
// but first check if we encountered the file end - because if we did this was it.
|
||||||
if ( feof(arg_file) != 0 )
|
if ( feof(arg_file) != 0 )
|
||||||
{
|
{
|
||||||
outbuf = buf;
|
|
||||||
buf = 0;
|
|
||||||
if ( pos == 0 )
|
if ( pos == 0 )
|
||||||
return -1; // signal EOF - and that we had no more data.
|
return -1; // signal EOF - and that we had no more data.
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
outbuf = buf;
|
||||||
|
buf = 0;
|
||||||
return pos;
|
return pos;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
repeats++;
|
repeats++;
|
||||||
|
@ -342,15 +351,13 @@ int64_t Raw::GetLine(FILE* arg_file)
|
||||||
{
|
{
|
||||||
outbuf = buf;
|
outbuf = buf;
|
||||||
buf = 0;
|
buf = 0;
|
||||||
buf = new char[block_size];
|
|
||||||
|
|
||||||
|
|
||||||
if ( found < pos )
|
if ( found < pos )
|
||||||
{
|
{
|
||||||
// we have leftovers. copy them into the buffer for the next line
|
// we have leftovers. copy them into the buffer for the next line
|
||||||
buf = new char[block_size];
|
buf = new char[block_size];
|
||||||
memcpy(buf, outbuf + found + sep_length, pos - found - sep_length);
|
memcpy(buf, outbuf + found + sep_length, pos - found - sep_length);
|
||||||
bufpos = pos - found - sep_length;
|
bufpos = pos - found - sep_length;
|
||||||
}
|
}
|
||||||
|
|
||||||
return found;
|
return found;
|
||||||
|
@ -368,7 +375,7 @@ int64_t Raw::GetLine(FILE* arg_file)
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
InternalError("Internal control flow execution");
|
InternalError("Internal control flow execution error in raw reader");
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,7 +468,7 @@ bool Raw::DoUpdate()
|
||||||
if ( length == -3 )
|
if ( length == -3 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
else if ( length == -2 || length == -1 )
|
else if ( length == -2 || length == -1 )
|
||||||
// no data ready or eof
|
// no data ready or eof
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#empty_field (empty)
|
#empty_field (empty)
|
||||||
#unset_field -
|
#unset_field -
|
||||||
#path loaded_scripts
|
#path loaded_scripts
|
||||||
#open 2013-07-10-03-19-58
|
#open 2013-07-10-21-18-31
|
||||||
#fields name
|
#fields name
|
||||||
#types string
|
#types string
|
||||||
scripts/base/init-bare.bro
|
scripts/base/init-bare.bro
|
||||||
|
@ -178,6 +178,7 @@ scripts/base/init-default.bro
|
||||||
scripts/base/protocols/modbus/__load__.bro
|
scripts/base/protocols/modbus/__load__.bro
|
||||||
scripts/base/protocols/modbus/consts.bro
|
scripts/base/protocols/modbus/consts.bro
|
||||||
scripts/base/protocols/modbus/main.bro
|
scripts/base/protocols/modbus/main.bro
|
||||||
|
scripts/base/protocols/pop3/__load__.bro
|
||||||
scripts/base/protocols/smtp/__load__.bro
|
scripts/base/protocols/smtp/__load__.bro
|
||||||
scripts/base/protocols/smtp/main.bro
|
scripts/base/protocols/smtp/main.bro
|
||||||
scripts/base/protocols/smtp/entities.bro
|
scripts/base/protocols/smtp/entities.bro
|
||||||
|
@ -194,4 +195,4 @@ scripts/base/init-default.bro
|
||||||
scripts/base/protocols/tunnels/__load__.bro
|
scripts/base/protocols/tunnels/__load__.bro
|
||||||
scripts/base/misc/find-checksum-offloading.bro
|
scripts/base/misc/find-checksum-offloading.bro
|
||||||
scripts/policy/misc/loaded-scripts.bro
|
scripts/policy/misc/loaded-scripts.bro
|
||||||
#close 2013-07-10-03-19-58
|
#close 2013-07-10-21-18-31
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue