]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Mon, 2 Mar 2020 16:18:50 +0000 (17:18 +0100)]
rust: bump minimum supported version to 1.34.2
Victor Julien [Fri, 7 Feb 2020 10:33:30 +0000 (11:33 +0100)]
rust/nfs: minor code cleanups
Victor Julien [Thu, 6 Feb 2020 10:43:17 +0000 (10:43 +0000)]
rust/rpc: add partial data tests
Pierre Chifflier [Thu, 6 Feb 2020 20:45:39 +0000 (21:45 +0100)]
rust: use the streaming version of combinators to fix incomplete reads
Pierre Chifflier [Mon, 4 Nov 2019 09:27:08 +0000 (10:27 +0100)]
rust/rdp: use the streaming version of combinators to fix incomplete reads
Pierre Chifflier [Mon, 4 Nov 2019 09:22:45 +0000 (10:22 +0100)]
rust/rdp: fix regression introduced during nom 5 upgrade
Pierre Chifflier [Thu, 31 Oct 2019 14:33:57 +0000 (15:33 +0100)]
rust: Add types annotation when required
Unfortunately, the transition to nom 5 (and functions instead of macros)
has side-effects, one of them being requiring lots of types annotations
when using a parsing, for ex in a match instruction.
Pierre Chifflier [Thu, 31 Oct 2019 09:49:20 +0000 (10:49 +0100)]
rust/ftp: upgrade to nom 5
CompleteByteSlice type has been removed, and replaced by combinators
under the nom::character::complete namespace.
Pierre Chifflier [Thu, 31 Oct 2019 08:25:58 +0000 (09:25 +0100)]
rust/rdp: add custom error handling
Pierre Chifflier [Thu, 31 Oct 2019 07:21:12 +0000 (08:21 +0100)]
rust/smb: add custom error handling
Pierre Chifflier [Wed, 30 Oct 2019 16:17:52 +0000 (17:17 +0100)]
rust: add SecBlobError custom error type for the Kerberos parser
Pierre Chifflier [Wed, 30 Oct 2019 16:17:32 +0000 (17:17 +0100)]
rust: add take_until_and_consume replacement function
Pierre Chifflier [Wed, 30 Oct 2019 12:22:22 +0000 (13:22 +0100)]
rust/dns: remove unneeded calls to closure!
Pierre Chifflier [Wed, 30 Oct 2019 12:14:07 +0000 (13:14 +0100)]
rust: upgrade all parsers to nom 5
Jason Ish [Mon, 24 Feb 2020 16:49:41 +0000 (10:49 -0600)]
log-pcap: fix log message: unified2 -> pcap
Likely a result of copy and pasted code.
Jason Ish [Fri, 8 Nov 2019 22:22:24 +0000 (16:22 -0600)]
unified2: not supported message if configured
Jason Ish [Wed, 6 Nov 2019 02:26:53 +0000 (20:26 -0600)]
unified2: remove deprecated output unified2
Ticket 2385:
https://redmine.openinfosecfoundation.org/issues/2385
Jason Ish [Wed, 6 Nov 2019 02:26:42 +0000 (20:26 -0600)]
wirefuzz: removed unified2 file removal
Jason Ish [Wed, 6 Nov 2019 02:26:27 +0000 (20:26 -0600)]
doc: removed unified2 output
Jeff Lucovsky [Wed, 19 Feb 2020 14:16:36 +0000 (09:16 -0500)]
pcre: Sticky buffer check
This commit adds logic checking if the sticky buffer in effect provides
the required content.
If the sticky buffer doesn't, the rule will not load and a diagnostic
message with follow-on steps is displayed.
Jeff Lucovsky [Wed, 19 Feb 2020 14:15:40 +0000 (09:15 -0500)]
general: Wordsmith "no rules loaded" message
William Stearns [Fri, 21 Feb 2020 16:44:08 +0000 (11:44 -0500)]
rules: fix files.rules typo
Sascha Steinbiss [Thu, 20 Feb 2020 09:47:32 +0000 (10:47 +0100)]
snmp-version: make comment more clear
Sascha Steinbiss [Thu, 20 Feb 2020 09:46:55 +0000 (10:46 +0100)]
snmp: do not set SIGMATCH_NOOPT
Jeff Lucovsky [Sat, 22 Feb 2020 18:24:45 +0000 (13:24 -0500)]
spelling: Fix spelling error
Jeff Lucovsky [Sat, 22 Feb 2020 18:24:13 +0000 (13:24 -0500)]
detect/ssl_state: Fix memory leaks from pcre_get_substring
This commit replaces usages of pcre_get_substring with
pcre_copy_substring to avoid leaking memory on error conditions.
Jeff Lucovsky [Sat, 22 Feb 2020 18:23:04 +0000 (13:23 -0500)]
detect/flowvar: Fix memory leaks from pcre_get_substring
This commit replaces usages of pcre_get_substring with
pcre_copy_substring to avoid leaking memory on error conditions.
Jeff Lucovsky [Sat, 22 Feb 2020 18:21:36 +0000 (13:21 -0500)]
detect/filestore: Fix memory leaks from pcre_get_substring
This commit replaces usages of pcre_get_substring with
pcre_copy_substring to avoid leaking memory on error conditions.
Jeff Lucovsky [Sat, 22 Feb 2020 18:19:28 +0000 (13:19 -0500)]
doc: Correct RST quote usage
Corrects misplaced backticks preventing proper formatting of `mpm-algo`
section.
Jeff Lucovsky [Sat, 22 Feb 2020 18:25:02 +0000 (13:25 -0500)]
util-error: define SC_ERR_PCRE_COPY_SUBSTRING
Jeff Lucovsky [Tue, 29 Oct 2019 10:24:53 +0000 (11:24 +0100)]
general: Convert _Bool to bool
This commit addresses task 3167 and changes usages of '_Bool` to `bool`.
The latter is included from `suricata-common.h`
Jeff Lucovsky [Sat, 21 Dec 2019 16:22:34 +0000 (11:22 -0500)]
doc/userguide: Update for dump-features
Jeff Lucovsky [Sat, 21 Dec 2019 16:16:31 +0000 (11:16 -0500)]
detect/feature: Support --dump-features
Jeff Lucovsky [Sat, 21 Dec 2019 16:15:42 +0000 (11:15 -0500)]
detect: update version comment
Jeff Lucovsky [Sat, 21 Dec 2019 16:12:30 +0000 (11:12 -0500)]
detect: Fix typos/spelling errors.
Jeff Lucovsky [Fri, 20 Dec 2019 00:51:59 +0000 (19:51 -0500)]
main: feature init and release
Jeff Lucovsky [Fri, 20 Dec 2019 00:51:08 +0000 (19:51 -0500)]
output/filestore: announce provided features
Jeff Lucovsky [Fri, 20 Dec 2019 00:50:30 +0000 (19:50 -0500)]
detect/filestore: Warn if req'd feature missing
Jeff Lucovsky [Fri, 20 Dec 2019 00:49:21 +0000 (19:49 -0500)]
detect/analysis: Warn if required feature missing
Jeff Lucovsky [Fri, 20 Dec 2019 00:48:25 +0000 (19:48 -0500)]
feature: feature tracking services
Philippe Antoine [Fri, 6 Dec 2019 07:58:56 +0000 (08:58 +0100)]
perf: optimizes alert fast log
In the case when we have multiple alerts for one packet
We suppose this happens more often than having decoder_event != 0
Phil Young [Mon, 6 Jan 2020 18:43:32 +0000 (13:43 -0500)]
napatech: add hardware based bypass support
Napatech hardware bypass support enables Suricata to utilize
capabilities of Napatech SmartNICs to selectively bypass flow-based
traffic.
Phil Young [Mon, 6 Jan 2020 18:42:05 +0000 (13:42 -0500)]
napatech: documentation hardware based bypass support
Napatech hardware bypass support enables Suricata to utilize
capabilities of Napatech SmartNICs to selectively bypass flow-based
traffic.
Andreas Herz [Fri, 31 Jan 2020 09:19:36 +0000 (10:19 +0100)]
doxygen: update config from 1.8.4 to 1.8.17
Philippe Antoine [Wed, 9 Oct 2019 14:59:13 +0000 (16:59 +0200)]
detect/parse: move spaces skip up the stack
Switch to isspace() as well.
Philippe Antoine [Tue, 18 Feb 2020 08:35:47 +0000 (09:35 +0100)]
parser: make rust probing parsers optional
Jeff Lucovsky [Sat, 28 Dec 2019 14:45:31 +0000 (09:45 -0500)]
decode: Fix typos/spelling
Jeff Lucovsky [Sat, 28 Dec 2019 14:44:56 +0000 (09:44 -0500)]
decode: Handle ERSPAN Type I
Victor Julien [Fri, 14 Feb 2020 10:07:45 +0000 (11:07 +0100)]
configure: update to match autoscan suggestions
Victor Julien [Fri, 14 Feb 2020 09:17:22 +0000 (10:17 +0100)]
configure: clean up func checks
Philippe Antoine [Wed, 22 Jan 2020 08:33:05 +0000 (09:33 +0100)]
init: move main to a separate file
so as to reuse code from suricata.c with fuzz targets
Philippe Antoine [Wed, 22 Jan 2020 08:30:51 +0000 (09:30 +0100)]
fuzz: disable signal handlers while fuzzing
Philippe Antoine [Wed, 22 Jan 2020 08:30:26 +0000 (09:30 +0100)]
init: make PostConfLoadedSetup global
to be used by fuzz targets
Philippe Antoine [Wed, 22 Jan 2020 08:28:36 +0000 (09:28 +0100)]
init: fix PostConfLoadedSetup to use local suri ptr
Philippe Antoine [Thu, 16 Jan 2020 07:49:19 +0000 (08:49 +0100)]
init: InitGlobal function
To be reused by fuzz targets
Philippe Antoine [Thu, 24 Oct 2019 12:41:21 +0000 (14:41 +0200)]
util: UTHmemsearch to use memmem if defined
Philippe Antoine [Fri, 12 Jul 2019 14:26:28 +0000 (16:26 +0200)]
check: Using const keyword for some arguments
For ConfigSetLogDirectory and PrintRawLineHexBuf
Philippe Antoine [Mon, 27 May 2019 15:00:05 +0000 (17:00 +0200)]
log: can use a file set from env variable
Enables the redirection of log to a file set by an environment
variable SC_LOG_FILE when SC_LOG_OP_IFACE=file
vanlink [Thu, 16 Jan 2020 08:27:57 +0000 (16:27 +0800)]
stream/reassembly: fix data overlap check
Fix function CheckOverlap bug.
Victor Julien [Wed, 29 Jan 2020 12:50:05 +0000 (13:50 +0100)]
tls: fix missing extern logic for cert_id tracking
Victor Julien [Wed, 29 Jan 2020 12:46:56 +0000 (13:46 +0100)]
stats: fix missing extern keyword
Victor Julien [Wed, 29 Jan 2020 12:43:49 +0000 (13:43 +0100)]
defrag: fix use of globals
Victor Julien [Wed, 29 Jan 2020 12:30:35 +0000 (13:30 +0100)]
threading: fix queue handlers globals use
Victor Julien [Wed, 29 Jan 2020 12:28:17 +0000 (13:28 +0100)]
htp: fix globals use for flags
Victor Julien [Wed, 29 Jan 2020 12:27:58 +0000 (13:27 +0100)]
proto: fix globals use
Victor Julien [Wed, 29 Jan 2020 12:23:36 +0000 (13:23 +0100)]
flow: fix global variable use
Victor Julien [Wed, 29 Jan 2020 10:55:27 +0000 (11:55 +0100)]
stream: fix global declaration of the config
Victor Julien [Wed, 29 Jan 2020 10:51:11 +0000 (11:51 +0100)]
threading/modules: fix global declarations
Victor Julien [Wed, 29 Jan 2020 09:56:54 +0000 (10:56 +0100)]
ippair: fix global declarations
Victor Julien [Wed, 29 Jan 2020 09:37:44 +0000 (10:37 +0100)]
host: fix global declarations
Victor Julien [Wed, 29 Jan 2020 09:28:16 +0000 (10:28 +0100)]
mpm: fix global declarations
Victor Julien [Wed, 29 Jan 2020 09:22:57 +0000 (10:22 +0100)]
detect: fix global declaration of sigmatch_table
Victor Julien [Wed, 29 Jan 2020 09:11:54 +0000 (10:11 +0100)]
spm: fix global declaration of spm_table
Victor Julien [Wed, 29 Jan 2020 07:33:18 +0000 (08:33 +0100)]
threading: fix global declaration of threading_set_cpu_affinity
Victor Julien [Wed, 29 Jan 2020 07:15:21 +0000 (08:15 +0100)]
unix-socket: avoid using global variable w/o extern
Victor Julien [Wed, 29 Jan 2020 07:10:59 +0000 (08:10 +0100)]
decode: fix default-packet-size global variable
Victor Julien [Tue, 11 Feb 2020 10:55:18 +0000 (11:55 +0100)]
nfs: implement post-GAP transaction cleanup
Close all prior transactions in the direction of the GAP, except the
file xfers. Those use their own logic described below.
After a GAP all normal transactions are closed. File transactions
are left open as they can handle GAPs in principle. However, the
GAP might have contained the closing of a file and therefore it
may remain active until the end of the flow.
This patch introduces a time based heuristic for these transactions.
After the GAP all file transactions are stamped with the current
timestamp. If 60 seconds later a file has seen no update, its marked
as closed.
This is meant to fix resource starvation issues observed in long
running SMB sessions where packet loss was causing GAPs. Due to the
similarity of the NFS and SMB parsers, this issue is fixed for NFS
as well in this patch.
Bug #3424.
Bug #3425.
Victor Julien [Tue, 26 Nov 2019 13:46:02 +0000 (14:46 +0100)]
detect/file-data: remove debug abort that wasn't reachable
Victor Julien [Tue, 26 Nov 2019 13:45:34 +0000 (14:45 +0100)]
detect/file-data: fix function doc
Victor Julien [Tue, 26 Feb 2019 11:38:19 +0000 (12:38 +0100)]
files: tracking flag update
Improve flow file flags and file flags updates. Introduce a mask
that is set at start up to avoid lots of runtime checks.
Disable cocci flags check as it doesn't support the more dynamic
nature of the flag updates.
Victor Julien [Tue, 26 Feb 2019 09:56:53 +0000 (10:56 +0100)]
app-layer/files: optimize GetFiles calls
Remove FlowGetProtoMapping calls from the GetFiles wrapper and
get the alstate from the flow directly.
Victor Julien [Tue, 26 Feb 2019 09:42:24 +0000 (10:42 +0100)]
app-layer: all protocols are tx aware now
So remove the runtime check for it.
Timo Sigurdsson [Mon, 3 Feb 2020 22:17:17 +0000 (23:17 +0100)]
init: Fix dropping privileges in nflog runmode
Using the run-as configuration option with the nflog capture method
results in the following error during the startup of suricata:
[ERRCODE: SC_ERR_NFLOG_BIND(248)] - nflog_bind_pf() for AF_INET failed
This is because SCDropMainThreadCaps does not have any capabilities
defined for the nflog runmode (unlike other runmodes). Therefore, apply
the same capabilities to the nflog runmode that are already defined for
the nfqueue runmode. This has been confirmed to allow suricata start
and drop its privileges in the nflog runmode.
Fixes redmine issue #3265.
Signed-off-by: Timo Sigurdsson <public_timo.s@silentcreek.de>
Victor Julien [Mon, 11 Nov 2019 10:59:35 +0000 (11:59 +0100)]
decode: remove pseudo packet checks
Bug 1107 checks/hacks should not longer be needed, so remove them.
Victor Julien [Wed, 13 Nov 2019 18:50:48 +0000 (19:50 +0100)]
threading/queues: simplify error handling
Victor Julien [Wed, 13 Nov 2019 16:16:06 +0000 (17:16 +0100)]
threading/queues: remove 256 queue limit
Convert fixed size array to a dynamic TAILQ so we can
grow as needed.
Victor Julien [Wed, 13 Nov 2019 15:29:11 +0000 (16:29 +0100)]
threading: remove 'trans_q' array of packet queues
Let the queues code set up PacketQueues on demand.
Victor Julien [Wed, 13 Nov 2019 15:16:15 +0000 (16:16 +0100)]
packet-queue: create alloc and free functions
Victor Julien [Wed, 13 Nov 2019 14:59:51 +0000 (15:59 +0100)]
threading: hide 'trans_q' from queue handlers
Victor Julien [Wed, 13 Nov 2019 10:39:44 +0000 (11:39 +0100)]
threading/threadvars: optimize layout
Make sure StatsPublicThreadContext is on its own cache line.
Victor Julien [Wed, 13 Nov 2019 08:43:11 +0000 (09:43 +0100)]
flowworker/stream: use no-lock packet queue
Use smaller structure for temporary packet queues.
Victor Julien [Tue, 12 Nov 2019 21:34:51 +0000 (22:34 +0100)]
threading: change local packet queue logic
Previously each 'TmSlot' had it's own packet queue that was passed
to the registered SlotFunc as an argument. This was used mostly for
tunnel packets by the decoders and by defrag.
This patch removes that in favor of a single queue in the ThreadVars:
decode_pq. This is the non-locked version of the queue as this is
only a temporary store for handling packets within a thread.
This patch removes the PacketQueue pointer argument from the API.
The new queue can be accessed directly through the ThreadVars
pointer.
Victor Julien [Tue, 12 Nov 2019 13:54:55 +0000 (14:54 +0100)]
packet-queue: introduce a non-locked version
Works exactly like PacketQueue, just does not contain a mutex
and cond var, leading to much reduced memory size.
Victor Julien [Tue, 12 Nov 2019 13:54:33 +0000 (14:54 +0100)]
threading: more efficient TmSlot layout
Victor Julien [Tue, 12 Nov 2019 12:28:09 +0000 (13:28 +0100)]
threading: remove 'id' field from TmSlot
Field was now unused.
Victor Julien [Tue, 12 Nov 2019 12:03:58 +0000 (13:03 +0100)]
detect: cleanup reload thread handling
Victor Julien [Tue, 12 Nov 2019 11:54:18 +0000 (12:54 +0100)]
threading: simplify flow timeout loop
Victor Julien [Tue, 12 Nov 2019 11:44:57 +0000 (12:44 +0100)]
threading: shrink and reorganize TmSlot
Victor Julien [Tue, 12 Nov 2019 09:01:18 +0000 (10:01 +0100)]
threading/threadvars: rearrange for better cache behavior
Victor Julien [Mon, 11 Nov 2019 19:57:35 +0000 (20:57 +0100)]
threading/threadvars: remove unused 'prev' field