]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Fri, 3 Apr 2020 15:15:20 +0000 (17:15 +0200)]
tls/sni: parsing cleanup
Set proper event on all invalid sni length values.
Victor Julien [Fri, 3 Apr 2020 13:34:41 +0000 (15:34 +0200)]
ssl: improve error checking
Victor Julien [Wed, 1 Apr 2020 18:59:02 +0000 (20:59 +0200)]
ssl: unify main parsing routine
Victor Julien [Wed, 1 Apr 2020 18:58:26 +0000 (20:58 +0200)]
ssl: improve debug output
Victor Julien [Wed, 1 Apr 2020 12:58:37 +0000 (14:58 +0200)]
ssl: record parsing cleanup
Victor Julien [Fri, 21 Feb 2020 21:52:24 +0000 (22:52 +0100)]
ssl: handshake parsing code cleanup
Victor Julien [Fri, 3 Apr 2020 14:31:00 +0000 (16:31 +0200)]
ssl: copy data using a safe memcpy wrapper
To avoid future memcpy issues introduce a wrapper and check the
result of it.
When compiled with --enable-debug-validation the wrapper will abort if
the input is wrong.
Victor Julien [Fri, 21 Feb 2020 19:07:19 +0000 (20:07 +0100)]
ssl: don't say we consumed bytes if we didn't consume them
Victor Julien [Fri, 21 Feb 2020 18:26:42 +0000 (19:26 +0100)]
ssl: code cleanups
Victor Julien [Tue, 21 Apr 2020 06:37:21 +0000 (08:37 +0200)]
ssl: bump copyright year
Victor Julien [Sun, 19 Apr 2020 09:56:58 +0000 (11:56 +0200)]
ssl: improve 'first cert' check to avoid leaks
In some error conditions, or potentially in case of multiple 'certificate'
records, the extracted subject, issuerdn and serial could be overwritten
without freeing the original memory.
Victor Julien [Fri, 3 Apr 2020 15:03:47 +0000 (17:03 +0200)]
ssl: fix handshake cert buffer sizing
'trec' buffer was not grown properly when it was checked as too small.
After this it wasn't checked again so that copying into the buffer could
overflow it.
Victor Julien [Tue, 28 Apr 2020 07:56:44 +0000 (09:56 +0200)]
detect/keywords: dynamic version part of doc URL
Victor Julien [Tue, 28 Apr 2020 07:25:43 +0000 (09:25 +0200)]
logging: fix default log format for release mode
Victor Julien [Mon, 27 Apr 2020 06:17:51 +0000 (08:17 +0200)]
datasets: reputation value validation
Philippe Antoine [Sat, 25 Apr 2020 09:38:53 +0000 (11:38 +0200)]
detect: refactoring parsing of ip range
To optimize first netmask
Philippe Antoine [Wed, 22 Apr 2020 07:54:49 +0000 (09:54 +0200)]
signature: minimizes ip CIDR for ip range
Example leading to over allocation is 41.232.107.2-43.252.37.6
Jeff Lucovsky [Thu, 23 Apr 2020 14:07:18 +0000 (10:07 -0400)]
decode/erspan: Warn on ERSPAN Type I config
This commit checks whether pre-6.x settings for ERSPAN Type I are
present. ERSPAN Type I is no longer enabled/disabled through a
configuration setting -- it's always enabled.
When a setting exists to enable/disable ERSPAN Type I decoding, a
warning message is logged.
Enabling/disabling ERSPAN Type I decode has been deprecated in 6.x
Jeff Lucovsky [Thu, 23 Apr 2020 14:05:05 +0000 (10:05 -0400)]
decode/erspan: Add warning ERSPAN Type I config
This commit adds a warning value when ERSPAN Type I configuration
settings are detected; specifically, when ERSPAN Type I `enabled` is
specified.
Enabling/disabling ERSPAN Type I decode has been deprecated in 6.x
Jason Ish [Fri, 24 Apr 2020 15:55:13 +0000 (09:55 -0600)]
doc: typo: http.server_body should be http.response_body
Thanks to Jason Williams for pointing this out.
Victor Julien [Sat, 25 Apr 2020 12:25:29 +0000 (14:25 +0200)]
flowbits: fix hang in flowbits 'or' parsing
Victor Julien [Sat, 25 Apr 2020 05:48:25 +0000 (07:48 +0200)]
fuzz: suppress too noisy htp errors check
Jeff Lucovsky [Fri, 24 Apr 2020 14:28:54 +0000 (10:28 -0400)]
napatech: Correct timestamp rounding issue
This commit fixes the conversion of timestamps. Without the extra
parens, the resulting timestamp value for usecs will be 1 or 0 due to
the operator precedence order (+ takes precedence over ?:)
Jeff Lucovsky [Fri, 24 Apr 2020 14:28:32 +0000 (10:28 -0400)]
napatech: Check for out-of-band control operations
This commit causes the packet source to check for out of band control
operations when there are no packets immediately available.
Jeff Lucovsky [Fri, 24 Apr 2020 14:27:20 +0000 (10:27 -0400)]
dag: Check for out-of-band control operations
This commit causes the packet source to check for out of band control
operations when there are no packets immediately available.
Phil Young [Fri, 24 Apr 2020 21:43:32 +0000 (17:43 -0400)]
napatech: Restructure Packet/Hostbuffer release
The end-of-processing has been restructured so that Packet and Hostbuffer
data structures are now released within the NapatechReleasePacket() callback
function.
Shivani Bhardwaj [Sat, 21 Dec 2019 07:40:25 +0000 (13:10 +0530)]
af-packet: change type of cluster_id to uint16_t
Shivani Bhardwaj [Sat, 21 Dec 2019 07:36:01 +0000 (13:06 +0530)]
src: remove multiple uses of atoi
atoi() and related functions lack a mechanism for reporting errors for
invalid values. Replace them with calls to the appropriate
ByteExtractString* functions.
Partially closes redmine ticket #3053.
Shivani Bhardwaj [Tue, 21 Apr 2020 20:52:46 +0000 (02:22 +0530)]
Add wrappers for validating range checks
Victor Julien [Fri, 24 Apr 2020 08:28:06 +0000 (10:28 +0200)]
fastlog: copyright year bump and remove stale comments
Victor Julien [Fri, 24 Apr 2020 08:27:18 +0000 (10:27 +0200)]
fastlog: fix unlikely memleak
Fix memleak is case of alloc error during startup.
Victor Julien [Fri, 24 Apr 2020 08:23:51 +0000 (10:23 +0200)]
thash: suppress coverity fp's
Victor Julien [Fri, 24 Apr 2020 08:21:11 +0000 (10:21 +0200)]
datasets: suppress coverity fp's
frank honza [Tue, 14 Apr 2020 10:04:13 +0000 (12:04 +0200)]
rfb: Update incomplete handling in parser.
This commit adds an updated incomplete handling for the RFB-Parser. If
incomplete data is processed, the successfully consumed position and
length of remainder + 1 is returned. If the next packet is not empty
suricata will call the parser again.
This commit is a result of discussion on https://github.com/OISF/suricata/pull/4792.
Jason Ish [Tue, 21 Apr 2020 15:29:57 +0000 (09:29 -0600)]
github-ci: check all commits on pr
On a pull request, attempt to compile all commits from
the base branch to the head of the PR branch.
The job is in a separate workflow file to limit it to
pull-requests only, as the base branch is not available
on push (something to look into).
Philippe Antoine [Wed, 15 Apr 2020 12:31:37 +0000 (14:31 +0200)]
http: adds debug check against too many warnings
Jeff Lucovsky [Tue, 21 Apr 2020 14:36:27 +0000 (10:36 -0400)]
detect/ftp: FTP memory accounting fixes
This commit continues the work started by @vanlink and corrects the
accounting of FTP memory usage against the memcap limit.
Victor Julien [Tue, 21 Apr 2020 08:52:04 +0000 (10:52 +0200)]
app-layer: fix protocol detection bail conditions for TCP fastopen
Jeff Lucovsky [Wed, 22 Apr 2020 23:12:26 +0000 (19:12 -0400)]
detect/lua: Unregister object during free
This commit removes the registration for the object being freed.
Jeff Lucovsky [Wed, 22 Apr 2020 23:12:02 +0000 (19:12 -0400)]
detect: Provide `de_ctx` to free functions
This commit makes sure that the `DetectEngineCtx *` is available
to each detector's "free" function.
Jeff Lucovsky [Sat, 21 Mar 2020 14:10:09 +0000 (10:10 -0400)]
detect: Provide function to clear per-thread ctx
This commit provides an interface to free previously allocated
per-thread contextual information on the keyword lists.
Shivani Bhardwaj [Wed, 29 Jan 2020 14:50:24 +0000 (20:20 +0530)]
flowbits: Allow support for flowbit ORing
This patch allows to OR multiple flowbits on isset and isnotset flowbit
actions.
e.g.
Earlier in order to check if either fb1 or fb2 was set, it was required
to write two rules,
```
alert ip any any -> any any (msg:\"Flowbit fb1 isset\"; flowbits:isset,fb1; sid:1;)
alert ip any any -> any any (msg:\"Flowbit fb2 isset\"; flowbits:isset,fb2; sid:2;)
```
now, the same can be achieved with
```
alert ip any any -> any any (msg:\"Flowbit fb2 isset\"; flowbits:isset,fb1|fb2; sid:23;)
```
This operator can be used to check if one of the many flowbits is set
and also if one of the many flowbits is not set.
Victor Julien [Mon, 20 Apr 2020 13:39:32 +0000 (15:39 +0200)]
doc/perf: minor improvements
Andreas Herz [Thu, 9 Apr 2020 13:23:40 +0000 (15:23 +0200)]
doc: add performance analysis section
Philippe Antoine [Mon, 16 Mar 2020 13:52:32 +0000 (14:52 +0100)]
ftp: use switch for ftp commands for style
Philippe Antoine [Mon, 16 Mar 2020 13:48:40 +0000 (14:48 +0100)]
ftp: FTPGetAlstateProgress for done port commands
For a done transaction with command PORT,
we expect FTP_STATE_FINISHED
and we got FTP_STATE_PORT_DONE instead
which prevented logging of these transactions
We change the order of the evaluations to get the right result
Philippe Antoine [Fri, 20 Mar 2020 13:42:50 +0000 (14:42 +0100)]
ftp: indent FTPParseResponse again
Philippe Antoine [Mon, 16 Mar 2020 13:46:51 +0000 (14:46 +0100)]
ftp: FTPParseResponse bufferizes lines
Protects against evasion by TCP packet splitting
The problem arised if the FTP response is split on multiple packets
The fix is to bufferize the content, until we get a complete line
Philippe Antoine [Mon, 20 Apr 2020 11:57:44 +0000 (13:57 +0200)]
detect: fix insertion in linked list for fast pattern
Make sure we do not add the same list_id twice
by checking at least all the lists with the current priority
Victor Julien [Fri, 17 Apr 2020 13:00:40 +0000 (15:00 +0200)]
conf/datadir: fix possible out of bounds array access
Victor Julien [Fri, 17 Apr 2020 12:58:06 +0000 (14:58 +0200)]
datasets: remove useless variables
Victor Julien [Tue, 14 Apr 2020 12:21:31 +0000 (14:21 +0200)]
datasets: add 'dataset-remove' unix command
Victor Julien [Mon, 13 Apr 2020 14:31:50 +0000 (16:31 +0200)]
datasets: add 'remove' support
Victor Julien [Mon, 13 Apr 2020 14:31:35 +0000 (16:31 +0200)]
thash: add 'remove' support
Victor Julien [Mon, 13 Apr 2020 13:47:18 +0000 (15:47 +0200)]
datasets: improve 'dataset-add' error checking
Victor Julien [Tue, 14 Apr 2020 19:49:33 +0000 (21:49 +0200)]
datasets: fix return values for 'add's
Victor Julien [Tue, 14 Apr 2020 19:44:34 +0000 (21:44 +0200)]
datasets: fix ref cnt handling
Each 'add' and 'lookup' would increment the use_cnt, without anything
bringing it back down.
Since there is no removal yet, nothing is actually affected by it yet.
Victor Julien [Tue, 14 Apr 2020 19:57:06 +0000 (21:57 +0200)]
datasets: silence noisy 'dataset-add' log
Victor Julien [Mon, 13 Apr 2020 07:10:20 +0000 (09:10 +0200)]
build: default to c11 standard
Rearrange pcap includes to fix builds on MinGW
Victor Julien [Mon, 13 Apr 2020 05:47:02 +0000 (07:47 +0200)]
build: don't limit C std to c99 (gnu99)
Now that C11 atomics and thread local storage are supported, the
compiler can figure out what version to use.
Victor Julien [Mon, 13 Apr 2020 19:04:45 +0000 (21:04 +0200)]
configure: check for u_int and friends
Victor Julien [Tue, 14 Apr 2020 09:06:17 +0000 (11:06 +0200)]
fuzz: include pcap headers through suricata-common.h
Victor Julien [Tue, 14 Apr 2020 11:19:01 +0000 (13:19 +0200)]
threads: remove u_long usage
Victor Julien [Sun, 12 Apr 2020 12:03:24 +0000 (14:03 +0200)]
threads: make thread local storage manadatory
Support either the __thread GNUism or the C11 _Thread_local.
Use 'thread_local' to point to the one that is used. Convert existing
__thread user to 'thread_local'.
Remove non-thread-local code from the packet pool code.
Victor Julien [Sun, 12 Apr 2020 09:12:28 +0000 (11:12 +0200)]
atomics: stdatomics.h version of SC_ATOMIC_* wrappers
Victor Julien [Sun, 12 Apr 2020 09:25:45 +0000 (11:25 +0200)]
detect-engine/tags: avoid confusion over data type
Victor Julien [Sun, 12 Apr 2020 10:00:57 +0000 (12:00 +0200)]
atomics: remove unused macros
Victor Julien [Sun, 12 Apr 2020 09:09:34 +0000 (11:09 +0200)]
atomics: add SC_ATOMIC_INITPTR macro
Until now both atomic ints and pointers were initialized by SC_ATOMIC_INIT
by setting them to 0. However, C11's atomic pointer type cannot be
initialized this way w/o causing compiler warnings.
As a preparation to supporting C11's atomics, this patch introduces a
new macro to initialize atomic pointers and updates the relevant callers
to use it.
Victor Julien [Sun, 12 Apr 2020 09:06:32 +0000 (11:06 +0200)]
atomics: change SC_ATOMIC_ADD to 'fetch_add'
Until this point the SC_ATOMIC_ADD macro pointed to a 'add_fetch'
intrinsic. This patch changes it to a 'fetch_add'.
There are 2 reasons for this:
1. C11 stdatomics.h has only 'atomic_fetch_add' and no 'add_fetch'
So this patch prepares for adding support for C11 atomics.
2. It was not consistent with SC_ATOMIC_SUB, which did use 'fetch_sub'
and not 'sub_fetch'.
Most callers are not using the return value, so these are unaffected.
The callers that do use the return value are updated.
Victor Julien [Sun, 12 Apr 2020 09:25:12 +0000 (11:25 +0200)]
atomics: avoid unnecessary (direct) CAS use
Victor Julien [Sun, 12 Apr 2020 10:02:56 +0000 (12:02 +0200)]
atomics: remove useless SC_ATOMIC_DESTROY
Victor Julien [Wed, 4 Mar 2020 14:45:15 +0000 (15:45 +0100)]
atomics: remove spinlocked fallback
Victor Julien [Wed, 15 Apr 2020 20:46:19 +0000 (22:46 +0200)]
fuzz: fix applayer eof check segv
Philippe Antoine [Wed, 15 Apr 2020 12:30:48 +0000 (14:30 +0200)]
fuzz: stop app layer target as Suricata
Before being overwhelmed by successive errors
Philippe Antoine [Wed, 15 Apr 2020 09:48:13 +0000 (11:48 +0200)]
conf: returns instead of exiting in ConfYamlParse
So that we can keep on fuzzing even on too much recursion
Victor Julien [Tue, 14 Apr 2020 12:42:17 +0000 (14:42 +0200)]
fuzz: add missing debug validation to configure
Victor Julien [Tue, 14 Apr 2020 09:02:50 +0000 (11:02 +0200)]
fuzz: add configure wrapper for oss-fuzz
Victor Julien [Mon, 13 Apr 2020 08:22:43 +0000 (10:22 +0200)]
includes: don't include sys/types.h twice
Victor Julien [Mon, 13 Apr 2020 08:21:46 +0000 (10:21 +0200)]
privs: include headers in suricata-common.h
Victor Julien [Mon, 13 Apr 2020 08:21:07 +0000 (10:21 +0200)]
conf/yaml: include yaml.h after suricata-common.h
Sascha Steinbiss [Fri, 10 Apr 2020 09:53:54 +0000 (11:53 +0200)]
doc/install: refer to buster as Debian stable
Victor Julien [Mon, 13 Apr 2020 06:19:14 +0000 (08:19 +0200)]
fuzz/sigpcap: enable all of eve
Victor Julien [Sat, 11 Apr 2020 11:54:00 +0000 (13:54 +0200)]
detect/iponly: fix parsing of '0' valued netmask
Victor Julien [Thu, 28 Nov 2019 14:05:05 +0000 (15:05 +0100)]
util/mem: reduce scope of win32 specific include
Victor Julien [Wed, 27 Nov 2019 19:03:44 +0000 (20:03 +0100)]
util/mem: cleanup by moving atomic from mem hdr
Victor Julien [Wed, 27 Nov 2019 16:37:37 +0000 (17:37 +0100)]
util/mem: move most logic to functions
Reduce macro use and simplify code. Also reduces compiled code
size.
Victor Julien [Wed, 27 Nov 2019 17:13:32 +0000 (18:13 +0100)]
util/mem: remove old debug code for counting allocs
Victor Julien [Wed, 27 Nov 2019 11:01:01 +0000 (12:01 +0100)]
logging: turn SCLog and SCLogErr into funcs
Reduces compiled code size.
Victor Julien [Thu, 28 Nov 2019 13:55:29 +0000 (14:55 +0100)]
common: add ATTR_FMT_PRINTF wrapper
Wraps around __attribute__((format(printf, (x), (y))))
Victor Julien [Thu, 28 Nov 2019 13:47:53 +0000 (14:47 +0100)]
common: use suricata-common.h in more places
Victor Julien [Thu, 28 Nov 2019 13:18:59 +0000 (14:18 +0100)]
common: use WARN_UNUSED macro
Victor Julien [Thu, 28 Nov 2019 10:47:56 +0000 (11:47 +0100)]
detect/mpm: don't process empty store
Victor Julien [Fri, 10 Apr 2020 11:50:33 +0000 (13:50 +0200)]
dns/tests: comment typo fixes
Victor Julien [Mon, 2 Mar 2020 14:45:25 +0000 (15:45 +0100)]
decode: return bool network layer
So that the caller can set the correct event type on error.
Victor Julien [Thu, 13 Feb 2020 20:43:30 +0000 (21:43 +0100)]
decode/hdlc: initial support
Victor Julien [Wed, 26 Feb 2020 13:06:26 +0000 (14:06 +0100)]
decode: single network layer entrypoint
This way new layers can be added in a single place.
Victor Julien [Fri, 21 Feb 2020 15:07:57 +0000 (16:07 +0100)]
decode: create linklayer entry point
Make AF_PACKET and PCAP mode use it.
Victor Julien [Wed, 26 Feb 2020 19:34:25 +0000 (20:34 +0100)]
decode/ieee8021ah: fix possible packet truncation
Victor Julien [Thu, 9 Apr 2020 08:05:21 +0000 (10:05 +0200)]
fuzz/siginit: cleanup detect engine every 1024 runs
Andreas Herz [Thu, 9 Apr 2020 13:24:14 +0000 (15:24 +0200)]
app-layer-template: fix log typo