]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
8 years agodnp3: dynamic buffers/lists
Victor Julien [Sat, 10 Dec 2016 13:04:50 +0000 (14:04 +0100)] 
dnp3: dynamic buffers/lists

8 years agotls: dynamic buffers
Victor Julien [Sat, 10 Dec 2016 10:36:06 +0000 (11:36 +0100)] 
tls: dynamic buffers

8 years agodns: use dynamic buffers
Victor Julien [Sat, 10 Dec 2016 09:49:51 +0000 (10:49 +0100)] 
dns: use dynamic buffers

8 years agodetect-parse: content modifier cleanup
Victor Julien [Fri, 9 Dec 2016 18:01:01 +0000 (19:01 +0100)] 
detect-parse: content modifier cleanup

8 years agohttp_raw_uri: dynamic buffer
Victor Julien [Fri, 9 Dec 2016 17:29:44 +0000 (18:29 +0100)] 
http_raw_uri: dynamic buffer

8 years agohttp_client_body: dynamic buffer
Victor Julien [Fri, 9 Dec 2016 17:09:48 +0000 (18:09 +0100)] 
http_client_body: dynamic buffer

8 years agohttp_header / http_raw_header: dynamic buffers
Victor Julien [Fri, 9 Dec 2016 14:27:51 +0000 (15:27 +0100)] 
http_header / http_raw_header: dynamic buffers

8 years agohttp_stat_msg: dynamic buffer
Victor Julien [Fri, 9 Dec 2016 13:46:05 +0000 (14:46 +0100)] 
http_stat_msg: dynamic buffer

8 years agohttp_stat_code: dynamic buffer
Victor Julien [Fri, 9 Dec 2016 13:00:48 +0000 (14:00 +0100)] 
http_stat_code: dynamic buffer

8 years agohttp_raw_host: dynamic buffer
Victor Julien [Fri, 9 Dec 2016 12:47:14 +0000 (13:47 +0100)] 
http_raw_host: dynamic buffer

8 years agohttp_host: dynamic buffer
Victor Julien [Fri, 9 Dec 2016 11:07:03 +0000 (12:07 +0100)] 
http_host: dynamic buffer

8 years agohttp_cookie: dynamic buffer
Victor Julien [Thu, 8 Dec 2016 10:40:08 +0000 (11:40 +0100)] 
http_cookie: dynamic buffer

8 years agohttp_user_agent: dynamic buffer
Victor Julien [Thu, 8 Dec 2016 10:05:51 +0000 (11:05 +0100)] 
http_user_agent: dynamic buffer

8 years agohttp_response_line: dynamic buffer
Victor Julien [Thu, 8 Dec 2016 09:33:15 +0000 (10:33 +0100)] 
http_response_line: dynamic buffer

8 years agohttp_uri: dynamic buffer
Victor Julien [Thu, 8 Dec 2016 08:19:34 +0000 (09:19 +0100)] 
http_uri: dynamic buffer

Clean up tests

8 years agohttp_method: make list dynamic
Victor Julien [Wed, 7 Dec 2016 17:02:37 +0000 (18:02 +0100)] 
http_method: make list dynamic

8 years agofile_data: dynamic buffer
Victor Julien [Wed, 14 Dec 2016 10:42:58 +0000 (11:42 +0100)] 
file_data: dynamic buffer

8 years agohttp_request_line: dynamic buffer
Victor Julien [Mon, 17 Oct 2016 22:50:26 +0000 (00:50 +0200)] 
http_request_line: dynamic buffer

8 years agodetect: remove hardcoded sm_list logic from setup
Victor Julien [Wed, 14 Dec 2016 11:39:13 +0000 (12:39 +0100)] 
detect: remove hardcoded sm_list logic from setup

Introduce utility functions to aid this.

8 years agodetect: buffer type API
Victor Julien [Wed, 14 Dec 2016 11:38:58 +0000 (12:38 +0100)] 
detect: buffer type API

To replace the hardcoded SigMatch list id's, use this API to register
and query lists by name.

Also allow for registering descriptions and whether mpm is supported.

Registration is only allowed at startup.

8 years agodetect: inspect engine setup cleanup
Victor Julien [Mon, 17 Oct 2016 22:42:26 +0000 (00:42 +0200)] 
detect: inspect engine setup cleanup

