]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
10 years agojson-stats: reorg threads and totals 1544/head
Jason Ish [Wed, 10 Jun 2015 21:15:19 +0000 (15:15 -0600)] 
json-stats: reorg threads and totals

Totals are now placed at the top level instead of under a "Total"
object.

Threads are placed under a "threads" object.

10 years agojson-stats: log uptime in seconds, instead of a string
Jason Ish [Wed, 10 Jun 2015 20:39:38 +0000 (14:39 -0600)] 
json-stats: log uptime in seconds, instead of a string

10 years agoflowbits: strip leading and trailing spaces in name 1540/head
Jason Ish [Tue, 9 Jun 2015 20:26:57 +0000 (14:26 -0600)] 
flowbits: strip leading and trailing spaces in name

Redmine bug 1481. Strip leading and trailing white space. Factor
out parsing from setup while in here.

10 years agoAdd Feature #1454. Generic eve-log prefix support.
Zachary Rasmor [Wed, 3 Jun 2015 15:59:06 +0000 (11:59 -0400)] 
Add Feature #1454. Generic eve-log prefix support.

10 years agodecode: optimize DecodeThreadVars layout
Victor Julien [Sat, 30 May 2015 09:48:34 +0000 (11:48 +0200)] 
decode: optimize DecodeThreadVars layout

Put common counters on the first cache line. Please the flow output
pointer last as it's use depends on the flow logging being enabled
and even then it's only called very rarely.

10 years agodecode: add erspan counter
Victor Julien [Sat, 30 May 2015 09:31:30 +0000 (11:31 +0200)] 
decode: add erspan counter

10 years agodecode: add ERSPANv1 decoder
Victor Julien [Wed, 20 May 2015 21:01:22 +0000 (23:01 +0200)] 
decode: add ERSPANv1 decoder

Only allow v1 to be parsed as thats what is tested.

Take vlan_id from the ERSPAN layer.

10 years agodecode: clean up tunnel decode logic
Victor Julien [Wed, 20 May 2015 19:42:19 +0000 (21:42 +0200)] 
decode: clean up tunnel decode logic

Don't use mix of existing and custom types to indicate the next
layer.

10 years agodetect: various header cleanups 1538/head
Victor Julien [Tue, 9 Jun 2015 09:50:04 +0000 (11:50 +0200)] 
detect: various header cleanups

10 years agodetect: remove struct/union tricks from Signature
Victor Julien [Tue, 9 Jun 2015 09:43:26 +0000 (11:43 +0200)] 
detect: remove struct/union tricks from Signature

10 years agodetect: remove unused match_flags from inspect engines
Victor Julien [Tue, 9 Jun 2015 08:43:06 +0000 (10:43 +0200)] 
detect: remove unused match_flags from inspect engines

10 years agohttp: improve body pruning 1528/head
Victor Julien [Mon, 1 Jun 2015 09:00:36 +0000 (11:00 +0200)] 
http: improve body pruning

Take inspect window into account.

10 years agohttp: fix body tracking
Victor Julien [Sun, 31 May 2015 08:52:05 +0000 (10:52 +0200)] 
http: fix body tracking

In HTTP body tracking for response bodies, pruning body chunks was broken
as the body parsing code wouldn't update HtpBody::body_parsed.

10 years agohttp-client-body: create unittest util func 1523/head
Victor Julien [Fri, 29 May 2015 10:15:18 +0000 (12:15 +0200)] 
http-client-body: create unittest util func

10 years agologging: fix modules ordering during logging
Eric Leblond [Wed, 27 May 2015 20:05:19 +0000 (22:05 +0200)] 
logging: fix modules ordering during logging

With the previous code the order of the logging modules in the
YAML were determining which module was run first. This was not
wished and a consequences was that the EVE fileinfo module was
not correctly displaying the key 'stored' because it was
depending on a flag set alter by the filestore module.

This patch adds a priority file to the TmModule structure. The
higher the priority is set, the sooner the module is run in the
logging process. The RunModeOutput structure has also been
updated to contain the name of the original TmModule. Thus allowing
to define a priority for a RunModeOutput.

