]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Tue, 21 Jun 2016 15:07:15 +0000 (17:07 +0200)]
af-packet: minor cleanups
Victor Julien [Tue, 21 Jun 2016 14:43:53 +0000 (16:43 +0200)]
af-packet: test if fanout is supported before use
Older system may pretend they can support FANOUT but then fail to
work at runtime. CentOS6 is an example of this. It would fail to
start up with the default configuration with errors like:
[15770] 21/6/2016 -- 16:00:13 - (tm-threads.c:2168) <Notice> (TmThreadWaitOnThreadInit) -- all 4 packet processing threads, 4 management threads initialized, engine started.
[15785] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1907) <Error> (AFPCreateSocket) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Coudn't set fanout mode, error Protocol not available
[15785] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1337) <Error> (ReceiveAFPLoop) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Couldn't init AF_PACKET socket, fatal error
[15770] 21/6/2016 -- 16:00:13 - (suricata.c:2664) <Notice> (main) -- Signal Received. Stopping engine.
[15787] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1907) <Error> (AFPCreateSocket) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Coudn't set fanout mode, error Protocol not available
[15788] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1907) <Error> (AFPCreateSocket) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Coudn't set fanout mode, error Protocol not available
[15786] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1907) <Error> (AFPCreateSocket) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Coudn't set fanout mode, error Protocol not available
[15789] 21/6/2016 -- 16:00:13 - (flow-manager.c:693) <Perf> (FlowManager) -- 0 new flows, 0 established flows were timed out, 0 flows in closed state
[15787] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1337) <Error> (ReceiveAFPLoop) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Couldn't init AF_PACKET socket, fatal error
[15788] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1337) <Error> (ReceiveAFPLoop) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Couldn't init AF_PACKET socket, fatal error
[15786] 21/6/2016 -- 16:00:13 - (source-af-packet.c:1337) <Error> (ReceiveAFPLoop) -- [ERRCODE: SC_ERR_AFP_CREATE(190)] - Couldn't init AF_PACKET socket, fatal error
This patch adds a test that if run before the number of threads
is determined. If the test fails, only 1 thread is created.
Victor Julien [Tue, 21 Jun 2016 11:21:54 +0000 (13:21 +0200)]
netmap: fix coverity warning
1362789
** CID
1362789 : Null pointer dereferences (FORWARD_NULL)
/src/runmode-netmap.c: 247 in ParseNetmapConfig()
________________________________________________________________________________________________________
*** CID
1362789 : Null pointer dereferences (FORWARD_NULL)
/src/runmode-netmap.c: 247 in ParseNetmapConfig()
241 strlcpy(aconf->iface_name, iface_name, sizeof(aconf->iface_name));
242 SC_ATOMIC_INIT(aconf->ref);
243 (void) SC_ATOMIC_ADD(aconf->ref, 1);
244
245 /* Find initial node */
246 netmap_node = ConfGetNode("netmap");
>>> CID
1362789 : Null pointer dereferences (FORWARD_NULL)
>>> Comparing "netmap_node" to null implies that "netmap_node" might be null.
247 if (netmap_node == NULL) {
248 SCLogInfo("Unable to find netmap config using default value");
249 } else {
250 if_root = ConfFindDeviceConfig(netmap_node, aconf->iface_name);
251 if_default = ConfFindDeviceConfig(netmap_node, "default");
252 }
Andreas Herz [Tue, 14 Jun 2016 21:14:40 +0000 (23:14 +0200)]
util-threshold-config: parse suppress rules with spaces in ip list
This modified regex allows spaces witihn the ip list for supress rules
like [10.0.0.1, 10.0.0.2]
Jason Ish [Mon, 13 Jun 2016 18:44:28 +0000 (12:44 -0600)]
privs: add capability CAP_SYS_NICE.
Allows the setting of thread priorities after dropping privileges.
Victor Julien [Fri, 10 Jun 2016 07:56:23 +0000 (09:56 +0200)]
detect: reduce verbosity, don't warn on empty files
Victor Julien [Fri, 10 Jun 2016 07:31:30 +0000 (09:31 +0200)]
pfring: move output to 'Perf' level
Victor Julien [Mon, 13 Jun 2016 11:32:28 +0000 (13:32 +0200)]
offloading: work around missing TOE support
Victor Julien [Mon, 13 Jun 2016 10:55:29 +0000 (12:55 +0200)]
offloading: distinguish between csum and the rest
As AF_PACKET handles csum offloading don't check for this type of
offloading. Other methods like pcap and netmap do require it to be
turned off.
Improve disable command suggestion wording.
Victor Julien [Mon, 13 Jun 2016 10:36:27 +0000 (12:36 +0200)]
offloading: reduce verbosity
Victor Julien [Mon, 13 Jun 2016 10:33:51 +0000 (12:33 +0200)]
afpacket: update offloading warning
Victor Julien [Mon, 13 Jun 2016 08:16:33 +0000 (10:16 +0200)]
offloading: improve checks on FreeBSD
Move FreeBSD specific (but not netmap specific) checks from the netmap
code to the general ioctl wrapper code.
Warn from the check functions now, so callers no longer need to.
Victor Julien [Mon, 13 Jun 2016 06:59:26 +0000 (08:59 +0200)]
offloading: move linux specific into their own func
Victor Julien [Sun, 12 Jun 2016 08:37:28 +0000 (10:37 +0200)]
offloading: check for more offloading on Linux
Victor Julien [Sat, 11 Jun 2016 14:12:26 +0000 (16:12 +0200)]
netmap: fix enabling promisc mode on FreeBSD
In FreeBSD setting the IFF_PROMISC flag has no effect. Instead we
need to set the IFF_PPROMISC flag.
Victor Julien [Sat, 11 Jun 2016 11:30:16 +0000 (11:30 +0000)]
netmap: redo config parsing
Normally we parse the config per interface only. But to properly
setup the bridge, netmap also needs the config of it's peering
interface. Instead of using a complicated peering scheme like in
afpacket, simply parse the peers config too.
Victor Julien [Fri, 17 Jun 2016 13:51:07 +0000 (15:51 +0200)]
changelog: update for 3.1 and add missing 3.1rc1 tickets
Andreas Herz [Wed, 15 Jun 2016 21:44:34 +0000 (23:44 +0200)]
util-runmode: pass initdata to runmode workers for nfqueue
The VerdictNFQ was missing the initdata which results in a segfault
within CaptureStatsSetup. This commit adds the passing of the initdata.
Victor Julien [Fri, 17 Jun 2016 07:32:16 +0000 (09:32 +0200)]
afpacket: disable tpacket-v3 by default
It's still considered experimental at this point.
Victor Julien [Wed, 8 Jun 2016 14:58:55 +0000 (16:58 +0200)]
libnet: work around older libnet type difference
Older libnet 1.1.x have a non-const type for libnet_init's dev
argument.
Victor Julien [Wed, 8 Jun 2016 11:52:34 +0000 (13:52 +0200)]
pfring: no longer link against rt and numa libs
Victor Julien [Wed, 8 Jun 2016 06:57:29 +0000 (08:57 +0200)]
detect: get proper legacy custom values. Issue #1804
Victor Julien [Wed, 8 Jun 2016 06:17:13 +0000 (08:17 +0200)]
livedev: shorten devname at registration
Victor Julien [Tue, 7 Jun 2016 16:29:42 +0000 (18:29 +0200)]
afl: fix various --afl-* options
Victor Julien [Tue, 7 Jun 2016 12:56:13 +0000 (14:56 +0200)]
Update Changelog for 3.1RC1
Victor Julien [Mon, 30 May 2016 12:55:34 +0000 (14:55 +0200)]
http body: fix compression tests
Victor Julien [Thu, 9 Jul 2015 14:47:25 +0000 (16:47 +0200)]
http: set of response body decompress limit
This is a per personality setting.
Victor Julien [Wed, 8 Jul 2015 11:43:59 +0000 (13:43 +0200)]
unittest: minor cleanup
Victor Julien [Fri, 26 Feb 2016 13:00:00 +0000 (14:00 +0100)]
http: update compression mismatch test
Victor Julien [Thu, 31 Mar 2016 19:12:57 +0000 (21:12 +0200)]
configure: cleanup configure output
Don't present missing spatch as a warning. Remove verbose libnet
warnings as well.
Andreas Herz [Sat, 4 Jun 2016 22:48:38 +0000 (00:48 +0200)]
detect-filemagic: fix heap-use-after-free
This fixes the heap-use-after-free issue with sm being freed without
being removed from the signature (s) list. Move the protocol check for
rules with filemagic before the alloc and make the error log more
precise.
Victor Julien [Fri, 3 Jun 2016 10:38:08 +0000 (12:38 +0200)]
netmap: work around mtu error on iface+ settings
Victor Julien [Fri, 3 Jun 2016 10:28:09 +0000 (12:28 +0200)]
netmap: don't set more than 1 thread on sw ring
Victor Julien [Fri, 3 Jun 2016 10:27:47 +0000 (12:27 +0200)]
netmap: code cleanup
Victor Julien [Fri, 3 Jun 2016 10:25:14 +0000 (12:25 +0200)]
configure: don't set -march=native for powerpc
Victor Julien [Fri, 3 Jun 2016 08:53:46 +0000 (10:53 +0200)]
yaml: improve affinity defaults
Victor Julien [Fri, 3 Jun 2016 08:49:53 +0000 (10:49 +0200)]
affinity: small cleanups to output & code
Victor Julien [Fri, 3 Jun 2016 08:37:59 +0000 (10:37 +0200)]
affinity: rename detect -> worker set internall
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).