]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Fri, 3 Jun 2016 08:32:43 +0000 (10:32 +0200)]
affinity: rename detect-cpu-set to worker-cpu-set
Add fallback for existing configs.
Victor Julien [Fri, 3 Jun 2016 08:24:03 +0000 (10:24 +0200)]
affinity: improve suricata.yaml doc
Victor Julien [Fri, 3 Jun 2016 08:01:28 +0000 (10:01 +0200)]
affinity: remove unused settings
These were never referenced to in the code so they can be removed.
Add bypass to config parser in case the settings are still in old
yamls.
Victor Julien [Fri, 3 Jun 2016 07:55:44 +0000 (09:55 +0200)]
affinity: type cleanup
Victor Julien [Fri, 3 Jun 2016 07:45:23 +0000 (09:45 +0200)]
output: reduce verbosity on info level
Victor Julien [Fri, 3 Jun 2016 07:33:12 +0000 (09:33 +0200)]
netmap: don't check for offloading twice
Victor Julien [Fri, 3 Jun 2016 07:32:37 +0000 (09:32 +0200)]
netmap: output cleanup
Victor Julien [Sat, 11 Jul 2015 21:14:14 +0000 (23:14 +0200)]
output: introduce config and perf output levels
Goal is to reduce info output
Victor Julien [Sat, 11 Jul 2015 21:22:37 +0000 (23:22 +0200)]
output: improve notice and warning/error color handling
Victor Julien [Thu, 2 Jun 2016 08:06:38 +0000 (10:06 +0200)]
yaml: profiling 'json' depend on jansson availability
Victor Julien [Thu, 2 Jun 2016 06:06:07 +0000 (08:06 +0200)]
profiling: fix minor compiler warning
Victor Julien [Thu, 2 Jun 2016 08:49:35 +0000 (10:49 +0200)]
netmap: get offloading settings and warn if needed
Add FreeBSD lookup function and use the existing code on Linux.
Victor Julien [Thu, 2 Jun 2016 09:01:29 +0000 (11:01 +0200)]
netmap: get correct RSS queues on Linux as well
Victor Julien [Thu, 2 Jun 2016 06:09:12 +0000 (08:09 +0200)]
netmap: reduce verbosity at startup
Victor Julien [Thu, 2 Jun 2016 04:53:32 +0000 (06:53 +0200)]
netmap: handle missing config with better defaults
Default to 'threads: auto' which uses RSS RX count when no config
has been created for a interface.
Victor Julien [Thu, 2 Jun 2016 04:41:50 +0000 (06:41 +0200)]
netmap: implement 'threads: auto'
Add until function for retrieving RSS RX count from netmap. Use the
RSS count to create the threads.
Victor Julien [Wed, 1 Jun 2016 18:08:47 +0000 (20:08 +0200)]
instance: use enum for runmode
Victor Julien [Wed, 1 Jun 2016 18:08:20 +0000 (20:08 +0200)]
instance: memset to 0 before use
Eric Leblond [Tue, 31 May 2016 13:55:31 +0000 (15:55 +0200)]
util-ioctcl: increase header size
Headers can contain VLAN or Qing so we need to increase the value
returned by GetIfaceMaxHWHeaderLength.
Andreas Herz [Tue, 31 May 2016 21:18:06 +0000 (23:18 +0200)]
suricata: fix double packet processing threads
With the additional ParseInterfacesList the packet processing threads
were doubled since the Interface was included twice unless the device
was passed via the commandline with af-packet=IF.
The additonal ParseInterfacesList isn't necessary so remove it again
Victor Julien [Tue, 31 May 2016 14:58:29 +0000 (16:58 +0200)]
ac-ks: don't allow use on big-endian
Victor Julien [Mon, 30 May 2016 16:01:02 +0000 (18:01 +0200)]
flow-worker: small cleanups
Victor Julien [Mon, 30 May 2016 15:55:27 +0000 (17:55 +0200)]
detect: make pattern matcher messages less verbose
Victor Julien [Mon, 30 May 2016 15:52:43 +0000 (17:52 +0200)]
yaml: replace ac-tile by ac-ks
Victor Julien [Tue, 31 May 2016 14:21:50 +0000 (16:21 +0200)]
yaml: remove conf_filename global
conf_filename was a global pointer to the filename of the yaml.
Move into SCInstance. This reduces it's scope and cleans up the code.
Victor Julien [Tue, 31 May 2016 12:41:31 +0000 (14:41 +0200)]
profiling: fix compilation if libjansson is missing
Victor Julien [Tue, 31 May 2016 12:22:00 +0000 (14:22 +0200)]
pfring: cleanup
Victor Julien [Tue, 31 May 2016 12:18:04 +0000 (14:18 +0200)]
pfring: improve profiling
Reset packet profiling after pfring_recv. The packet was taken from
the packet pool before this call. The packet will already have it's
start ticks initialized. To avoid including ticks while pfring_recv
waits for traffic, reset the ticks right after it.
Victor Julien [Tue, 31 May 2016 12:17:35 +0000 (14:17 +0200)]
profiling: allow packet profiling to be reset
Eric Leblond [Tue, 31 May 2016 09:21:31 +0000 (11:21 +0200)]
coverity: fix CID
1362014
Error handling was not correct regarding ring buffer memory
handling.
Victor Julien [Tue, 31 May 2016 11:44:16 +0000 (13:44 +0200)]
af-packet: use better defaults if config is missing
Victor Julien [Tue, 31 May 2016 06:57:07 +0000 (08:57 +0200)]
yaml: make eve log in yaml depend on libjansson
Victor Julien [Tue, 31 May 2016 06:51:57 +0000 (08:51 +0200)]
yaml: improve capture comments
Victor Julien [Tue, 31 May 2016 06:51:15 +0000 (08:51 +0200)]
yaml: move classification etc below the rules
Victor Julien [Tue, 31 May 2016 06:50:45 +0000 (08:50 +0200)]
yaml: new defaults for outputs
Enable eve.flow, disable plain http.log.
Victor Julien [Mon, 30 May 2016 19:32:17 +0000 (21:32 +0200)]
yaml: file logging at info level
Victor Julien [Mon, 30 May 2016 19:30:25 +0000 (21:30 +0200)]
yaml: improved defaults and misc cleanups
Victor Julien [Mon, 30 May 2016 19:21:20 +0000 (21:21 +0200)]
yaml: add performance tuning section
Victor Julien [Mon, 30 May 2016 19:10:44 +0000 (21:10 +0200)]
yaml: more reshuffling
Victor Julien [Mon, 30 May 2016 17:38:46 +0000 (19:38 +0200)]
yaml: create advancted sections
Sections for advancted detection settings and traffic tracking and
reconstruction.
Victor Julien [Mon, 30 May 2016 17:33:00 +0000 (19:33 +0200)]
yaml: add hw accel section, move cuda there
Victor Julien [Mon, 30 May 2016 17:30:33 +0000 (19:30 +0200)]
yaml: add netfilter section
Victor Julien [Mon, 30 May 2016 17:28:34 +0000 (19:28 +0200)]
yaml: move outputs to the logging step
Victor Julien [Mon, 30 May 2016 17:19:56 +0000 (19:19 +0200)]
yaml: introduce 'advanced settings'
Victor Julien [Mon, 30 May 2016 17:15:41 +0000 (19:15 +0200)]
yaml: move app layer up
Victor Julien [Mon, 30 May 2016 17:10:31 +0000 (19:10 +0200)]
yaml: move afpacket, pcap, pcap-file up
Victor Julien [Mon, 30 May 2016 17:02:17 +0000 (19:02 +0200)]
yaml: move logging up
Victor Julien [Mon, 30 May 2016 16:57:20 +0000 (18:57 +0200)]
yaml: move rules up in the file
Also disable decoder and stream events by default, as they are too noisy
in a untuned environment.
Victor Julien [Mon, 30 May 2016 16:53:52 +0000 (18:53 +0200)]
yaml: move vars to the top
Victor Julien [Tue, 31 May 2016 02:22:47 +0000 (04:22 +0200)]
logging: clean up at shutdown
Victor Julien [Sun, 29 May 2016 09:29:30 +0000 (11:29 +0200)]
flow worker: move UDP app-layer into main function
This way it's more clean what happens and we can profile it.
Victor Julien [Sun, 29 May 2016 08:40:46 +0000 (10:40 +0200)]
flow worker: profiling
Previously the detect and stream code lived in their own thread
modules. This meant profiling showed their cost as part of the
thread module profiling logic. Now that only the flow worker is
a thread module this no longer works.
This patch introduces profiling for the 3 current flow worker
steps: flow, stream, detect.
Victor Julien [Sat, 28 May 2016 07:21:05 +0000 (09:21 +0200)]
debug: fix compiler warnings
Victor Julien [Fri, 27 May 2016 14:46:03 +0000 (16:46 +0200)]
thread modules: remove unused id's
Victor Julien [Fri, 27 May 2016 14:39:14 +0000 (16:39 +0200)]
detect: no longer a thread module
Like stream, detect is now invoked directly by the FlowWorker.
Victor Julien [Fri, 27 May 2016 14:10:59 +0000 (16:10 +0200)]
stream-tcp: more cleanups
Victor Julien [Fri, 27 May 2016 14:02:06 +0000 (16:02 +0200)]
stream-tcp: no longer register as a thread module
Now that the FlowWorker handles the TCP Stream directly, having
the TCP engine as a thread module is no longer needed.
This patch removes the registration.
Victor Julien [Fri, 27 May 2016 12:54:36 +0000 (14:54 +0200)]
drmemory: broader suppressions for hyperscan
Victor Julien [Fri, 27 May 2016 10:14:16 +0000 (12:14 +0200)]
smtp: improve thread data use
The SMTP app layer used a thread local data structure for the mpm in
reply parsing, but it only used a pmq. The MpmThreadCtx was actually
global. Until now this wasn't really noticed because non of the mpm's
used the thread ctx.
Hyperscan does use it however.
This patch creates a new structure SMTPThreadCtx, which contains both
the pmq and the mpm thread ctx. It's passed directly to the reply
parsing function instead of storing a pointer to it in the SMTPState.
Additionally fix a small memory leak warning wrt the smtp global mpm
state.
Justin Viiret [Wed, 25 May 2016 01:47:24 +0000 (11:47 +1000)]
app-layer-smtp: free mpm contexts on shutdown
Adds a cleanup function for the SMTP parser that destroys the MPM
context and MPM thread context it uses.
Also marks smtp_mpm_thread_ctx static.
Justin Viiret [Mon, 23 May 2016 04:22:30 +0000 (14:22 +1000)]
detect-engine: log MPM/SPM matchers being used
Justin Viiret [Mon, 23 May 2016 00:46:53 +0000 (10:46 +1000)]
mpm: add "auto" default for mpm-algo
Setting mpm-algo to "auto" will use "hs" if Suricata was built against
Hyperscan, and "ac" otherwise (or "ac-tile" on Tilera platforms).
Justin Viiret [Mon, 23 May 2016 03:46:24 +0000 (13:46 +1000)]
app-layer-detect-proto: use mpm-algo
Use the matcher configured by the user rather than hard-coding MPM_AC.
Justin Viiret [Mon, 23 May 2016 03:42:05 +0000 (13:42 +1000)]
app-layer-detect-proto: pass mpm_ctx to DestroyCtx
The MPM DestroyCtx function accepts the MpmCtx, not the ctx pointer
inside it.
Justin Viiret [Mon, 23 May 2016 01:58:01 +0000 (11:58 +1000)]
detect-engine: adjust unit tests for hs mpm
The Hyperscan MPM does match deduplication internally (using
HS_FLAG_SINGLEMATCH) and only returns the number of unique matches,
unlike AC.
Justin Viiret [Mon, 23 May 2016 01:06:39 +0000 (11:06 +1000)]
app-layer-smtp: init mpm thread ctx after prepare
This allows the Hyperscan MPM to correctly allocate scratch.
Justin Viiret [Mon, 23 May 2016 03:57:50 +0000 (13:57 +1000)]
mpm-hs: make errors from hs_scan() fatal
Hyperscan will only return an error at scan time if the database or
scratch region are corrupted, which should provoke a fatal error.
Justin Viiret [Mon, 23 May 2016 04:06:00 +0000 (14:06 +1000)]
mpm-hs,spm-hs: don't call hs_scan() for zero bytes
Aleksey Katargin [Wed, 25 May 2016 04:45:07 +0000 (09:45 +0500)]
netmap: close sw ring before hw rings
Fix issue #1714
Jason Ish [Thu, 26 May 2016 17:44:19 +0000 (11:44 -0600)]
tls-json-log: register module as tls-json-log, not dns-json-log
Fixes issue:
https://redmine.openinfosecfoundation.org/issues/1792
where dns-json-log would not log any data.
Eric Leblond [Fri, 27 May 2016 07:16:02 +0000 (09:16 +0200)]
prscript: fix error handling
Last result was used as global result.
Victor Julien [Tue, 24 May 2016 14:57:16 +0000 (16:57 +0200)]
isdataat: remove unused code
Arturo Borrero Gonzalez [Mon, 23 May 2016 10:32:34 +0000 (12:32 +0200)]
src/: fix typo: receieved vs received
Reported by Debian's lintian tool.
Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Victor Julien [Sat, 21 May 2016 12:22:13 +0000 (14:22 +0200)]
flow worker: set up decoder thread vars
Victor Julien [Fri, 22 Apr 2016 10:57:41 +0000 (12:57 +0200)]
ac: allow use of 31bits of pid space instead of 16
Victor Julien [Wed, 23 Sep 2015 14:34:40 +0000 (16:34 +0200)]
dns: add support for sshfp records
Update parser to process the records.
Update json output to log it.
Victor Julien [Fri, 20 May 2016 16:45:16 +0000 (18:45 +0200)]
coverity: CID
1362011 : Control flow issues (DEADCODE)
Victor Julien [Fri, 20 May 2016 16:42:46 +0000 (18:42 +0200)]
coverity: CID
1362012 : Incorrect expression (EVALUATION_ORDER)
Victor Julien [Fri, 20 May 2016 16:40:45 +0000 (18:40 +0200)]
coverity CID
1362013 : Control flow issues (NESTING_INDENT_MISMATCH)
Victor Julien [Fri, 20 May 2016 08:41:45 +0000 (10:41 +0200)]
af-packet: CentOS6 build fixes
Eric Leblond [Tue, 26 Apr 2016 17:55:51 +0000 (19:55 +0200)]
af-packet: use time() instead of GetTime()
As we only use the second we don't need GetTime() which is slower
and get us milliseconds.
Eric Leblond [Tue, 26 Apr 2016 17:46:19 +0000 (19:46 +0200)]
af-packet: print errno on mmap error
Eric Leblond [Fri, 22 Apr 2016 17:50:10 +0000 (19:50 +0200)]
af-packet: fix some typos in yaml
Eric Leblond [Fri, 22 Apr 2016 22:30:39 +0000 (00:30 +0200)]
af-packet: ask for hardware timestamp
Eric Leblond [Mon, 18 Apr 2016 12:24:08 +0000 (14:24 +0200)]
af-packet: make mmap options parsing conditional
Only parse them if mmap is activated.
Eric Leblond [Tue, 12 Apr 2016 09:46:43 +0000 (11:46 +0200)]
af-packet: reset stats at start of capture
We can loose packets during setup because we are reading nothing.
So it is logical to discard the counter at start of capture to
start from a clean state. This means we don't need to account the
drop at start. But the stats call that will reset the drop counts
will also return and reset the packets count. So we need to know
how many packets we really have. This is in fact the number of
packets coming from the stats call minus the number of discarded
packets and the drop count. All the other packets will have to be
read.
Eric Leblond [Fri, 1 Apr 2016 12:01:09 +0000 (14:01 +0200)]
af-packet: use mmap capture by default
Update the code to use mmap capture by default even in unset in
configuration file. mmap capture is now be turned off by using
explicitely 'use-mmap: no' in configuration.
Eric Leblond [Sat, 9 Apr 2016 14:07:23 +0000 (16:07 +0200)]
af-packet: detect availability of tpacket_v3
If TPACKET_V3 is not defined then it is not available and we should
not build anything related to tpacket_v3. This will allow us to
activate it dy default and fallback to v2 if not available.
Eric Leblond [Fri, 8 Apr 2016 15:05:55 +0000 (17:05 +0200)]
af-packet: add option to use memory locked mmap
Eric Leblond [Fri, 8 Apr 2016 13:29:18 +0000 (15:29 +0200)]
af-packet: configurable tpacket_v3 block timeout
Block timeout defines the maximum filling duration of a block.
Eric Leblond [Fri, 8 Apr 2016 08:03:52 +0000 (10:03 +0200)]
af-packet: configurable tpacket_v3 block size
It is used to set the block size in tpacket_v3. It will allow user
to tune the capture depending on his bandwidth.
Default block size value has been updated to a bigger value to
allow more efficient wlak on block.
Eric Leblond [Thu, 7 Apr 2016 19:58:48 +0000 (21:58 +0200)]
af-packet: put ring setup in a separate function
Eric Leblond [Fri, 1 Apr 2016 20:52:37 +0000 (22:52 +0200)]
af-packet: pack AFPPeer structure
Eric Leblond [Fri, 22 Apr 2016 20:15:53 +0000 (22:15 +0200)]
af-packet: AFPWalkBlock error handling
Error handling was not done. The implementation is making the
choice to consider we must detroy the socket in case of parsing
error. The same was done for tpacket_v2.
Eric Leblond [Fri, 1 Apr 2016 20:33:22 +0000 (22:33 +0200)]
af-packet: continuing cleaning and hole hunting
Suppress useless fields in AFPThreadVars. This patch also get rid
of bytes counter as it was only used to display a message at exit.
Information on livedev and on packet counters are enough.
Eric Leblond [Fri, 1 Apr 2016 17:46:41 +0000 (19:46 +0200)]
af-packet: cleaning and hole hunting
Reorder fields in AFPThreadVars and suppress some that were not
used elsewhere than in the initialization.
Eric Leblond [Mon, 28 Oct 2013 16:19:31 +0000 (17:19 +0100)]
af-packet: tpacket_v3 implementation
This patch adds a basic implementation of AF_PACKET tpacket v3. It
is basic in the way it is only working for 'workers' runnning mode.
If not in 'workers' mode there is a fallback to tpacket_v2. Feature
is activated via tpacket-v3 option in the af-packet section of
Suricata YAML.
Eric Leblond [Fri, 1 Apr 2016 11:52:24 +0000 (13:52 +0200)]
af-packet: remove useless code
No need for cooked header in the case of mmap capture.
Eric Leblond [Fri, 1 Apr 2016 06:48:31 +0000 (08:48 +0200)]
af-packet: micro optimization
Eric Leblond [Thu, 3 Jan 2013 19:29:54 +0000 (20:29 +0100)]
af-packet: avoid test for each packet