8 years agodetect: dce test fixes and improvements
Victor Julien [Sun, 16 Oct 2016 09:02:50 +0000 (11:02 +0200)] 
detect: dce test fixes and improvements

8 years agodetect-csum: redo tests
Victor Julien [Sun, 16 Oct 2016 08:44:33 +0000 (10:44 +0200)] 
detect-csum: redo tests

8 years agodetect: move init only Signature members to init_data
Victor Julien [Mon, 17 Oct 2016 14:54:40 +0000 (16:54 +0200)] 
detect: move init only Signature members to init_data

8 years agodetect: shrink Signature::sm_arrays
Victor Julien [Mon, 17 Oct 2016 14:08:02 +0000 (16:08 +0200)] 
detect: shrink Signature::sm_arrays

Signature::sm_arrays now only contains 'built-in' lists, and so is
sized appropriately.

8 years agodetect: reorganize id's in prep of dynamic lists
Victor Julien [Mon, 17 Oct 2016 12:17:55 +0000 (14:17 +0200)] 
detect: reorganize id's in prep of dynamic lists

8 years agothreshold: fix and redo tests
Victor Julien [Sun, 16 Oct 2016 19:12:32 +0000 (21:12 +0200)] 
threshold: fix and redo tests

8 years agodetect: improve memory handling & comments
Victor Julien [Sun, 16 Oct 2016 19:29:34 +0000 (21:29 +0200)] 
detect: improve memory handling & comments

8 years agodetect: get rid of Signature::sm_lists
Victor Julien [Sun, 16 Oct 2016 13:30:22 +0000 (15:30 +0200)] 
detect: get rid of Signature::sm_lists

Instead use the lists in init_data during setup and the SigMatchData
arrays during runtime.

8 years agodetect: use detect list passed to generic funcs
Victor Julien [Sat, 15 Oct 2016 22:07:48 +0000 (00:07 +0200)] 
detect: use detect list passed to generic funcs

Until now the GenericList users used hardcoded list id's.

8 years agodetect: pass SigMatchData to inspect functions
Victor Julien [Sat, 15 Oct 2016 20:37:07 +0000 (22:37 +0200)] 
detect: pass SigMatchData to inspect functions

8 years agodetect: template list in engine
Victor Julien [Sat, 15 Oct 2016 17:26:48 +0000 (19:26 +0200)] 
detect: template list in engine

8 years agodetect: enip/cip list in engine
Victor Julien [Sat, 15 Oct 2016 17:24:35 +0000 (19:24 +0200)] 
detect: enip/cip list in engine

8 years agodetect: modbus list in engine
Victor Julien [Sat, 15 Oct 2016 17:20:31 +0000 (19:20 +0200)] 
detect: modbus list in engine

8 years agodetect: file list in engine
Victor Julien [Sat, 15 Oct 2016 17:11:18 +0000 (19:11 +0200)] 
detect: file list in engine

8 years agodetect: app-event list in engine
Victor Julien [Sat, 15 Oct 2016 16:54:02 +0000 (18:54 +0200)] 
detect: app-event list in engine

8 years agodetect: dns & tls lists in engine
Victor Julien [Sat, 15 Oct 2016 16:47:42 +0000 (18:47 +0200)] 
detect: dns & tls lists in engine

8 years agodetect: http lists in engine
Victor Julien [Sat, 15 Oct 2016 12:57:39 +0000 (14:57 +0200)] 
detect: http lists in engine

8 years agodetect-engine: memory handling of sm_lists
Victor Julien [Sat, 15 Oct 2016 16:15:17 +0000 (18:15 +0200)] 
detect-engine: memory handling of sm_lists

For lists that are registered multiple times, like http_header and
http_cookie, making the engines owner of the lists is complicated.
Multiple engines in a sig may be pointing to the same list. To
address this the 'free' code needs to be extra careful about not
double freeing, so it takes an approach to first fill an array
of the to-free pointers before freeing them.

8 years agodetect: when freeing sig also see sm in inspect engine
Victor Julien [Sat, 15 Oct 2016 14:26:37 +0000 (16:26 +0200)] 
detect: when freeing sig also see sm in inspect engine

8 years agodetect: add SigMatch arg to inspect functions
Victor Julien [Sat, 15 Oct 2016 12:10:23 +0000 (14:10 +0200)] 
detect: add SigMatch arg to inspect functions

