]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
6 years agoutil-ebpf: more useful error message
Eric Leblond [Tue, 4 Jun 2019 11:49:32 +0000 (13:49 +0200)] 
util-ebpf: more useful error message

At the time of the writing, libbpf output useful error message
on strdout only and errno is not really interesting. So let's
tell user to look at stdout.

6 years agoebpf: don't use nexthdr to build hash
Eric Leblond [Sat, 1 Jun 2019 15:04:40 +0000 (17:04 +0200)] 
ebpf: don't use nexthdr to build hash

As pointed by Victor Julien, it is not a good idea to use the
nexthdr value, as init key for the hash as it could contain some
other headers and can be changed for a session.

6 years agoutil-ebpf: improve code readability
Eric Leblond [Fri, 31 May 2019 11:20:34 +0000 (13:20 +0200)] 
util-ebpf: improve code readability

As pointed by Victor Julien, the pkts_cnt usage was quite confusing
so functions are now returning a bool.

6 years agoutil-ebpf: discard flow if no Flow storage
Eric Leblond [Fri, 31 May 2019 10:58:50 +0000 (12:58 +0200)] 
util-ebpf: discard flow if no Flow storage

6 years agodoc: document flow event_type
Eric Leblond [Tue, 28 May 2019 21:54:08 +0000 (23:54 +0200)] 
doc: document flow event_type

6 years agoutil-ebpf: fix ebpf bypass
Eric Leblond [Tue, 28 May 2019 21:10:53 +0000 (23:10 +0200)] 
util-ebpf: fix ebpf bypass

Fix endian order in eBPF bypass. It has to be updated after the
bypassed flows handling change.

6 years agobypass: fix wait time at exit
Eric Leblond [Tue, 28 May 2019 10:26:23 +0000 (12:26 +0200)] 
bypass: fix wait time at exit

The loop on bypassed flow maps can take a few seconds on heavily
loaded system causing Suricata to not honor a stop before a few
seconds.

This patch adds the code needed to detect the need to exit from
the check loop.

6 years agoaf-packet: fix use after free on config
Eric Leblond [Sun, 26 May 2019 21:44:03 +0000 (23:44 +0200)] 
af-packet: fix use after free on config

ASAN did find that afp config was used after free. This was in
fact done in the Flow bypass manager hence this patch.

6 years agobypass: allow bypass for packet without flow
Eric Leblond [Sat, 25 May 2019 14:04:03 +0000 (16:04 +0200)] 
bypass: allow bypass for packet without flow

For capture method that have their own flow structure (not maintained
by Suricata), it can make sense to bypass a packet even if there is
no Flow in Suricata.

For AF_PACKET it does not make sense as the eBPF map entry will
be destroyed as soon as it will be checked by the flow bypass
manager. Thus we shortcut the bypass function if ever no Flow is
attached to the packet.

This path also removes reference to Flow in the bypass functions
for AF_PACKET. It was not necessary and we possibly could benefit
of it if ever we change the bypass algorithm.

6 years agoebpf: fix bypass filter vlan
Eric Leblond [Sun, 19 May 2019 10:37:58 +0000 (12:37 +0200)] 
ebpf: fix bypass filter vlan

6 years agodoc: update ebpf doc following bypass_filter change
Eric Leblond [Fri, 17 May 2019 18:01:36 +0000 (20:01 +0200)] 
doc: update ebpf doc following bypass_filter change

6 years agoebpf: complete vlan support for ebpf bypass filter
Eric Leblond [Fri, 17 May 2019 17:55:39 +0000 (19:55 +0200)] 
ebpf: complete vlan support for ebpf bypass filter

6 years agodoc: update for latest xdp_filter.c change
Eric Leblond [Sun, 12 May 2019 07:52:51 +0000 (09:52 +0200)] 
doc: update for latest xdp_filter.c change

