]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
8 years agodetect: during detection sgh is read only so turn into const 2343/head
Victor Julien [Wed, 5 Oct 2016 08:19:01 +0000 (10:19 +0200)] 
detect: during detection sgh is read only so turn into const

8 years agodetect: add util func for post-inspect tasks on first sgh
Victor Julien [Wed, 5 Oct 2016 08:12:27 +0000 (10:12 +0200)] 
detect: add util func for post-inspect tasks on first sgh

8 years agodetect: move file flags update into it's own function
Victor Julien [Wed, 5 Oct 2016 07:44:41 +0000 (09:44 +0200)] 
detect: move file flags update into it's own function

8 years agoflow: use BIT_U32 for flags
Victor Julien [Wed, 5 Oct 2016 07:25:19 +0000 (09:25 +0200)] 
flow: use BIT_U32 for flags

8 years agoflow: move file flags into their own variable
Victor Julien [Wed, 5 Oct 2016 07:16:25 +0000 (09:16 +0200)] 
flow: move file flags into their own variable

Move FLOW_FILE_* flags into Flow::file_flags. Rename them to
FLOWFILE_* so non updated code will break.

8 years agologging: don't log that json is disabled in each logger
Jason Ish [Thu, 6 Oct 2016 15:59:13 +0000 (09:59 -0600)] 
logging: don't log that json is disabled in each logger

A warning log is already emitted if eve-log is enabled in the
configuration but json support is not built so the logger
registration functions can be silent.

8 years agomacOS: thread return value affects newer macOS as well
Jason Ish [Thu, 6 Oct 2016 17:08:40 +0000 (11:08 -0600)] 
macOS: thread return value affects newer macOS as well

ALl OS X/macOS versions since 10.10 return EDEADLK here instead
of EBUSY. Assume they will moving forward as well.

8 years agodoc: move rule reload and adding rules into rule-management
Victor Julien [Fri, 7 Oct 2016 08:10:30 +0000 (10:10 +0200)] 
doc: move rule reload and adding rules into rule-management

8 years agodoc: add rule-management chapter
Victor Julien [Fri, 7 Oct 2016 08:06:05 +0000 (10:06 +0200)] 
doc: add rule-management chapter

8 years agodoc: improve install doc, configure
Victor Julien [Fri, 7 Oct 2016 07:58:10 +0000 (09:58 +0200)] 
doc: improve install doc, configure

8 years agodoc: multi-tenancy is not work in progress
Victor Julien [Fri, 7 Oct 2016 07:57:44 +0000 (09:57 +0200)] 
doc: multi-tenancy is not work in progress

8 years agodoc: clean up log rotation
Victor Julien [Fri, 7 Oct 2016 07:57:02 +0000 (09:57 +0200)] 
doc: clean up log rotation

8 years agodoc: update libcap-ng doc
Victor Julien [Fri, 7 Oct 2016 07:56:22 +0000 (09:56 +0200)] 
doc: update libcap-ng doc

8 years agodoc: rewrite rule reload doc
Victor Julien [Fri, 7 Oct 2016 07:55:50 +0000 (09:55 +0200)] 
doc: rewrite rule reload doc

8 years agohttp: fix memory leak in error path
Victor Julien [Thu, 6 Oct 2016 17:23:32 +0000 (19:23 +0200)] 
http: fix memory leak in error path

8 years agostreaming: improve error handling
Victor Julien [Thu, 6 Oct 2016 15:49:21 +0000 (17:49 +0200)] 
streaming: improve error handling

When memory allocations happened in HTTP body and general file
tracking, malloc/realloc errors (most likely in the form of memcap
reached conditions) could lead to an endless loop in the buffer
grow logic.

This patch implements proper error handling for all Append/Insert
functions for the streaming API, and it explicitly enables compiler
warnings if the results are ignored.

8 years agodoc: add simple install guide 2337/head
Victor Julien [Thu, 6 Oct 2016 11:16:53 +0000 (13:16 +0200)] 
doc: add simple install guide

8 years agodoc: remove userguide.pdf on clean instead of suricata.pdf 2336/head
Jason Ish [Wed, 5 Oct 2016 18:06:19 +0000 (12:06 -0600)] 
doc: remove userguide.pdf on clean instead of suricata.pdf

As the pdf is a built artifact, it needs to be removed to
satisfy distcheck.

8 years agodoc: add missing docs to EXTRA_DIST
Jason Ish [Wed, 5 Oct 2016 18:02:59 +0000 (12:02 -0600)] 
doc: add missing docs to EXTRA_DIST

8 years agodoc: exclude docs in partials/ from reference errors 2330/head
Jason Ish [Tue, 4 Oct 2016 14:56:16 +0000 (08:56 -0600)] 
doc: exclude docs in partials/ from reference errors