8 years agodetect: use InspectEngineFuncPtr in inspect engines
Victor Julien [Sat, 15 Oct 2016 10:09:47 +0000 (12:09 +0200)] 
detect: use InspectEngineFuncPtr in inspect engines

Replace explicit function pointer use by InspectEngineFuncPtr typedef

8 years agodetect: shrink inspect engine by using 'id' as state flag
Victor Julien [Sat, 15 Oct 2016 09:54:34 +0000 (11:54 +0200)] 
detect: shrink inspect engine by using 'id' as state flag

8 years agodetect: remove unused SIG_FLAG_INIT_PAYLOAD init_flag
Victor Julien [Mon, 17 Oct 2016 15:30:23 +0000 (17:30 +0200)] 
detect: remove unused SIG_FLAG_INIT_PAYLOAD init_flag

8 years agodetect alert/threshold/tag: sm_list -> sm_array
Victor Julien [Sun, 16 Oct 2016 09:29:23 +0000 (11:29 +0200)] 
detect alert/threshold/tag: sm_list -> sm_array

8 years agodetect: fix file_data / http_server_body tests
Victor Julien [Wed, 7 Dec 2016 10:33:50 +0000 (11:33 +0100)] 
detect: fix file_data / http_server_body tests

8 years agodetect file_data: improve error messages
Victor Julien [Wed, 7 Dec 2016 10:33:10 +0000 (11:33 +0100)] 
detect file_data: improve error messages

8 years agodetect-parse: set ipprotos earlier
Victor Julien [Wed, 7 Dec 2016 10:14:20 +0000 (11:14 +0100)] 
detect-parse: set ipprotos earlier

A high level proto like HTTP implies TCP. However this wasn't set
until after all the parsing was complete which means that keywords
couldn't test if the ipproto matched.

This patch populates the ipprotos right when the higher level proto
is parsed.

8 years agodetect: remove unused flags
Victor Julien [Thu, 6 Oct 2016 10:58:19 +0000 (12:58 +0200)] 
detect: remove unused flags

8 years agodetect: make setup/free/match funcs static where possible
Victor Julien [Thu, 6 Oct 2016 10:17:04 +0000 (12:17 +0200)] 
detect: make setup/free/match funcs static where possible

8 years agodetect: constify Signature/SigMatch use at runtime
Victor Julien [Thu, 6 Oct 2016 08:49:14 +0000 (10:49 +0200)] 
detect: constify Signature/SigMatch use at runtime

8 years agodetect: simplify SIG_FLAG_STATE_MATCH set logic
Victor Julien [Mon, 17 Oct 2016 22:41:17 +0000 (00:41 +0200)] 
detect: simplify SIG_FLAG_STATE_MATCH set logic

8 years agodetect: remove alproto from keyword registration
Victor Julien [Fri, 23 Dec 2016 13:24:44 +0000 (14:24 +0100)] 
detect: remove alproto from keyword registration

It was already marked as depricated and no longer in use anywhere.

8 years agoOpen 4.0 development branch
Victor Julien [Thu, 16 Feb 2017 09:35:19 +0000 (10:35 +0100)] 
Open 4.0 development branch

8 years agochangelog: update for 3.2.1 release suricata-3.2.1
Victor Julien [Wed, 15 Feb 2017 07:49:07 +0000 (08:49 +0100)] 
changelog: update for 3.2.1 release

8 years agodns: fix outputs with 0-len A/AAAA records
Victor Julien [Mon, 13 Feb 2017 09:39:26 +0000 (10:39 +0100)] 
dns: fix outputs with 0-len A/AAAA records

8 years agodns: fix out of bounds read
Victor Julien [Thu, 9 Feb 2017 14:40:30 +0000 (15:40 +0100)] 
dns: fix out of bounds read

On a zero size A or AAAA record, 4 or 16 bytes would still be
read.

Found with AFL+ASAN.

8 years agodefrag - take protocol into account during re-assembly
Jason Ish [Sun, 5 Feb 2017 13:57:54 +0000 (07:57 -0600)] 
defrag - take protocol into account during re-assembly

The IP protocol was not being used to match fragments with
their packets allowing a carefully constructed packet
with a different protocol to be matched, allowing re-assembly
to complete, creating a packet that would not be re-assembled
by the destination host.

8 years agoafl: add ethernet and erspan entry points 2552/head
Victor Julien [Sun, 12 Feb 2017 06:52:04 +0000 (07:52 +0100)] 
afl: add ethernet and erspan entry points