Currently only the filestore has a priority set. The rest of them is
set to the default value of zero.

10 years agooutput-lua: sync variable name with yaml
Eric Leblond [Thu, 28 May 2015 05:02:12 +0000 (07:02 +0200)] 
output-lua: sync variable name with yaml

'script-dir' was used in the code but we had 'scripts-dir' in the
configuration file. This patch fixes it to 'scripts-dir'.

10 years ago--set - handle spaces on either side of '='
Jason Ish [Wed, 20 May 2015 21:14:59 +0000 (15:14 -0600)] 
--set - handle spaces on either side of '='

Discard spaces when provided as part of --set around the '='. For
example, "val=key", "val = key", "val= key" and "val =key" are
all equivalent now.

10 years agoconf - function declaration style
Jason Ish [Wed, 20 May 2015 20:19:20 +0000 (14:19 -0600)] 
conf - function declaration style

Use consistent style - function return type and declaration on
same line.

10 years agomodbus: fix heap-buffer-overflow in Modbus parser 1509/head
DIALLO David [Wed, 27 May 2015 15:00:35 +0000 (17:00 +0200)] 
modbus: fix heap-buffer-overflow in Modbus parser

Modbus parser does not check length to extract/read data (read or write address,
quantity of data, etc.) that should be present.

In case of malformated data (invalid length in header), Modbus parser reads data
over the input data length.

Add check before extracting/reading data from input buffer to avoid head buffer
overflow.

10 years agocounters: use ptr to name instead of copy 1508/head
Victor Julien [Wed, 27 May 2015 12:29:54 +0000 (14:29 +0200)] 
counters: use ptr to name instead of copy

All counters have hardcoded names, so copies are not needed.

10 years agocounters: don't run if no counters have been registered
Victor Julien [Wed, 27 May 2015 12:11:57 +0000 (14:11 +0200)] 
counters: don't run if no counters have been registered

10 years agocounters: work around unix-socket init issues
Victor Julien [Wed, 27 May 2015 09:33:41 +0000 (11:33 +0200)] 
counters: work around unix-socket init issues

10 years agocounters: make threads cleanup all memory
Victor Julien [Wed, 27 May 2015 09:23:19 +0000 (11:23 +0200)] 
counters: make threads cleanup all memory

10 years agocounters: clean up global context
Victor Julien [Wed, 27 May 2015 07:28:24 +0000 (09:28 +0200)] 
counters: clean up global context

10 years agocounters: turn flow.memuse into a global counter
Victor Julien [Tue, 26 May 2015 17:44:01 +0000 (19:44 +0200)] 
counters: turn flow.memuse into a global counter

10 years agocounters: make DNS counters globals
Victor Julien [Tue, 26 May 2015 17:36:59 +0000 (19:36 +0200)] 
counters: make DNS counters globals

10 years agocounters: make tcp.memuse a global counter
Victor Julien [Tue, 26 May 2015 17:16:23 +0000 (19:16 +0200)] 
counters: make tcp.memuse a global counter

10 years agohttp: make http.memuse a global counter
Victor Julien [Thu, 8 Jan 2015 00:44:18 +0000 (01:44 +0100)] 
http: make http.memuse a global counter

http.memcap as well.

10 years agocounters: remove references to 'perf' counters
Victor Julien [Tue, 26 May 2015 14:45:07 +0000 (16:45 +0200)] 
counters: remove references to 'perf' counters

10 years agocounters: remove last and now unused tm_name reference
Victor Julien [Tue, 26 May 2015 14:33:51 +0000 (16:33 +0200)] 
counters: remove last and now unused tm_name reference

10 years agocounters: remove old unix socket json logic
Victor Julien [Tue, 26 May 2015 14:29:35 +0000 (16:29 +0200)] 
counters: remove old unix socket json logic

10 years agocounters: minor internal API cleanups
Victor Julien [Tue, 26 May 2015 14:28:01 +0000 (16:28 +0200)] 
counters: minor internal API cleanups