These docs are already included with the include statement,
but older versions of Sphinx still complain that they
are not in a table of contents.

8 years agodoc: eve update
Victor Julien [Tue, 4 Oct 2016 10:51:53 +0000 (12:51 +0200)] 
doc: eve update

8 years agodoc: rules-meta typo
Victor Julien [Tue, 4 Oct 2016 10:51:39 +0000 (12:51 +0200)] 
doc: rules-meta typo

8 years agodetect: fix scan-build 0-size alloc warnings
Victor Julien [Tue, 4 Oct 2016 07:16:24 +0000 (09:16 +0200)] 
detect: fix scan-build 0-size alloc warnings

8 years agodoc: rules-meta small cleanup 2329/head
Victor Julien [Mon, 3 Oct 2016 16:44:53 +0000 (18:44 +0200)] 
doc: rules-meta small cleanup

8 years agodoc: http sticky vs modifier
Victor Julien [Mon, 3 Oct 2016 16:18:02 +0000 (18:18 +0200)] 
doc: http sticky vs modifier

8 years agodoc: move urilen to other uri keywords
Victor Julien [Mon, 3 Oct 2016 16:02:07 +0000 (18:02 +0200)] 
doc: move urilen to other uri keywords

8 years agodoc: add minimal http request/response line sections
Victor Julien [Mon, 3 Oct 2016 15:58:20 +0000 (17:58 +0200)] 
doc: add minimal http request/response line sections

8 years agodoc: only make sphinx warnings fatal on html/pdf
Victor Julien [Tue, 4 Oct 2016 05:19:23 +0000 (07:19 +0200)] 
doc: only make sphinx warnings fatal on html/pdf

8 years agodoc: manpage: add bugs and notes section 2328/head
Jason Ish [Mon, 3 Oct 2016 20:22:07 +0000 (14:22 -0600)] 
doc: manpage: add bugs and notes section

8 years agodoc: manpage: add signals section
Jason Ish [Mon, 3 Oct 2016 20:13:16 +0000 (14:13 -0600)] 
doc: manpage: add signals section

8 years agodoc: break out command line options into a common doc
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.

8 years agodoc: fix sphinx warnings
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.

8 years agodoc: fail on sphinx warnings
Jason Ish [Mon, 3 Oct 2016 17:15:50 +0000 (11:15 -0600)] 
doc: fail on sphinx warnings

8 years agodocs: include userguide.pdf in dist
Jason Ish [Mon, 3 Oct 2016 16:21:39 +0000 (10:21 -0600)] 
docs: include userguide.pdf in dist

8 years agochangelog: update for 3.2beta1 suricata-3.2beta1
Victor Julien [Mon, 3 Oct 2016 12:56:41 +0000 (14:56 +0200)] 
changelog: update for 3.2beta1

8 years agocygwin: leave magic-file commented out in yaml 2324/head
Victor Julien [Mon, 3 Oct 2016 07:53:13 +0000 (09:53 +0200)] 
cygwin: leave magic-file commented out in yaml

8 years agopcap-log: cleanup allocations at exit
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.

8 years agopcap-log config: sguil-base-dir -> dir and update comment
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".

8 years agodoc: bring in unix socket interaction from wiki
Jason Ish [Thu, 29 Sep 2016 20:25:43 +0000 (14:25 -0600)] 
doc: bring in unix socket interaction from wiki

8 years agodoc: attempt to parse version if not in environment
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.

8 years agounix-socket: don't try to change permissions on BSD
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.

8 years agobug 1353: don't cut off last char of unix path
Victor Julien [Sun, 2 Oct 2016 21:29:38 +0000 (23:29 +0200)] 
bug 1353: don't cut off last char of unix path

8 years agopcre: disable JIT if RWX pages not supported
Victor Julien [Sun, 2 Oct 2016 20:49:32 +0000 (22:49 +0200)] 
pcre: disable JIT if RWX pages not supported

8 years agoutil: add facility to check for RWX page support
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.

8 years agoflow-mgr: fix bypass counter registration 2319/head
Victor Julien [Fri, 30 Sep 2016 14:26:40 +0000 (16:26 +0200)] 
flow-mgr: fix bypass counter registration

8 years agoder: fix asan/valgrind errors in time parsing
Victor Julien [Fri, 30 Sep 2016 12:06:32 +0000 (14:06 +0200)] 
der: fix asan/valgrind errors in time parsing

8 years agotls-validity: fix memory handling
Victor Julien [Fri, 30 Sep 2016 10:33:49 +0000 (12:33 +0200)] 
tls-validity: fix memory handling

8 years agodetect-tls-cert-validity: clean up unit tests
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.

8 years agodetect: add keyword tls_cert_valid
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.