8 years agoafl: clean up commandline parsing
Victor Julien [Sat, 11 Feb 2017 09:47:38 +0000 (10:47 +0100)] 
afl: clean up commandline parsing

8 years agoafl: pass a packet queue to decoder calls
Victor Julien [Fri, 10 Feb 2017 18:58:27 +0000 (19:58 +0100)] 
afl: pass a packet queue to decoder calls

8 years agoafl: set the packet data so pktlen gets set
Jason Ish [Fri, 10 Feb 2017 17:21:57 +0000 (11:21 -0600)] 
afl: set the packet data so pktlen gets set

8 years agoafl: minimalistic script to start AFL fuzzers
Victor Julien [Thu, 9 Feb 2017 18:10:02 +0000 (19:10 +0100)] 
afl: minimalistic script to start AFL fuzzers

in suricata source dir:

mkdir afl
cd afl
bash ../scripts/afl/runafl.sh decoder-ipv4

8 years agoafl: util script to list crashed series
Victor Julien [Thu, 9 Feb 2017 17:34:20 +0000 (18:34 +0100)] 
afl: util script to list crashed series

8 years agoafl: improve packet fuzz testing
Victor Julien [Thu, 9 Feb 2017 17:22:18 +0000 (18:22 +0100)] 
afl: improve packet fuzz testing

Due to the use of AFL_LOOP and initialization/deinit outside of it,
part of the fuzzing relied on the global 'state' in flow and defrag.
Because of this crashes that were found could not be reproduced. The
saved crash input was only the last in the series.

This patch addresses that. It requires a new output directory 'dump'
where the packet fuzzers will store all their input. If the AFL_LOOP
fails the files will not be removed and this 'serie' can be read
again for reproducing the issue.

e.g.: AFL would work with:
--afl-decoder-ppp=@@

and after a crash is found the produced serie can be read with:
--afl-decoder-ppp-serie=1486656919-514163

The series have a timestamp as name and a suffix that controls the
order in which the files will be 'replayed' in Suricata.

8 years agoafl: add decoder ipv4 option
Victor Julien [Thu, 9 Feb 2017 08:45:54 +0000 (09:45 +0100)] 
afl: add decoder ipv4 option

8 years agompm-ac: fix integer overflow on allocation 2550/head
Sascha Steinbiss [Wed, 8 Feb 2017 11:39:06 +0000 (12:39 +0100)] 
mpm-ac: fix integer overflow on allocation

The size of a memory buffer to be allocated was kept in a signed int
instead of a size_t, leading to an overflow when large lists of long
and diverse patterns cause the amount of AC states to blow up (>2GB).
Fixes Redmine issues #1827 and #1843.

Signed-off-by: Sascha Steinbiss <sascha@steinbiss.name>
8 years agoalert: silence compiler type warning
Sascha Steinbiss [Wed, 8 Feb 2017 11:40:00 +0000 (12:40 +0100)] 
alert: silence compiler type warning

The `ts_ecr' and `ts_val' struct fields are integer types, not
pointers. This leads GCC 6.3.0 to complain about comparisons to
NULL.

Signed-off-by: Sascha Steinbiss <sascha@steinbiss.name>
8 years agodetect: don't run IP inspection on non-IP packets 2549/head
Victor Julien [Wed, 8 Feb 2017 12:55:34 +0000 (13:55 +0100)] 
detect: don't run IP inspection on non-IP packets

The code to get the rule group (sgh) would return the group for
IP proto 0 instead of nothing. This lead to certain types of rules
unintentionally matching (False Positive).

Since the packets weren't actually IP, the logged alert records
were missing the IP header.

Bug #2017.

8 years agoafl: fix ENIP, switch DNS to UDP and add --afl-dnstcp*
Victor Julien [Wed, 8 Feb 2017 08:20:54 +0000 (09:20 +0100)] 
afl: fix ENIP, switch DNS to UDP and add --afl-dnstcp*

8 years agoafl: with -Wshadow issues
Victor Julien [Wed, 8 Feb 2017 07:40:46 +0000 (08:40 +0100)] 
afl: with -Wshadow issues

8 years agoaf-packet: add VLAN header when needed in IPS mode
Eric Leblond [Tue, 1 Nov 2016 21:09:31 +0000 (22:09 +0100)] 
af-packet: add VLAN header when needed in IPS mode

