]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Mon, 3 Oct 2016 16:44:53 +0000 (18:44 +0200)]
doc: rules-meta small cleanup
Victor Julien [Mon, 3 Oct 2016 16:18:02 +0000 (18:18 +0200)]
doc: http sticky vs modifier
Victor Julien [Mon, 3 Oct 2016 16:02:07 +0000 (18:02 +0200)]
doc: move urilen to other uri keywords
Victor Julien [Mon, 3 Oct 2016 15:58:20 +0000 (17:58 +0200)]
doc: add minimal http request/response line sections
Victor Julien [Tue, 4 Oct 2016 05:19:23 +0000 (07:19 +0200)]
doc: only make sphinx warnings fatal on html/pdf
Jason Ish [Mon, 3 Oct 2016 20:22:07 +0000 (14:22 -0600)]
doc: manpage: add bugs and notes section
Jason Ish [Mon, 3 Oct 2016 20:13:16 +0000 (14:13 -0600)]
doc: manpage: add signals section
Jason Ish [Mon, 3 Oct 2016 18:05:32 +0000 (12:05 -0600)]
doc: break out command line options into a common doc
The command line options can now be consumed by the man page
and the user guide.
Some attempt was made to order the options from common/basic
progressing to advanced with some notion of options
grouped together.
Jason Ish [Mon, 3 Oct 2016 17:16:13 +0000 (11:16 -0600)]
doc: fix sphinx warnings
This involved removing documents that were intentionally
not referenced as they are not good candidates for the
user guide.
Jason Ish [Mon, 3 Oct 2016 17:15:50 +0000 (11:15 -0600)]
doc: fail on sphinx warnings
Jason Ish [Mon, 3 Oct 2016 16:21:39 +0000 (10:21 -0600)]
docs: include userguide.pdf in dist
Victor Julien [Mon, 3 Oct 2016 12:56:41 +0000 (14:56 +0200)]
changelog: update for 3.2beta1
Victor Julien [Mon, 3 Oct 2016 07:53:13 +0000 (09:53 +0200)]
cygwin: leave magic-file commented out in yaml
Jason Ish [Sat, 24 Sep 2016 14:01:02 +0000 (08:01 -0600)]
pcap-log: cleanup allocations at exit
Particularly in multi-mode, allocations made for each thread were
not being cleaned.
ASAN reports no leaks now on exit.
Jason Ish [Mon, 26 Sep 2016 01:28:23 +0000 (19:28 -0600)]
pcap-log config: sguil-base-dir -> dir and update comment
The code already looks for "dir" first instead of
"squil-base-dir", and already respects this configuration
parameter in other modes than the "sguil" mode.
Coda will still access "sguil-base-dir".
Jason Ish [Thu, 29 Sep 2016 20:25:43 +0000 (14:25 -0600)]
doc: bring in unix socket interaction from wiki
Jason Ish [Wed, 28 Sep 2016 21:25:48 +0000 (15:25 -0600)]
doc: attempt to parse version if not in environment
Should fix the version displayed on readthedocs.
Victor Julien [Mon, 3 Oct 2016 06:33:11 +0000 (08:33 +0200)]
unix-socket: don't try to change permissions on BSD
On BSD using fchmod on a socket is not supported and will result
in EINVAL.
Victor Julien [Sun, 2 Oct 2016 21:29:38 +0000 (23:29 +0200)]
bug 1353: don't cut off last char of unix path
Victor Julien [Sun, 2 Oct 2016 20:49:32 +0000 (22:49 +0200)]
pcre: disable JIT if RWX pages not supported
Victor Julien [Sun, 2 Oct 2016 20:39:29 +0000 (22:39 +0200)]
util: add facility to check for RWX page support
Some code won't work well when the OS doesn't allow RWX pages. This
page introduces a check for runtime evaluation of the OS' policy on
this.
Thanks to Shawn Webb from HardenedBSD for suggesting this solution.
Victor Julien [Fri, 30 Sep 2016 14:26:40 +0000 (16:26 +0200)]
flow-mgr: fix bypass counter registration
Victor Julien [Fri, 30 Sep 2016 12:06:32 +0000 (14:06 +0200)]
der: fix asan/valgrind errors in time parsing
Victor Julien [Fri, 30 Sep 2016 10:33:49 +0000 (12:33 +0200)]
tls-validity: fix memory handling
Mats Klepsland [Tue, 27 Sep 2016 15:56:22 +0000 (17:56 +0200)]
detect-tls-cert-validity: clean up unit tests
Remove locks, unnecessary function calls and conditional statements.
Mats Klepsland [Tue, 27 Sep 2016 12:19:03 +0000 (14:19 +0200)]
detect: add keyword tls_cert_valid
Add keyword to check if TLS certificate is valid.
Mats Klepsland [Tue, 27 Sep 2016 11:41:38 +0000 (13:41 +0200)]
detect-cert-validity: fix typos
Mats Klepsland [Tue, 27 Sep 2016 11:39:43 +0000 (13:39 +0200)]
detect: add keyword tls_cert_expired
Add keyword to check if TLS certificate is expired.
Mats Klepsland [Tue, 27 Sep 2016 06:56:28 +0000 (08:56 +0200)]
detect-tls-validity: use flags for modes
Use flags for modes to support using multiple modes at the same time.
Victor Julien [Fri, 30 Sep 2016 10:04:40 +0000 (12:04 +0200)]
yaml: improve stream-depth comments
Giuseppe Longo [Tue, 1 Dec 2015 10:21:24 +0000 (11:21 +0100)]
file-store: add depth setting
When a rules match and fired filestore we may want
to increase the stream reassembly depth for this specific.
This add the 'depth' setting in file-store config,
which permits to specify how much data we want to reassemble
into a stream.
Giuseppe Longo [Mon, 29 Aug 2016 09:46:33 +0000 (11:46 +0200)]
app-layer: use StreamTcpSetReassemblyDepth
This calls StreamTcpSetReassemblyDepth to set the stream depth
specified for the protocol.
Giuseppe Longo [Mon, 1 Aug 2016 14:30:03 +0000 (16:30 +0200)]
modbus: set stream depth
Some protocol like modbus requires
a infinite stream depth because session
are kept open and we want to analyze everything.
Since we have a stream reassembly depth per stream,
we can also set a stream reassembly depth per proto.
Giuseppe Longo [Tue, 1 Dec 2015 14:50:02 +0000 (15:50 +0100)]
app-layer-parser: add stream depth
This permits to set a stream depth value for each
app-layer.
By default, the stream depth specified for tcp is set,
then it's possible to specify a own value into the app-layer
module with a proper API.
Eric Leblond [Tue, 24 Nov 2015 20:52:06 +0000 (21:52 +0100)]
stream: per TcpStream reassembly depth
Victor Julien [Fri, 30 Sep 2016 08:34:39 +0000 (10:34 +0200)]
enip: fix scan-build warnings
detect-cipservice.c:161:29: warning: Assigned value is garbage or undefined
cipserviced->cipservice = input[0];
^ ~~~~~~~~
detect-cipservice.c:162:27: warning: Assigned value is garbage or undefined
cipserviced->cipclass = input[1];
^ ~~~~~~~~
detect-cipservice.c:163:31: warning: Assigned value is garbage or undefined
cipserviced->cipattribute = input[2];
^ ~~~~~~~~
3 warnings generated.
Victor Julien [Fri, 30 Sep 2016 06:54:27 +0000 (08:54 +0200)]
enip: parsing and tests cleanup
Victor Julien [Fri, 30 Sep 2016 06:23:39 +0000 (08:23 +0200)]
enip/cip: improve output & style
Remove printf, remove \n from SCLogDebug. Add SCLogError for
rule parsing issues.
Fix various style issues
Victor Julien [Fri, 30 Sep 2016 06:18:22 +0000 (08:18 +0200)]
doc: include enip page
Victor Julien [Fri, 30 Sep 2016 06:15:12 +0000 (08:15 +0200)]
doc: reorder rule docs
Victor Julien [Fri, 30 Sep 2016 06:14:00 +0000 (08:14 +0200)]
enip: improve yaml
Victor Julien [Fri, 30 Sep 2016 06:10:18 +0000 (08:10 +0200)]
enip/cip: register inspect engines
kwong [Thu, 29 Sep 2016 17:15:54 +0000 (13:15 -0400)]
Adding SCADA EtherNet/IP and CIP protocol support
Add support for the ENIP/CIP Industrial protocol
This is an app layer implementation which uses the "enip" protocol
and "cip_service" and "enip_command" keywords
Implements AFL entry points
Victor Julien [Thu, 29 Sep 2016 12:17:22 +0000 (14:17 +0200)]
doc: prefilter keyword and config
Victor Julien [Wed, 28 Sep 2016 06:46:27 +0000 (08:46 +0200)]
http_header: don't separately inspect trailer yet
Currently the regular 'Header' inspection code will run each time
after the HTTP progress moved beyond 'headers'. This will include
the trailers if there are any.
Leave the code in place as this model will change in the not too
distant future.
Victor Julien [Tue, 27 Sep 2016 15:24:02 +0000 (17:24 +0200)]
http_header: only run trailer mpm if we have trailers
Victor Julien [Tue, 27 Sep 2016 15:16:38 +0000 (17:16 +0200)]
http: track if request/response have trailers
Victor Julien [Tue, 27 Sep 2016 11:46:08 +0000 (13:46 +0200)]
prefilter: use array of engines per sgh
Instead of the linked list of engines setup an array
with the engines. This should provide better locality.
Also shrink the engine structure so that we can fit
2 on a cacheline.
Remove the FreeFunc from the runtime engines. Engines
now have a 'gid' (global id) that can be used to look
up the registered Free function.
Victor Julien [Tue, 27 Sep 2016 09:56:58 +0000 (11:56 +0200)]
prefilter: clean up setup code
Victor Julien [Fri, 23 Sep 2016 09:25:38 +0000 (11:25 +0200)]
detect: reshuffle keyword registration order
The order of keyword registration currently affects inspect engine
registration order and ultimately the order of inspect engines per
rule. Which in turn affects state keeping.
This patch makes sure the ordering is the same as with older
releases.
Victor Julien [Fri, 23 Sep 2016 08:01:02 +0000 (10:01 +0200)]
detect: clean up inspect engine registration
Victor Julien [Fri, 23 Sep 2016 07:56:23 +0000 (09:56 +0200)]
detect app-layer-event: clean up registration
Move engine and registration into the keyword file.
Register as 'ALPROTO_UNKNOWN' instead of per alproto. The
registration will only apply it to those rules that have
events set.
Victor Julien [Fri, 23 Sep 2016 07:37:54 +0000 (09:37 +0200)]
detect: remove empty app registration table
Victor Julien [Fri, 23 Sep 2016 07:35:53 +0000 (09:35 +0200)]
template_buffer: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 07:21:07 +0000 (09:21 +0200)]
file detect: register inspect engines from keyword
Victor Julien [Fri, 23 Sep 2016 07:11:33 +0000 (09:11 +0200)]
modbus detect: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 07:02:38 +0000 (09:02 +0200)]
dns detect: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 06:47:00 +0000 (08:47 +0200)]
tls_cert_issuer: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 06:45:29 +0000 (08:45 +0200)]
tls_cert_subject: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 06:43:25 +0000 (08:43 +0200)]
tls_sni: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 06:38:37 +0000 (08:38 +0200)]
http_stat_code: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 06:30:57 +0000 (08:30 +0200)]
http_stat_msg: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 06:20:51 +0000 (08:20 +0200)]
file_data: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 16:05:52 +0000 (18:05 +0200)]
http_raw_host: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:51:25 +0000 (17:51 +0200)]
http_host: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:47:54 +0000 (17:47 +0200)]
http_user_agent: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:39:06 +0000 (17:39 +0200)]
http_raw_uri: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:35:59 +0000 (17:35 +0200)]
http_cookie: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:33:20 +0000 (17:33 +0200)]
http_method: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:27:57 +0000 (17:27 +0200)]
http_raw_header: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:22:20 +0000 (17:22 +0200)]
http_header: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:19:05 +0000 (17:19 +0200)]
http_client_body: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:13:03 +0000 (17:13 +0200)]
http_uri: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:06:43 +0000 (17:06 +0200)]
http_response_line: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:02:39 +0000 (17:02 +0200)]
http_request_line: register inspect engine from keyword
Victor Julien [Thu, 22 Sep 2016 15:00:29 +0000 (17:00 +0200)]
detect-engine: new registration call
Make it more in line with MPM registration.
Victor Julien [Thu, 22 Sep 2016 07:09:11 +0000 (09:09 +0200)]
detect mpm: small optimization
Victor Julien [Wed, 21 Sep 2016 20:50:13 +0000 (22:50 +0200)]
detect-mpm: cleanup
Victor Julien [Wed, 21 Sep 2016 15:43:41 +0000 (17:43 +0200)]
detect-engine: improved inspect engines
Inspect engines are called per signature per sigmatch list. Most
wrap around DetectEngineContentInspection, but it's more generic.
Until now, the inspect engines were setup in a large per ipproto,
per alproto, per direction table. For stateful inspection each
engine needed a global flag.
This approach had a number of issues:
1. inefficient: each inspection round walked the table and then
checked if the inspect engine was even needed for the current
rule.
2. clumsy registration with global flag registration.
3. global flag space was approaching the need for 64 bits
4. duplicate registration for alprotos supporting both TCP and
TCP (DNS).
This patch introduces a new approach.
First, it does away with the per ipproto engines. This wasn't used.
Second, it adds a per signature list of inspect engine containing
only those engines that actually apply to the rule.
Third, it gets rid of the global flags and replaces it with flags
assigned per rule per engine.
Victor Julien [Wed, 21 Sep 2016 14:17:20 +0000 (16:17 +0200)]
detect state: reorganize flags
List the common non-buffer specific flags on top.
Victor Julien [Thu, 8 Sep 2016 13:19:40 +0000 (15:19 +0200)]
http_response_body: implement keyword with mpm
Implemented as 'stickybuffer'.
Victor Julien [Thu, 8 Sep 2016 10:35:44 +0000 (12:35 +0200)]
http_request_line: implement keyword and mpm
Implemented as 'stickybuffer'.
Move all logic into the keyword file and remove bad tests that tested
URI instead of request line.
Victor Julien [Sat, 17 Sep 2016 12:44:09 +0000 (14:44 +0200)]
fast_pattern: register app layer mpms automatically
Allow for duplicate registrations for the same list. After the first
registration new calls will be ignored.
Victor Julien [Sat, 17 Sep 2016 11:08:16 +0000 (13:08 +0200)]
mpm: remove empty app_mpms table
Victor Julien [Sat, 17 Sep 2016 11:06:32 +0000 (13:06 +0200)]
tls: register mpm from keywords
Victor Julien [Sat, 17 Sep 2016 11:05:18 +0000 (13:05 +0200)]
dns_query: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 11:03:39 +0000 (13:03 +0200)]
http_cookie: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 11:01:32 +0000 (13:01 +0200)]
http_raw_host: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 10:26:17 +0000 (12:26 +0200)]
http_host: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 10:22:59 +0000 (12:22 +0200)]
http_client_body: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 10:21:22 +0000 (12:21 +0200)]
http_stat_code: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:49:17 +0000 (11:49 +0200)]
http_stat_msg: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:47:29 +0000 (11:47 +0200)]
file_data: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:43:08 +0000 (11:43 +0200)]
http_method: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:41:35 +0000 (11:41 +0200)]
http_raw_header: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:39:46 +0000 (11:39 +0200)]
http_user_agent: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:37:30 +0000 (11:37 +0200)]
http_header: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:33:16 +0000 (11:33 +0200)]
http_raw_uri: register mpm from keyword
Victor Julien [Sat, 17 Sep 2016 09:28:25 +0000 (11:28 +0200)]
http_uri: register mpm from keyword
Victor Julien [Fri, 16 Sep 2016 16:52:59 +0000 (18:52 +0200)]
mpm: add App Layer MPM registery
Register keywords globally at start up.
Create a map of the registery per detection engine. This we need because
the sgh_mpm_context value is set per detect engine.
Remove APP_MPMS_MAX.