8 years agodetect-cert-validity: fix typos
Mats Klepsland [Tue, 27 Sep 2016 11:41:38 +0000 (13:41 +0200)] 
detect-cert-validity: fix typos

8 years agodetect: add keyword tls_cert_expired
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.

8 years agodetect-tls-validity: use flags for modes
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.

8 years agoyaml: improve stream-depth comments
Victor Julien [Fri, 30 Sep 2016 10:04:40 +0000 (12:04 +0200)] 
yaml: improve stream-depth comments

8 years agofile-store: add depth setting
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.

8 years agoapp-layer: use StreamTcpSetReassemblyDepth
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.

8 years agomodbus: set stream depth
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.

8 years agoapp-layer-parser: add stream depth
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.

8 years agostream: per TcpStream reassembly depth
Eric Leblond [Tue, 24 Nov 2015 20:52:06 +0000 (21:52 +0100)] 
stream: per TcpStream reassembly depth

8 years agoenip: fix scan-build warnings
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.

8 years agoenip: parsing and tests cleanup
Victor Julien [Fri, 30 Sep 2016 06:54:27 +0000 (08:54 +0200)] 
enip: parsing and tests cleanup

8 years agoenip/cip: improve output & style
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

8 years agodoc: include enip page
Victor Julien [Fri, 30 Sep 2016 06:18:22 +0000 (08:18 +0200)] 
doc: include enip page

8 years agodoc: reorder rule docs
Victor Julien [Fri, 30 Sep 2016 06:15:12 +0000 (08:15 +0200)] 
doc: reorder rule docs

8 years agoenip: improve yaml
Victor Julien [Fri, 30 Sep 2016 06:14:00 +0000 (08:14 +0200)] 
enip: improve yaml

8 years agoenip/cip: register inspect engines
Victor Julien [Fri, 30 Sep 2016 06:10:18 +0000 (08:10 +0200)] 
enip/cip: register inspect engines

8 years agoAdding SCADA EtherNet/IP and CIP protocol support
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

8 years agodoc: prefilter keyword and config 2310/head
Victor Julien [Thu, 29 Sep 2016 12:17:22 +0000 (14:17 +0200)] 
doc: prefilter keyword and config

8 years agohttp_header: don't separately inspect trailer yet
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.

8 years agohttp_header: only run trailer mpm if we have trailers
Victor Julien [Tue, 27 Sep 2016 15:24:02 +0000 (17:24 +0200)] 
http_header: only run trailer mpm if we have trailers

8 years agohttp: track if request/response have trailers
Victor Julien [Tue, 27 Sep 2016 15:16:38 +0000 (17:16 +0200)] 
http: track if request/response have trailers

8 years agoprefilter: use array of engines per sgh
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.

8 years agoprefilter: clean up setup code
Victor Julien [Tue, 27 Sep 2016 09:56:58 +0000 (11:56 +0200)] 
prefilter: clean up setup code

8 years agodetect: reshuffle keyword registration order
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.

8 years agodetect: clean up inspect engine registration
Victor Julien [Fri, 23 Sep 2016 08:01:02 +0000 (10:01 +0200)] 
detect: clean up inspect engine registration

8 years agodetect app-layer-event: clean up 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.

8 years agodetect: remove empty app registration table
Victor Julien [Fri, 23 Sep 2016 07:37:54 +0000 (09:37 +0200)] 
detect: remove empty app registration table

8 years agotemplate_buffer: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 07:35:53 +0000 (09:35 +0200)] 
template_buffer: register inspect engine from keyword

8 years agofile detect: register inspect engines from keyword
Victor Julien [Fri, 23 Sep 2016 07:21:07 +0000 (09:21 +0200)] 
file detect: register inspect engines from keyword

8 years agomodbus detect: register inspect engine from keyword
Victor Julien [Fri, 23 Sep 2016 07:11:33 +0000 (09:11 +0200)] 
modbus detect: register inspect engine from keyword

8 years agodns 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

8 years agotls_cert_issuer: 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

8 years agotls_cert_subject: 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

8 years agotls_sni: 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

8 years agohttp_stat_code: 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

8 years agohttp_stat_msg: 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

8 years agofile_data: 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

8 years agohttp_raw_host: 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

8 years agohttp_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

8 years agohttp_user_agent: 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

8 years agohttp_raw_uri: 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

8 years agohttp_cookie: 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

8 years agohttp_method: 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

8 years agohttp_raw_header: 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

8 years agohttp_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

8 years agohttp_client_body: 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

8 years agohttp_uri: 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

8 years agohttp_response_line: 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

8 years agohttp_request_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

8 years agodetect-engine: new registration call
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.

8 years agodetect mpm: small optimization
Victor Julien [Thu, 22 Sep 2016 07:09:11 +0000 (09:09 +0200)] 
detect mpm: small optimization