6 years agobypass: use flow storage for bypass counter
Eric Leblond [Sun, 24 Mar 2019 18:47:02 +0000 (19:47 +0100)] 
bypass: use flow storage for bypass counter

There is a synchronization issue occuring when a flow is
added to the eBPF bypass maps. The flow can have packets
in the ring buffer that have already passed the eBPF stage.
By consequences, they are not accounted in the eBPF counter
but are accounted by Suricata flow engine.

This was causing counters to be completely wrong. This code
fixes the issue by avoiding the counter change in invalid
case.

To avoid adding 4 64bits integers to the Flow structure for the
bypass accounting, we use instead a FlowStorage. This limits the
memory usage to the size of a pointer.

6 years agoebpf: add vlan tracking option to xdp_filter
Eric Leblond [Sat, 11 May 2019 09:43:59 +0000 (11:43 +0200)] 
ebpf: add vlan tracking option to xdp_filter

If vlan is not use for tracking in Suricata this result in vlan not
being used in the flow key in Suricata and we need to adjust that
in the XDP filter to avoid any problem.

6 years agoebpf: tls encrypted bypass in xdp_filter
Eric Leblond [Sat, 11 May 2019 09:14:23 +0000 (11:14 +0200)] 
ebpf: tls encrypted bypass in xdp_filter

Tests have shown that when we bypass encrypted traffic a non
neglicteable amount of encrypted  packets of the session are already in the
capture ring buffer. Result is that Suricata is doing unnecessary
work on these packets.

These packets can be identified via the first bytes of their payloads
so we can bypass them directly in the XDP code. This is done here
for application data packets on port 443 and for TLS 1.2.

6 years agoebpf: fix UDP bypass in xdp_filter
Eric Leblond [Sat, 11 May 2019 09:09:40 +0000 (11:09 +0200)] 
ebpf: fix UDP bypass in xdp_filter

6 years agoebpf: fix typo in xdp_filter.c comment
Eric Leblond [Tue, 23 Apr 2019 08:51:05 +0000 (10:51 +0200)] 
ebpf: fix typo in xdp_filter.c comment

6 years agobypass: generalize iface bypass stats
Eric Leblond [Tue, 23 Apr 2019 07:40:47 +0000 (09:40 +0200)] 
bypass: generalize iface bypass stats

Introduce functions in util-device.c to be able to manage the
flow bypassed count stats.

6 years agoebpf: add comment for some define in XDP filter
Eric Leblond [Sun, 21 Apr 2019 18:57:03 +0000 (20:57 +0200)] 
ebpf: add comment for some define in XDP filter

6 years agoebpf: remove useless var in xdp_filter
Eric Leblond [Sat, 23 Mar 2019 09:44:51 +0000 (10:44 +0100)] 
ebpf: remove useless var in xdp_filter

6 years agoutil-ebpf: change flow accounting logic
Eric Leblond [Sat, 23 Mar 2019 09:40:33 +0000 (10:40 +0100)] 
util-ebpf: change flow accounting logic

Update the flow counters during the life of a bypassed flow
instead of just accounting at the end of it.

6 years agoutil-ebpf: better error handling
Eric Leblond [Sun, 17 Mar 2019 20:11:25 +0000 (21:11 +0100)] 
util-ebpf: better error handling

6 years agoutil-ebpf: better error handling of map unlink
Eric Leblond [Sun, 17 Mar 2019 20:07:51 +0000 (21:07 +0100)] 
util-ebpf: better error handling of map unlink

6 years agoutil-ebpf: rename field 'unlink' to avoid confusion
Eric Leblond [Sun, 17 Mar 2019 20:00:50 +0000 (21:00 +0100)] 
util-ebpf: rename field 'unlink' to avoid confusion

6 years agoaf-packet: improve warning message
Eric Leblond [Sun, 17 Mar 2019 19:58:42 +0000 (20:58 +0100)] 
af-packet: improve warning message