When packet is coming from a real ethernet card, the kernel is
stripping the vlan header and delivering a modified packet so
we need to insert the VLAN header back before sending the packet
on the wire.

To do so, we pass an option to the raw socket to add a reserve
before the packet data. It will get Suricata some head room to
to move the ethernet addresses before there actual place and
and insert the VLAN header in the correct place.

We get VLAN info from the ring buffer as the call of AFPWrite is
always done in the release function so we still have access to the
memory.

8 years agodetect-tls-sni: add link to documentation 2534/head
Eric Leblond [Mon, 30 Jan 2017 19:25:41 +0000 (20:25 +0100)] 
detect-tls-sni: add link to documentation

8 years agodoc: document the tls_sni keyword
Eric Leblond [Mon, 30 Jan 2017 19:24:10 +0000 (20:24 +0100)] 
doc: document the tls_sni keyword

8 years agodetect-tls: add url field pointing to doc
Eric Leblond [Mon, 30 Jan 2017 19:13:04 +0000 (20:13 +0100)] 
detect-tls: add url field pointing to doc

8 years agodetect-xbits: set documentation URL
Eric Leblond [Mon, 30 Jan 2017 18:18:37 +0000 (19:18 +0100)] 
detect-xbits: set documentation URL

8 years agodns-log: log requests even when there is no response
Jason Ish [Tue, 31 Jan 2017 18:32:18 +0000 (12:32 -0600)] 
dns-log: log requests even when there is no response

The JSON logger had already been updated to handle
transactions without a response. Apply the same logic
to the older dns-log where a logger is registered
for each direction.

Fixes issue 2012.

8 years agoapp-layer-parsing: detect malformed input
Andreas Herz [Tue, 29 Nov 2016 21:10:56 +0000 (22:10 +0100)] 
app-layer-parsing: detect malformed input

If the app-layer-parsing has a very long content it exceeds the maximum
defined in "alproto_name". This adds a check for the too long content
before it will be passed to "strlcpy" and logs an error.

8 years agodetect: remove unused flow_locked hint
Victor Julien [Fri, 23 Dec 2016 13:59:11 +0000 (14:59 +0100)] 
detect: remove unused flow_locked hint

8 years agodetect: make tenant loading less verbose
Victor Julien [Fri, 23 Dec 2016 10:58:30 +0000 (11:58 +0100)] 
detect: make tenant loading less verbose

8 years agoprofiling: fix memory leaks
Victor Julien [Fri, 23 Dec 2016 10:08:11 +0000 (11:08 +0100)] 
profiling: fix memory leaks

8 years agodetect: use TLS_STATE_CERT_READY in cert inspect
Victor Julien [Wed, 21 Dec 2016 19:13:28 +0000 (20:13 +0100)] 
detect: use TLS_STATE_CERT_READY in cert inspect

8 years agotls: introduce 'cert ready' state
Victor Julien [Wed, 21 Dec 2016 19:10:57 +0000 (20:10 +0100)] 
tls: introduce 'cert ready' state

8 years agocommon: add BIT_U8 macro
Victor Julien [Fri, 23 Dec 2016 14:17:01 +0000 (15:17 +0100)] 
common: add BIT_U8 macro

8 years agompm/spm: check for SSSE3 and enable/disable HS 2524/head
Sascha Steinbiss [Fri, 20 Jan 2017 14:28:41 +0000 (15:28 +0100)] 
mpm/spm: check for SSSE3 and enable/disable HS

The new Hyperscan 4.4 API provides a function to check for SSSE3
presence at runtime. This allows us to fall back to non-Hyperscan
matchers on systems without SSSE3 even when the suricata executable
is built with Hyperscan support. Addresses Redmine issue #2010.

Signed-off-by: Sascha Steinbiss <sascha@steinbiss.name>
Tested-by: Arturo Borrero Gonzalez <arturo@debian.org>
8 years agostream: initialize stream segment pool from mtu
Victor Julien [Thu, 26 Jan 2017 17:05:11 +0000 (18:05 +0100)] 
stream: initialize stream segment pool from mtu

If segments section in the yaml is ommitted (default) or when the
pool size is set to 'from_mtu', the size of the pool will be MTU
minus 40. If the MTU couldn't be determined, it's assumed to be
1500, so the segment size for the bool will be 1460.