10 years agocounters: rename unparsable SCPCAElem to StatsLocalCounter
Victor Julien [Tue, 26 May 2015 14:24:39 +0000 (16:24 +0200)] 
counters: rename unparsable SCPCAElem to StatsLocalCounter

10 years agocounters: minor header cleanup
Victor Julien [Tue, 26 May 2015 14:15:03 +0000 (16:15 +0200)] 
counters: minor header cleanup

10 years agocounters: remaining s/SCPerf/Stats/g
Victor Julien [Tue, 26 May 2015 14:10:17 +0000 (16:10 +0200)] 
counters: remaining s/SCPerf/Stats/g

10 years agocounters: s/SCPerfPrivateContext/StatsPrivateThreadContext/g
Victor Julien [Tue, 26 May 2015 14:04:30 +0000 (16:04 +0200)] 
counters: s/SCPerfPrivateContext/StatsPrivateThreadContext/g

10 years agocounters: s/SCPerfPublicContext/StatsPublicThreadContext/g
Victor Julien [Tue, 26 May 2015 14:01:09 +0000 (16:01 +0200)] 
counters: s/SCPerfPublicContext/StatsPublicThreadContext/g

10 years agocounters: various renames and cleanups
Victor Julien [Tue, 26 May 2015 13:41:35 +0000 (15:41 +0200)] 
counters: various renames and cleanups

10 years agocounters: s/SCPerfCounterSetUI64/StatsSetUI64/g
Victor Julien [Tue, 26 May 2015 13:08:35 +0000 (15:08 +0200)] 
counters: s/SCPerfCounterSetUI64/StatsSetUI64/g

10 years agocounters: s/SCPerfCounterIncr/StatsIncr/g
Victor Julien [Tue, 26 May 2015 12:53:24 +0000 (14:53 +0200)] 
counters: s/SCPerfCounterIncr/StatsIncr/g

10 years agocounters: s/SCPerfCounterAddUI64/StatsAddUI64/g
Victor Julien [Tue, 26 May 2015 12:45:43 +0000 (14:45 +0200)] 
counters: s/SCPerfCounterAddUI64/StatsAddUI64/g

10 years agocounters: clean up defines
Victor Julien [Tue, 26 May 2015 12:38:02 +0000 (14:38 +0200)] 
counters: clean up defines

10 years agocounters: rename register API calls
Victor Julien [Tue, 26 May 2015 12:33:21 +0000 (14:33 +0200)] 
counters: rename register API calls

Also remove 'type' parameter which was always the same.

10 years agolog-stats: make global/threads logging configurable
Victor Julien [Tue, 26 May 2015 11:51:38 +0000 (13:51 +0200)] 
log-stats: make global/threads logging configurable

10 years agostats: support per thread stats in json output
Victor Julien [Tue, 26 May 2015 10:00:36 +0000 (12:00 +0200)] 
stats: support per thread stats in json output

Default is only to output totals. Optionally per thread can be added.

Both can be enabled together.

10 years agostats json: replace strndup
Victor Julien [Tue, 4 Nov 2014 09:07:25 +0000 (10:07 +0100)] 
stats json: replace strndup

strndup is a banned function.

10 years agostats-json: fixes and improvements
Victor Julien [Tue, 4 Nov 2014 08:50:29 +0000 (09:50 +0100)] 
stats-json: fixes and improvements

Use proper LogFileCtx and MemBuffer handling so we can have multiple
loggers active at the same time.

Change 'date' field to timestamp, and use ISO notation to make it
the same as the other JSON outputs.

10 years agoeve-log: stats logging code cleanup.
Tom DeCanio [Tue, 4 Nov 2014 01:16:46 +0000 (17:16 -0800)] 
eve-log: stats logging code cleanup.

10 years agoeve-log: add JSON stats logging
Tom DeCanio [Tue, 4 Nov 2014 01:01:59 +0000 (17:01 -0800)] 
eve-log: add JSON stats logging

Support for counters in stats.log in eve output JSON stream.