6 years agoaf-packet: rename option 'no-percpu-hash'
Eric Leblond [Sun, 17 Mar 2019 19:50:29 +0000 (20:50 +0100)] 
af-packet: rename option 'no-percpu-hash'

6 years agoaf-packet: warn when XDP is not supported
Eric Leblond [Sun, 17 Mar 2019 19:34:52 +0000 (20:34 +0100)] 
af-packet: warn when XDP is not supported

6 years agoaf-packet: remove question from code
Eric Leblond [Sun, 17 Mar 2019 19:32:39 +0000 (20:32 +0100)] 
af-packet: remove question from code

6 years agoflow-bypass: rename variables
Eric Leblond [Sun, 17 Mar 2019 19:24:58 +0000 (20:24 +0100)] 
flow-bypass: rename variables

6 years agoflow-hash: doc and code cleaning
Eric Leblond [Sun, 17 Mar 2019 19:22:55 +0000 (20:22 +0100)] 
flow-hash: doc and code cleaning

6 years agoflow-bypass: clock_gettime error handling
Eric Leblond [Sun, 17 Mar 2019 19:00:04 +0000 (20:00 +0100)] 
flow-bypass: clock_gettime error handling

Only reason clock_gettime could fail is a permission so let's
error and leave the flow bypass manager if it is the case.

Also let's suppress the error message if ever the error appear in
the middle of a run (which is unlikely).

6 years agoutil-ebpf: log level fixes and code cleaning
Eric Leblond [Sun, 17 Mar 2019 18:51:14 +0000 (19:51 +0100)] 
util-ebpf: log level fixes and code cleaning

6 years agoutil-ebpf: init code optimization
Eric Leblond [Sun, 17 Mar 2019 18:45:58 +0000 (19:45 +0100)] 
util-ebpf: init code optimization

6 years agoconfigure: libbpf path
Eric Leblond [Wed, 13 Mar 2019 08:01:04 +0000 (09:01 +0100)] 
configure: libbpf path

6 years agoebpf: reindent xdp_filter.c
Eric Leblond [Sun, 10 Mar 2019 19:47:06 +0000 (20:47 +0100)] 
ebpf: reindent xdp_filter.c

6 years agodoc: improve ebpf doc
Eric Leblond [Sun, 10 Mar 2019 15:58:25 +0000 (16:58 +0100)] 
doc: improve ebpf doc

Add example of bypass rules and explain clang dependency.

6 years agodoc: document netronome hardware bypass usage
Eric Leblond [Sat, 9 Mar 2019 23:01:39 +0000 (00:01 +0100)] 
doc: document netronome hardware bypass usage

6 years agoutil-ebpf: fix error reported by coccinelle check
Eric Leblond [Sun, 10 Mar 2019 10:53:22 +0000 (11:53 +0100)] 
util-ebpf: fix error reported by coccinelle check

Some allocation errors were not checked during init phase.

6 years agoaf-packet: add vlan_id in bypass key
Eric Leblond [Sat, 9 Mar 2019 20:47:40 +0000 (21:47 +0100)] 
af-packet: add vlan_id in bypass key

Bypassing on vlan was not supported due to the missing key.

6 years agoebpf: fix percpu hash handling
Eric Leblond [Sat, 9 Mar 2019 14:13:26 +0000 (15:13 +0100)] 
ebpf: fix percpu hash handling

An alignement issue was preventing the code to work properly.
We introduce macros taken from Linux source code sample to get
something that should work on the long term.

6 years agoflow-bypass: increase bypass timeout
Eric Leblond [Tue, 5 Mar 2019 23:16:33 +0000 (00:16 +0100)] 
flow-bypass: increase bypass timeout

This is needed as we did switch from counter maintained in kernel
to internal polling so we need a bigger value.

6 years agoflow-bypass: fix timeout of maps bypassed flows
Eric Leblond [Tue, 5 Mar 2019 22:54:36 +0000 (23:54 +0100)] 
flow-bypass: fix timeout of maps bypassed flows