8 years agomtu: track max mtu for capture devices
Victor Julien [Fri, 27 Jan 2017 09:03:39 +0000 (10:03 +0100)] 
mtu: track max mtu for capture devices

8 years agoshutdown: remove pid file last
Victor Julien [Fri, 27 Jan 2017 09:15:59 +0000 (10:15 +0100)] 
shutdown: remove pid file last

8 years agostartup: clean up main loop
Victor Julien [Wed, 25 Jan 2017 09:13:46 +0000 (10:13 +0100)] 
startup: clean up main loop

8 years agounittests: clean up registration and startup
Victor Julien [Wed, 25 Jan 2017 08:51:15 +0000 (09:51 +0100)] 
unittests: clean up registration and startup

8 years agoshutdown: move global shutdown steps into func
Victor Julien [Wed, 25 Jan 2017 08:34:57 +0000 (09:34 +0100)] 
shutdown: move global shutdown steps into func

8 years agostartup/shutdown: cleanup and unify with unix mode
Victor Julien [Tue, 24 Jan 2017 11:27:35 +0000 (12:27 +0100)] 
startup/shutdown: cleanup and unify with unix mode

8 years agothreads: fix missed logging at shutdown 2518/head
Victor Julien [Thu, 26 Jan 2017 09:16:53 +0000 (10:16 +0100)] 
threads: fix missed logging at shutdown

At shutdown, all flows that still need work are handled by the flow
force reassembly logic. This means one or more flow end pseudo packets
are generated and pushed through the engine for final detection and
logging.

In some cases this would not work correctly. This was caused by the
flow timeout logic kicking in before all the 'live' packets were
processed. Before the flow timeout handling runs the receive threads
are disabled, however the engine did not wait for the in-flight
packets to be fully processed. In autofp mode, packets could still
be in the queue between receive thread(s) and flow worker(s).

This patch adds a new function that 'drains' all the packet threads
of any in-progress packets before moving on the flow timeout logic.

Bug #1946.

8 years agotemplate script: use bash and require ed 2516/head
Jason Ish [Thu, 19 Jan 2017 15:28:45 +0000 (09:28 -0600)] 
template script: use bash and require ed

For now these scripts only work in bash, and the "ed" program
is required.

8 years agotemplates: require the protocol name to start with a capital
Jason Ish [Fri, 18 Nov 2016 16:53:25 +0000 (10:53 -0600)] 
templates: require the protocol name to start with a capital

When running ./setup-app-layer.sh require the protocol name to
start with a capital letter so it looks somewhat like a proper
name. This will help give better function names.

For example:

   ./setup-app-layer.sh IRC
   ./setup-app-layer.sh Irc

will create function names starting with IRC or Irc. But we do
not want function names to start with "irc".

8 years agoconfigure: prevent combination of unittests and debug-validation
Andreas Herz [Thu, 19 Jan 2017 22:48:59 +0000 (23:48 +0100)] 
configure: prevent combination of unittests and debug-validation

8 years agodoc: add documentation for Lua SCFlowHasAlerts
Mats Klepsland [Fri, 13 Jan 2017 10:50:35 +0000 (11:50 +0100)] 
doc: add documentation for Lua SCFlowHasAlerts

8 years agooutput-json-flow: add has_alerts field
Mats Klepsland [Fri, 13 Jan 2017 10:46:59 +0000 (11:46 +0100)] 
output-json-flow: add has_alerts field

Add has_alerts field to flow eve-log to indicate if a flow has
any alerts or not.

8 years agolua: add SCFlowHasAlerts function
Mats Klepsland [Fri, 13 Jan 2017 10:08:55 +0000 (11:08 +0100)] 
lua: add SCFlowHasAlerts function

Add SCFlowHasAlerts() to check if a flow has alerts. Returns true
on alerts, false otherwise.

Example:

  has_alerts = SCFlowHasAlerts()
  if has_alerts then
    -- do something
  end

8 years agoflow: set flag to indicate that a flow has alerts
Mats Klepsland [Fri, 13 Jan 2017 10:03:55 +0000 (11:03 +0100)] 
flow: set flag to indicate that a flow has alerts

Set FLOW_HAS_ALERTS flag on the flow on alerts. Add FlowHasAlerts(..)
and FlowSetHasAlertsFlag(..) to check and set this flag.