10 years agocounters: pass per thread stats to output api
Victor Julien [Mon, 25 May 2015 18:53:17 +0000 (20:53 +0200)] 
counters: pass per thread stats to output api

As well as the global (merged) stats.

10 years agocounters: rename widely used pctmi var to sts (stats thread store)
Victor Julien [Mon, 25 May 2015 11:46:19 +0000 (13:46 +0200)] 
counters: rename widely used pctmi var to sts (stats thread store)

10 years agocounters: call global counters funcs
Victor Julien [Mon, 25 May 2015 09:42:41 +0000 (11:42 +0200)] 
counters: call global counters funcs

10 years agocounters: split API init
Victor Julien [Mon, 25 May 2015 09:40:42 +0000 (11:40 +0200)] 
counters: split API init

Split into early ctx initialization and post-config setup.

10 years agocounters: start using Stats prefix
Victor Julien [Sun, 24 May 2015 18:18:02 +0000 (20:18 +0200)] 
counters: start using Stats prefix

10 years agocounters: simplify and speedup counters sync
Victor Julien [Sun, 24 May 2015 16:38:39 +0000 (18:38 +0200)] 
counters: simplify and speedup counters sync

10 years agocounters: remove threadvars arg from SCPerfAddToClubbedTMTable
Victor Julien [Sun, 24 May 2015 16:32:58 +0000 (18:32 +0200)] 
counters: remove threadvars arg from SCPerfAddToClubbedTMTable

10 years agocounters: remove thread module name from counters API
Victor Julien [Sun, 24 May 2015 15:58:13 +0000 (17:58 +0200)] 
counters: remove thread module name from counters API

10 years agostream: make tcp.reassembly_memuse counter global
Victor Julien [Wed, 7 Jan 2015 22:00:52 +0000 (23:00 +0100)] 
stream: make tcp.reassembly_memuse counter global

Fixes bugs #632 and #1178

10 years agocounters: global counters registration
Victor Julien [Sun, 24 May 2015 15:23:48 +0000 (17:23 +0200)] 
counters: global counters registration

10 years agoFix harmless typo in IPOnlyCIDRItemNew's SCReturnPtr use
Victor Julien [Wed, 7 Jan 2015 18:57:18 +0000 (19:57 +0100)] 
Fix harmless typo in IPOnlyCIDRItemNew's SCReturnPtr use

10 years agocounters: remove unused description
Victor Julien [Sun, 24 May 2015 12:04:45 +0000 (14:04 +0200)] 
counters: remove unused description

10 years agocounters: merge counters from threads for output
Victor Julien [Sun, 24 May 2015 07:04:04 +0000 (09:04 +0200)] 
counters: merge counters from threads for output

Merge counters so the table contains combined values from counters
from each thread.

Use global counter id's, track them in a hash.

Rename SCPCAElem members

Fix and improve average counters

10 years agocounters: remove unused public API calls and make them private
Victor Julien [Sat, 23 May 2015 12:16:21 +0000 (14:16 +0200)] 
counters: remove unused public API calls and make them private

10 years agocounters: make SCPerfSetupPrivate a function
Victor Julien [Sat, 23 May 2015 11:41:49 +0000 (13:41 +0200)] 
counters: make SCPerfSetupPrivate a function

10 years agocounters: minor cleanups
Victor Julien [Sat, 23 May 2015 11:27:41 +0000 (13:27 +0200)] 
counters: minor cleanups

10 years agocounters: introduce SCPerfSetupPrivate for thread setup
Victor Julien [Sat, 23 May 2015 11:24:08 +0000 (13:24 +0200)] 
counters: introduce SCPerfSetupPrivate for thread setup

10 years agocounters: make threadvars::perf_private_ctx static
Victor Julien [Sat, 23 May 2015 10:56:16 +0000 (12:56 +0200)] 
counters: make threadvars::perf_private_ctx static

Update SCPerfGetAllCountersArray and add a UT workaround.

10 years agocounters: SCPerfGetLocalCounterValue cleanup
Victor Julien [Sat, 23 May 2015 10:28:54 +0000 (12:28 +0200)] 
counters: SCPerfGetLocalCounterValue cleanup

