]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Fri, 14 Oct 2016 15:28:34 +0000 (17:28 +0200)]
doc: initial app-layer keywords
Document app-layer-protocol and make a start with app-layer-event.
Victor Julien [Fri, 14 Oct 2016 08:23:44 +0000 (10:23 +0200)]
detect-app-layer-protocol: improve rule validation
Also add tests for PD-only conditions
Victor Julien [Fri, 14 Oct 2016 08:11:56 +0000 (10:11 +0200)]
detect-app-layer-protocol: implement prefilter
Introduce 'Protocol detection'-only rules. These rules will only be
fully evaluated when the protocol detection completed. To allow
mixing of the app-layer-protocol keyword with other types of matches
the keyword can also inspect the flow's app-protos per packet.
Implement prefilter for the 'PD-only' rules.
Victor Julien [Thu, 13 Oct 2016 21:33:06 +0000 (23:33 +0200)]
detect-app-layer-protocol: convert to pkt match
Victor Julien [Sat, 8 Oct 2016 21:08:04 +0000 (23:08 +0200)]
eve: print app_proto_ts/app_proto_tc
Victor Julien [Sat, 8 Oct 2016 21:07:32 +0000 (23:07 +0200)]
logging: return string for ALPROTO_FAILED
Victor Julien [Sat, 8 Oct 2016 20:54:19 +0000 (22:54 +0200)]
app-layer counters: count failed protocol detect
Victor Julien [Mon, 10 Oct 2016 10:06:48 +0000 (12:06 +0200)]
proto-detect: clean up UDP handling
Set FAILED instead of using a flow flag. Flag packets in both
sides when detection is done. Detection is only done in one
direction.
Victor Julien [Sun, 9 Oct 2016 21:49:09 +0000 (23:49 +0200)]
proto detect: improve error case handling
Improve flags logic, update tests.
Victor Julien [Sun, 9 Oct 2016 09:23:49 +0000 (11:23 +0200)]
detect-app-layer-protocol: improve error handling
Redo tests.
Victor Julien [Sat, 8 Oct 2016 16:00:37 +0000 (18:00 +0200)]
proto-detect: update mismatch handling
Improve protocol mismatch handling. Preserve both protos. Use otherdir
if already sent to parser, use toclient otherwise.
Victor Julien [Sat, 8 Oct 2016 17:31:38 +0000 (19:31 +0200)]
app-layer-protocol: improve detection
Add negated matches to match list instead of amatch.
Allow matching on 'failed'.
Introduce per packet flags for proto detection. Flags are used to
only inspect once per direction. Flag packet on PD-failure too.
Victor Julien [Sat, 8 Oct 2016 10:02:25 +0000 (12:02 +0200)]
proto detect: remove flow data tracking
The Flow::data_al_so_far was used for tracking data already
parsed when protocol for the current direction wasn't known yet. As
this behaviour has changed the tracking can be removed.
Victor Julien [Sat, 8 Oct 2016 09:47:35 +0000 (11:47 +0200)]
proto detect: update behavior on partial detection
When the current direction doesn't get a protocol detection, but the
opposing direction did, previously we would send the current data to
the parser. Then when we'd be invoked again (until the protocol
detection finally failed) we'd get the same data + the new data. To
make sure we'd not send the same data to the parser again, the flow
kept track of how much was already sent to the app-layer using
data_al_so_far.
This patch changes the behaviour. Instead of sending the data for
the current direction right away, we only do this when protocol
detection is complete. This way we won't have to track anything.
Victor Julien [Sat, 8 Oct 2016 08:22:35 +0000 (10:22 +0200)]
proto detect: TCP cleanup
Split function into multiple smaller ones.
Victor Julien [Mon, 10 Oct 2016 09:18:06 +0000 (11:18 +0200)]
app-layer: clean up counters registration
Victor Julien [Wed, 12 Oct 2016 10:30:19 +0000 (12:30 +0200)]
doc: app-layer tls including no-reassemble
Victor Julien [Wed, 12 Oct 2016 09:21:28 +0000 (11:21 +0200)]
tls: change 'no-reassemble' option to default off
This option was broken so there should be no visible change to
actual deployments.
Thomas Andrejak [Mon, 16 May 2016 10:56:50 +0000 (12:56 +0200)]
prelude: add IPv6 support
Thomas Andrejak [Mon, 16 May 2016 10:56:12 +0000 (12:56 +0200)]
prelude: add missing TCP header to additional data
Thomas ANDREJAK [Thu, 7 Apr 2016 20:54:56 +0000 (22:54 +0200)]
prelude: update URL
Thomas Andrejak [Mon, 16 May 2016 10:55:32 +0000 (12:55 +0200)]
prelude: coding style, it's better to use macro
Thomas Andrejak [Mon, 16 May 2016 10:36:29 +0000 (12:36 +0200)]
prelude: Add other actions than just ACTION_DROP when packet drop
Thomas Andrejak [Mon, 16 May 2016 10:35:17 +0000 (12:35 +0200)]
prelude: Add log when failed to create assessment or impact object
Thomas Andrejak [Mon, 16 May 2016 10:37:38 +0000 (12:37 +0200)]
Add macro for TCP and UDP header access
Eric Leblond [Fri, 7 Oct 2016 07:51:22 +0000 (16:51 +0900)]
app-layer-tls: stop detection if no reassembly
It no-reassembly is asked in TLS conf then we can stop inspection
after handshake and cause bypass to be triggered on the flow.
Eric Leblond [Thu, 6 Oct 2016 05:10:13 +0000 (14:10 +0900)]
stream-tcp: bypass encrypted when both side ready
Suricata should not completely bypass a flow before both end of it
have reached the stream depth or have reached a certain state.
Justification is that suricata need the ACK to treat the other side
so we can't really decide to cut only one side.
Nicolas Thill [Tue, 11 Oct 2016 15:16:33 +0000 (17:16 +0200)]
doc: add SCPacketTimestamp Lua function
Signed-off-by: Nicolas Thill <ntl@p1sec.com>
Nicolas Thill [Fri, 5 Feb 2016 10:40:08 +0000 (11:40 +0100)]
lua: add an SCPacketTimestamp function
The SCPacketTimestamp function returns packet timestamps as 2 real
numbers (seconds & microseconds).
Example:
local sec, usec = SCPacketTimestamp()
Signed-off-by: Nicolas Thill <ntl@p1sec.com>
Victor Julien [Fri, 7 Oct 2016 17:02:32 +0000 (19:02 +0200)]
file: register filedata loggers before file
This fixes the issue that 'stored' remained false even if the file
was stored.
Reported-by: Chris Wakelin
Victor Julien [Fri, 7 Oct 2016 15:45:12 +0000 (17:45 +0200)]
doc: small eve update: add dns
Victor Julien [Fri, 7 Oct 2016 15:36:01 +0000 (17:36 +0200)]
doc: add recent tls keywords
Victor Julien [Fri, 7 Oct 2016 15:15:32 +0000 (17:15 +0200)]
doc: clean up fast_pattern
Victor Julien [Fri, 7 Oct 2016 15:09:43 +0000 (17:09 +0200)]
doc: fix header keywords layout
Victor Julien [Wed, 5 Oct 2016 08:19:01 +0000 (10:19 +0200)]
detect: during detection sgh is read only so turn into const
Victor Julien [Wed, 5 Oct 2016 08:12:27 +0000 (10:12 +0200)]
detect: add util func for post-inspect tasks on first sgh
Victor Julien [Wed, 5 Oct 2016 07:44:41 +0000 (09:44 +0200)]
detect: move file flags update into it's own function
Victor Julien [Wed, 5 Oct 2016 07:25:19 +0000 (09:25 +0200)]
flow: use BIT_U32 for flags
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.
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.
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.
Victor Julien [Fri, 7 Oct 2016 08:10:30 +0000 (10:10 +0200)]
doc: move rule reload and adding rules into rule-management
Victor Julien [Fri, 7 Oct 2016 08:06:05 +0000 (10:06 +0200)]
doc: add rule-management chapter
Victor Julien [Fri, 7 Oct 2016 07:58:10 +0000 (09:58 +0200)]
doc: improve install doc, configure
Victor Julien [Fri, 7 Oct 2016 07:57:44 +0000 (09:57 +0200)]
doc: multi-tenancy is not work in progress
Victor Julien [Fri, 7 Oct 2016 07:57:02 +0000 (09:57 +0200)]
doc: clean up log rotation
Victor Julien [Fri, 7 Oct 2016 07:56:22 +0000 (09:56 +0200)]
doc: update libcap-ng doc
Victor Julien [Fri, 7 Oct 2016 07:55:50 +0000 (09:55 +0200)]
doc: rewrite rule reload doc
Victor Julien [Thu, 6 Oct 2016 17:23:32 +0000 (19:23 +0200)]
http: fix memory leak in error path
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.
Victor Julien [Thu, 6 Oct 2016 11:16:53 +0000 (13:16 +0200)]
doc: add simple install guide
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.
Jason Ish [Wed, 5 Oct 2016 18:02:59 +0000 (12:02 -0600)]
doc: add missing docs to EXTRA_DIST
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.
Victor Julien [Tue, 4 Oct 2016 10:51:53 +0000 (12:51 +0200)]
doc: eve update
Victor Julien [Tue, 4 Oct 2016 10:51:39 +0000 (12:51 +0200)]
doc: rules-meta typo
Victor Julien [Tue, 4 Oct 2016 07:16:24 +0000 (09:16 +0200)]
detect: fix scan-build 0-size alloc warnings
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