The time is taken from the parameter and is checked against real
flow entries so we need a standard time.

6 years agoutil-ebpf: fix IPv6 deletion loop
Eric Leblond [Tue, 5 Mar 2019 22:28:26 +0000 (23:28 +0100)] 
util-ebpf: fix IPv6 deletion loop

6 years agoaf-packet: fix bypass for IPv6
Eric Leblond [Tue, 5 Mar 2019 22:12:12 +0000 (23:12 +0100)] 
af-packet: fix bypass for IPv6

6 years agoutil-ebpf: add message if key deletion fails
Eric Leblond [Tue, 5 Mar 2019 21:09:29 +0000 (22:09 +0100)] 
util-ebpf: add message if key deletion fails

6 years agoutil-ebpf: can't delete in place so update algo
Eric Leblond [Mon, 4 Mar 2019 23:44:11 +0000 (00:44 +0100)] 
util-ebpf: can't delete in place so update algo

6 years agoaf-packet: fix default in pinned maps name
Eric Leblond [Mon, 4 Mar 2019 22:34:04 +0000 (23:34 +0100)] 
af-packet: fix default in pinned maps name

6 years agoaf-packet: be sure to nullify option if not set
Eric Leblond [Mon, 4 Mar 2019 22:18:36 +0000 (23:18 +0100)] 
af-packet: be sure to nullify option if not set

6 years agoutil-ebpf: simplify function declarations
Eric Leblond [Mon, 4 Mar 2019 21:37:50 +0000 (22:37 +0100)] 
util-ebpf: simplify function declarations

6 years agoutil-ebpf: micro optimization
Eric Leblond [Mon, 4 Mar 2019 21:17:50 +0000 (22:17 +0100)] 
util-ebpf: micro optimization

6 years agoutil-ebpf: create flow from bypassed flows
Eric Leblond [Sun, 3 Mar 2019 23:11:36 +0000 (00:11 +0100)] 
util-ebpf: create flow from bypassed flows

6 years agoflow-hash: new function to get flow from flowkey
Eric Leblond [Sun, 3 Mar 2019 23:10:54 +0000 (00:10 +0100)] 
flow-hash: new function to get flow from flowkey

6 years agoebpf: make table iterator generic
Eric Leblond [Sun, 3 Mar 2019 20:06:53 +0000 (21:06 +0100)] 
ebpf: make table iterator generic

Also adds a basic skeleton for flow creation loop.

6 years agoaf-packet: bypass with init function
Eric Leblond [Sun, 3 Mar 2019 19:42:06 +0000 (20:42 +0100)] 
af-packet: bypass with init function

6 years agoebpf: fix indentation in xdp_filter
Eric Leblond [Sat, 2 Mar 2019 22:21:05 +0000 (23:21 +0100)] 
ebpf: fix indentation in xdp_filter

6 years agoutil-ebpf: fix iteration in flow timeout
Eric Leblond [Sat, 2 Mar 2019 21:26:12 +0000 (22:26 +0100)] 
util-ebpf: fix iteration in flow timeout

We were not setting the key using the correct item in map. Result
was deletion of wrong flow.

6 years agoebpf: set number of RSS queues to a power of 2
Eric Leblond [Mon, 25 Feb 2019 22:54:11 +0000 (23:54 +0100)] 
ebpf: set number of RSS queues to a power of 2