Return u64, update arguments.

10 years agocounters: remove references to SCPerfCounterAddDouble
Victor Julien [Sat, 23 May 2015 10:15:10 +0000 (12:15 +0200)] 
counters: remove references to SCPerfCounterAddDouble

They were all in comments anyway.

10 years agocounters: make increment call take threadvars
Victor Julien [Fri, 22 May 2015 22:44:45 +0000 (00:44 +0200)] 
counters: make increment call take threadvars

This hides the implementation from the caller.

10 years agocounters: threadvars s/sc_perf_pca/perf_private_ctx/g
Victor Julien [Fri, 22 May 2015 18:56:09 +0000 (20:56 +0200)] 
counters: threadvars s/sc_perf_pca/perf_private_ctx/g

10 years agocounters: rename threadvars public counters
Victor Julien [Fri, 22 May 2015 17:59:35 +0000 (19:59 +0200)] 
counters: rename threadvars public counters

10 years agocounters: s/SCPerfContext/SCPerfPublicContext/g
Victor Julien [Fri, 22 May 2015 15:04:17 +0000 (17:04 +0200)] 
counters: s/SCPerfContext/SCPerfPublicContext/g

10 years agocounters: s/SCPerfCounterArray/SCPerfPrivateContext/g
Victor Julien [Fri, 22 May 2015 14:59:07 +0000 (16:59 +0200)] 
counters: s/SCPerfCounterArray/SCPerfPrivateContext/g

Goal is to make it's purpose clear.

10 years agocounters: minor cleanups
Victor Julien [Fri, 22 May 2015 12:16:10 +0000 (14:16 +0200)] 
counters: minor cleanups

10 years agosuri-graphite: add ouput to file option 1502/head
Eric Leblond [Wed, 20 May 2015 19:45:25 +0000 (21:45 +0200)] 
suri-graphite: add ouput to file option

The --ooutput option allows to write the stats to a file given as
argument the format used is JSON for easy parsing.

10 years agosuri-graphite: add daemonization capability
Eric Leblond [Sun, 17 May 2015 17:02:37 +0000 (19:02 +0200)] 
suri-graphite: add daemonization capability

You can now use -d or --daemon to daemonize the process.

10 years agosuri-graphite: fix port option
Eric Leblond [Sun, 17 May 2015 16:57:48 +0000 (18:57 +0200)] 
suri-graphite: fix port option

If port is specified on command line we need to convert it as an
integer before using it as argument to connect.

10 years agologfile: rename ALERT_ types to LOGFILE_TYPE_
Victor Julien [Fri, 22 May 2015 12:23:18 +0000 (14:23 +0200)] 
logfile: rename ALERT_ types to LOGFILE_TYPE_

10 years agooutput-json: suppress global variable
Eric Leblond [Wed, 20 May 2015 11:40:01 +0000 (13:40 +0200)] 
output-json: suppress global variable

It uses the new type field in the LogFileCtx instead.

This fixes the problem of not being able to use two eve-json
instance with different logging methods.

10 years agolog file: add type flag
Eric Leblond [Wed, 20 May 2015 11:38:10 +0000 (13:38 +0200)] 
log file: add type flag

It will be used to store if the file is syslog or a real file.

10 years agosuricata.yaml: fix the name of EVE module
Eric Leblond [Sat, 7 Feb 2015 10:36:37 +0000 (11:36 +0100)] 
suricata.yaml: fix the name of EVE module

It is netflow and not newflow.

10 years agooutput-json: fix type of data parameter
Eric Leblond [Sat, 7 Feb 2015 00:58:28 +0000 (01:58 +0100)] 
output-json: fix type of data parameter

The cast of data to AlertJsonThread was not correct as the real
type of the void pointer is a OutputJsonCtx. This was working by
luck because they both have a file_ctx as first element.

10 years agoFeature #1440: support wildcards in rule filenames 1501/head
Alexander Gozman [Wed, 13 May 2015 18:18:43 +0000 (21:18 +0300)] 
Feature #1440: support wildcards in rule filenames

10 years agoFix rcode parsing, as noticed by Coverity.
David Cannings [Mon, 11 May 2015 20:51:38 +0000 (21:51 +0100)] 
Fix rcode parsing, as noticed by Coverity.

Without support for OPT RR from RFC6891 (Extension mechanisms for DNS)
values of RCODE above 15 are not possible.  Remove dead code which will
never match.

10 years agoconf - process includes even if not at root node.
Jason Ish [Mon, 11 May 2015 22:50:19 +0000 (16:50 -0600)] 
conf - process includes even if not at root node.

10 years agoradix-tree - prevent out of bounds array access
Jason Ish [Mon, 11 May 2015 16:20:25 +0000 (10:20 -0600)] 
radix-tree - prevent out of bounds array access

An IPv6 entry specified before an IPv4 entry on the host-os-policy
table can cause the stream byte array to be access one byte after
the end of the allocated memory at util-radix-tree.c:578.

10 years agoBug 1281 - Add tests for rule content of lengths > 255.
Jason Ish [Fri, 2 Jan 2015 21:30:30 +0000 (15:30 -0600)] 
Bug 1281 - Add tests for rule content of lengths > 255.

10 years agoBug 1281 - Accept rule content with lengths greater than 255.
Jason Ish [Mon, 27 Oct 2014 17:36:26 +0000 (11:36 -0600)] 
Bug 1281 - Accept rule content with lengths greater than 255.

10 years agoalert-json: fix stream logging for IPS mode 1489/head
Victor Julien [Tue, 19 May 2015 13:54:41 +0000 (15:54 +0200)] 
alert-json: fix stream logging for IPS mode

Switch direction in IPS mode.

10 years agothreads: add untimed control cond call
Victor Julien [Mon, 18 May 2015 16:05:11 +0000 (18:05 +0200)] 
threads: add untimed control cond call

The control conditions so far could only do timed waits, not normal
waits.

10 years agodetect: minor cleanups 1487/head
Victor Julien [Wed, 13 May 2015 12:26:13 +0000 (14:26 +0200)] 
detect: minor cleanups

10 years agoparsing: s/strtok/strtok_r/g
Victor Julien [Wed, 13 May 2015 12:25:49 +0000 (14:25 +0200)] 
parsing: s/strtok/strtok_r/g

Remove all strtok uses and replace them by strtok_r.

Do the same for Windows builds. Cygwin builds fine with strtok_r.

Add strtok to banned function list.

10 years agothreading: explain purpose of threadvars mucond
Victor Julien [Thu, 14 May 2015 08:38:58 +0000 (10:38 +0200)] 
threading: explain purpose of threadvars mucond

10 years agoflow: don't hold tv_root_lock longer than needed
Victor Julien [Thu, 14 May 2015 08:38:10 +0000 (10:38 +0200)] 
flow: don't hold tv_root_lock longer than needed

Don't hold it longer than needed in shutting down.

10 years agothreading: remove unused cmd thread create func
Victor Julien [Thu, 14 May 2015 08:17:16 +0000 (10:17 +0200)] 
threading: remove unused cmd thread create func

10 years agounix-manager: convert to thread module
Victor Julien [Wed, 13 May 2015 14:52:11 +0000 (16:52 +0200)] 
unix-manager: convert to thread module

Sync command thread for unix manager with other managers and make
it a full thread module.

10 years agoreference/classification: call global init for unittests 1484/head
Victor Julien [Wed, 13 May 2015 08:21:20 +0000 (10:21 +0200)] 
reference/classification: call global init for unittests

10 years agoreference: update pcre globals use
Victor Julien [Wed, 13 May 2015 07:53:49 +0000 (09:53 +0200)] 
reference: update pcre globals use

Don't update globals each time we parse, but instead do it once at
startup.

10 years agoclassification: update pcre globals use
Victor Julien [Wed, 13 May 2015 07:37:39 +0000 (09:37 +0200)] 
classification: update pcre globals use

Don't update globals each time we parse, but instead do it once at
startup.