This is needed as netronome can not do a division (so can't do a modulo)
in hardware.

6 years agodoc: use github mirror to setup libbpf
Eric Leblond [Mon, 25 Feb 2019 21:11:27 +0000 (22:11 +0100)] 
doc: use github mirror to setup libbpf

6 years agoebpf: implement RSS load balancing in hardware mode
Eric Leblond [Mon, 25 Feb 2019 13:18:02 +0000 (14:18 +0100)] 
ebpf: implement RSS load balancing in hardware mode

6 years agoebpf: use atomic for counter in hw offload case
Eric Leblond [Mon, 25 Feb 2019 12:27:20 +0000 (13:27 +0100)] 
ebpf: use atomic for counter in hw offload case

6 years agoaf-packet: correctly set up hardware offload
Eric Leblond [Sun, 24 Feb 2019 22:57:04 +0000 (23:57 +0100)] 
af-packet: correctly set up hardware offload

6 years agoebpf: more conditional code for netronome support
Eric Leblond [Sun, 24 Feb 2019 22:51:04 +0000 (23:51 +0100)] 
ebpf: more conditional code for netronome support

6 years agoebpf: remove BPF_LL_OFF in nhoff offset
Eric Leblond [Thu, 14 Feb 2019 11:54:32 +0000 (12:54 +0100)] 
ebpf: remove BPF_LL_OFF in nhoff offset

It fixes invalid parsing in with recent kernels and does
not affect older kernels.

6 years agoaf-packet: fix loading of ebpf filter
Eric Leblond [Wed, 13 Feb 2019 15:11:53 +0000 (16:11 +0100)] 
af-packet: fix loading of ebpf filter

6 years agoebpf: sync header with upstream
Eric Leblond [Wed, 13 Feb 2019 14:40:37 +0000 (15:40 +0100)] 
ebpf: sync header with upstream

6 years agodoc: typo fixes on ebpf doc
Eric Leblond [Wed, 13 Feb 2019 08:10:02 +0000 (09:10 +0100)] 
doc: typo fixes on ebpf doc

6 years agoaf-packet: fix the start when XDP is pinned
Eric Leblond [Sun, 10 Feb 2019 22:31:32 +0000 (23:31 +0100)] 
af-packet: fix the start when XDP is pinned

6 years agoutil-ebpf: change return of pinned maps loading
Eric Leblond [Sun, 10 Feb 2019 22:30:00 +0000 (23:30 +0100)] 
util-ebpf: change return of pinned maps loading

The calling function needs to be able to see when this is a success
and XDP do not need to be reloaded.

6 years agodoc: document externally managed global switch
Eric Leblond [Sun, 20 Jan 2019 21:29:18 +0000 (22:29 +0100)] 
doc: document externally managed global switch

This is currently implemented as an exposed map and it seems
a good way to do it.

6 years agoutil-ebpf: conditional flow table loading
Eric Leblond [Sun, 20 Jan 2019 20:49:11 +0000 (21:49 +0100)] 
util-ebpf: conditional flow table loading

6 years agoebpf: implement global switch bypass
Eric Leblond [Sun, 20 Jan 2019 19:29:46 +0000 (20:29 +0100)] 
ebpf: implement global switch bypass

Add a switch to allow to bypass all traffic if the switch is on.
Concept is to use a persistant script and pinned maps, so an
external tool can be used to trigger global bypass in case Suricata
is dead.

6 years agoaf-packet: implement pinned-maps-name
Eric Leblond [Sun, 20 Jan 2019 18:53:09 +0000 (19:53 +0100)] 
af-packet: implement pinned-maps-name

6 years agoaf-packet: fix build when eBPF not built-in
Eric Leblond [Sat, 19 Jan 2019 16:33:46 +0000 (17:33 +0100)] 
af-packet: fix build when eBPF not built-in

6 years agoutil-ebpf: implement pinned maps loading
Eric Leblond [Sun, 9 Dec 2018 22:22:08 +0000 (23:22 +0100)] 
util-ebpf: implement pinned maps loading

Load flow tables at start if asked to.

6 years agoutil-ebpf: only unlink pinned maps in eBPF filter
Eric Leblond [Sun, 9 Dec 2018 20:11:27 +0000 (21:11 +0100)] 
util-ebpf: only unlink pinned maps in eBPF filter

6 years agoaf-packet: conditionaly remove XDP filter
Eric Leblond [Sun, 9 Dec 2018 19:34:28 +0000 (20:34 +0100)] 
af-packet: conditionaly remove XDP filter

Only remove the XDP filter if we are in XDP mode and not using the
pinned maps.

6 years agodoc: white space and typo fix
Eric Leblond [Sun, 9 Dec 2018 19:24:36 +0000 (20:24 +0100)] 
doc: white space and typo fix

6 years agoutil-ebpf: conditional pinning of maps
Eric Leblond [Sun, 9 Dec 2018 19:03:31 +0000 (20:03 +0100)] 
util-ebpf: conditional pinning of maps

Only pin maps if `pinned-maps` is set in the configuration. This
ensure backward compatibility.

6 years agodoc: more eBPF and XDP capabilities
Eric Leblond [Sun, 9 Dec 2018 12:08:53 +0000 (13:08 +0100)] 
doc: more eBPF and XDP capabilities

6 years agoutil-ebpf: fix loop on maps
Eric Leblond [Sat, 8 Dec 2018 07:21:44 +0000 (08:21 +0100)] 
util-ebpf: fix loop on maps

We were missing the last element of the map by working on previous
key instead of current key.

6 years agoutil-ebpf: suppress spaces at end of line
Eric Leblond [Fri, 7 Dec 2018 15:41:31 +0000 (16:41 +0100)] 
util-ebpf: suppress spaces at end of line

6 years agoebpf: add filter by maps on example filter
Eric Leblond [Thu, 29 Nov 2018 17:18:52 +0000 (18:18 +0100)] 
ebpf: add filter by maps on example filter

6 years agoutil-ebpf: pin the maps
Eric Leblond [Wed, 14 Nov 2018 21:14:49 +0000 (22:14 +0100)] 
util-ebpf: pin the maps

By pinning the maps we are creating a file in /sys/fs/bpf that can
be used by external program to access the map. This has multiple
benefits such as handling list from an external program.

The pinned maps could be persistent accross Suricata reload but
this can be complicated in term of handling everything in the life
of Suricata.

6 years agoebpf: document XDP iface redirect
Eric Leblond [Sun, 7 Oct 2018 18:46:45 +0000 (20:46 +0200)] 
ebpf: document XDP iface redirect

6 years agoebpf: reduce counter size to allow netronome offload
Eric Leblond [Sun, 7 Oct 2018 18:07:56 +0000 (20:07 +0200)] 
ebpf: reduce counter size to allow netronome offload

6 years agoebpf: add VLAN support to loadbalancing
Eric Leblond [Tue, 25 Sep 2018 11:13:36 +0000 (13:13 +0200)] 
ebpf: add VLAN support to loadbalancing

This patchs adds VLAN support to eBPF load balancing by doing a
parsing of VLAN headers.

6 years agoebpf: change the logic to avoid ktime usage
Eric Leblond [Fri, 25 May 2018 15:05:17 +0000 (17:05 +0200)] 
ebpf: change the logic to avoid ktime usage

Kernel time is not available (and/or costly) on NIC such as
Netronome so we update the logic to detect dead flows based on a
lack of update of packets counters. This way, the XDP filter will
be usable by network card.

This patch also updates the ebpf code to support per CPU and
regular mapping. Netronome is not supporting it and the structure
is using atomic for counter so the cost of simultaneous update
is really low.

This patch also updates the xdp_filter to be able to select if the
flow table is per CPU on shared. Second option will be used for
hardward offload. To deactivate the per cpu hash, you need to set
USE_PERCPU_HASH to 0.

This patch also adds an new option to af-packet named no-percpu-hash
If this option is set to yes then the Flow bypassed manager thread
will use one CPU instead of the number of cores. By doing that
we are able to handle the case where USE_PERCPU_HASH is unset (so
hardware offload for Netronome).

This patch also remove aligment indications in the eBPF filter. This
was not really needed and it seems it is causing problem with
some recent version of LLVM toolchain.

6 years agoflow-manager: no force reassembly on bypassed flow
Eric Leblond [Sat, 14 Jul 2018 20:37:03 +0000 (22:37 +0200)] 
flow-manager: no force reassembly on bypassed flow

When a bypassed flow is created we are forcing the reassembly so
we don't need to do it again when it timeout.

6 years agosuricata.yaml: fix path to ebpf and xdp doc
Eric Leblond [Thu, 12 Jul 2018 19:13:00 +0000 (21:13 +0200)] 
suricata.yaml: fix path to ebpf and xdp doc

6 years agodetect/content: Message for escaping backslash
Shivani Bhardwaj [Fri, 7 Jun 2019 14:12:58 +0000 (19:42 +0530)] 
detect/content: Message for escaping backslash

So far, if the rule loaded had a backslash character ("\") in its
content field, the rule will fail to load but without giving a
descriptive error message. This patch tells the user to escape the
troubling character.

Before
```
9409] 7/6/2019 -- 16:12:22 - (detect-engine-loader.c:184) <Error> (DetectLoadSigFile) -- [ERRCODE: SC_ERR_INVALID_SIGNATURE(39)] - error parsing signature "alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"Backslash needs escaping msg"; flow:established,to_server; content:"MyBackslash\here"; sid:86; rev:1; )" from file /var/lib/suricata/rules/myrule.rules at line 1
```

After
```
[9409] 7/6/2019 -- 16:12:22 - (detect-content.c:155) <Error> (DetectContentDataParse) -- [ERRCODE: SC_ERR_INVALID_SIGNATURE(39)] - '\' has to be escaped
[9409] 7/6/2019 -- 16:12:22 - (detect-engine-loader.c:184) <Error> (DetectLoadSigFile) -- [ERRCODE: SC_ERR_INVALID_SIGNATURE(39)] - error parsing signature "alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"Backslash needs escaping msg"; flow:established,to_server; content:"MyBackslash\here"; sid:86; rev:1; )" from file /var/lib/suricata/rules/myrule.rules at line 1
```

Closes redmine ticket #2626

6 years agodoc: convert fancy quotes to straight quotes
Andreas Herz [Fri, 31 May 2019 21:02:24 +0000 (23:02 +0200)] 
doc: convert fancy quotes to straight quotes

6 years agothreads: minor code cleanups
Victor Julien [Wed, 12 Jun 2019 07:57:02 +0000 (09:57 +0200)] 
threads: minor code cleanups

6 years agothreads: improve flow timeout loop
Victor Julien [Wed, 12 Jun 2019 07:56:26 +0000 (09:56 +0200)] 
threads: improve flow timeout loop

Improve thread safety and remove BUG_ON

6 years agostats: walk tv_root under lock
Victor Julien [Wed, 12 Jun 2019 05:45:38 +0000 (07:45 +0200)] 
stats: walk tv_root under lock

6 years agostats: more accurate time handling for wakeup thread
Victor Julien [Wed, 12 Jun 2019 05:34:21 +0000 (07:34 +0200)] 
stats: more accurate time handling for wakeup thread

6 years agostats: minor code cleanups
Victor Julien [Wed, 12 Jun 2019 05:33:17 +0000 (07:33 +0200)] 
stats: minor code cleanups

6 years agomake: Remove rust generated headers during clean 3947/head
Jeff Lucovsky [Sat, 15 Jun 2019 17:57:15 +0000 (13:57 -0400)] 
make: Remove rust generated headers during clean

6 years agoNew app layer event for invalid http request line 3935/head
Philippe Antoine [Tue, 5 Mar 2019 13:08:01 +0000 (14:08 +0100)] 
New app layer event for invalid http request line

Handles logs from libhtp even if case of error

6 years agosignature: error for rules with illegal port
Philippe Antoine [Thu, 6 Jun 2019 13:42:47 +0000 (15:42 +0200)] 
signature: error for rules with illegal port

Fixes #2080