]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
5 years agodataset: fix string length handling in hash 4337/head
Victor Julien [Wed, 30 Oct 2019 12:31:39 +0000 (13:31 +0100)] 
dataset: fix string length handling in hash

5 years agodataset: fix hash computation 4333/head
Eric Leblond [Tue, 29 Oct 2019 09:55:59 +0000 (10:55 +0100)] 
dataset: fix hash computation

5 years agonfq: clear memory of queue before using it 4321/head
Victor Julien [Fri, 18 Oct 2019 10:02:03 +0000 (12:02 +0200)] 
nfq: clear memory of queue before using it

Avoids using uninitialized memory. Show showed itself
in nonsense values in counters, and in nfq_handle_packet
errors that were likely the result of passing uninitialized
memory to the nfq API.

Bug 3263.
Bug 3120.

Fixes: b2a6c60dee83 ("source-nfq: increase maximum queues number to 65535")
5 years agonfq: micro optimization
Victor Julien [Fri, 18 Oct 2019 08:54:15 +0000 (10:54 +0200)] 
nfq: micro optimization

5 years agonfq: don't warn on 'handle_packet' error
Victor Julien [Fri, 18 Oct 2019 08:49:56 +0000 (10:49 +0200)] 
nfq: don't warn on 'handle_packet' error

NFQ can generate warnings/errors with a delay. After Suricata has
succesfully passed a verdict to the kernel, there are still things
that can go wrong for that verdict. This is then passed to the
queue through a netlink error message, which leads to nfq_handle_packet
returning an error code.

Suppress the warning. Also remove the errno/strerror use as
nfq_handle_packet does not set the errno.

Thanks to Florian Westphal.

Bug 3120.

5 years agonfq: code cleanups
Victor Julien [Fri, 18 Oct 2019 08:49:18 +0000 (10:49 +0200)] 
nfq: code cleanups

5 years agonfq: check for EAGAIN after recv() call in NFQRecvPkt()
Alexander Gozman [Tue, 3 Sep 2019 19:52:23 +0000 (22:52 +0300)] 
nfq: check for EAGAIN after recv() call in NFQRecvPkt()

5 years agonfq: minor code cleanups
Victor Julien [Fri, 18 Oct 2019 08:30:57 +0000 (10:30 +0200)] 
nfq: minor code cleanups

5 years agodatasets: suppress noisy debug statement
Victor Julien [Fri, 18 Oct 2019 08:10:32 +0000 (10:10 +0200)] 
datasets: suppress noisy debug statement

5 years agolog-pcap: don't print (null) for compression method
Victor Julien [Fri, 18 Oct 2019 08:08:18 +0000 (10:08 +0200)] 
log-pcap: don't print (null) for compression method

5 years agotcp: don't set event on empty SACK opt 4319/head
Victor Julien [Thu, 17 Oct 2019 13:42:15 +0000 (15:42 +0200)] 
tcp: don't set event on empty SACK opt

TCP_OPT_INVALID_LEN was set if the opt len was 2. While useless
an empty SACK is not uncommon.

Seen on an iOS device talking to an Apple server.

Bug #3254.

5 years agosuricata: use version from autoconf
Victor Julien [Mon, 14 Oct 2019 10:58:57 +0000 (12:58 +0200)] 
suricata: use version from autoconf

5 years agodoc/userguide: fix typo
Eric Leblond [Sat, 12 Oct 2019 15:39:54 +0000 (17:39 +0200)] 
doc/userguide: fix typo

5 years agodoc/userguide: fix base64 example
Eric Leblond [Sat, 12 Oct 2019 15:37:20 +0000 (17:37 +0200)] 
doc/userguide: fix base64 example

Add a sticky buffer example and fix the content modifier one.

5 years agodetect-base64: fix url in list keywords commands
Eric Leblond [Sat, 12 Oct 2019 15:33:32 +0000 (17:33 +0200)] 
detect-base64: fix url in list keywords commands

5 years agodoc: removal of disable-rust and path typo for suricatasc
Pascal Delalande [Wed, 16 Oct 2019 19:41:17 +0000 (21:41 +0200)] 
doc: removal of disable-rust and path typo for suricatasc

5 years agoeve/dns: don't log warning if dns log version not set
Jason Ish [Wed, 16 Oct 2019 15:03:14 +0000 (09:03 -0600)] 
eve/dns: don't log warning if dns log version not set

If the DNS log version is not set, we default to v2. This should
not be warning, but better logged at the config level.

A warning will still be logged if the value is set but is not
1 or 2.

5 years agosignature: leak fix in DetectAddressParse2
Philippe Antoine [Fri, 11 Oct 2019 08:11:56 +0000 (10:11 +0200)] 
signature: leak fix in DetectAddressParse2

5 years agoconfig: use logging instead of stderr
Philippe Antoine [Fri, 12 Jul 2019 09:17:59 +0000 (11:17 +0200)] 
config: use logging instead of stderr

5 years agompls: Allow MPLS after vlan.
Wesley van der Ree [Tue, 15 Oct 2019 13:08:58 +0000 (15:08 +0200)] 
mpls: Allow MPLS after vlan.

Fixes #2771

5 years agodns: minor cleanup
Victor Julien [Thu, 17 Oct 2019 05:51:01 +0000 (07:51 +0200)] 
dns: minor cleanup

5 years agoapp-layer: make dns,smb,tls parsers less noisy w/o config
Victor Julien [Thu, 17 Oct 2019 05:38:46 +0000 (07:38 +0200)] 
app-layer: make dns,smb,tls parsers less noisy w/o config

5 years agodetect/tls: set alternatives for legacy tls keywords
Victor Julien [Thu, 17 Oct 2019 05:28:33 +0000 (07:28 +0200)] 
detect/tls: set alternatives for legacy tls keywords

5 years agodetect/tls: tls.cert_fingerprint is a sticky buffer
Victor Julien [Thu, 17 Oct 2019 05:27:55 +0000 (07:27 +0200)] 
detect/tls: tls.cert_fingerprint is a sticky buffer

Not a content modifier.

5 years agodoc: fix version in install doc
Victor Julien [Tue, 15 Oct 2019 10:17:14 +0000 (12:17 +0200)] 
doc: fix version in install doc

5 years agodoc: add upgrade page 4308/head
Victor Julien [Mon, 7 Oct 2019 08:40:29 +0000 (10:40 +0200)] 
doc: add upgrade page

5 years agochangelog: update for 5.0.0 suricata-5.0.0
Victor Julien [Sun, 13 Oct 2019 08:26:30 +0000 (10:26 +0200)] 
changelog: update for 5.0.0

5 years agochangelog: update 5.0rc1 section with missing entries
Victor Julien [Sun, 13 Oct 2019 08:28:58 +0000 (10:28 +0200)] 
changelog: update 5.0rc1 section with missing entries

5 years agoautomake: use tar-ustar for longer filenames 4300/head
Jason Ish [Sat, 12 Oct 2019 14:37:38 +0000 (08:37 -0600)] 
automake: use tar-ustar for longer filenames

According to the automake manual it should be considered
portable these days.

https://www.gnu.org/software/automake/manual/html_node/List-of-Automake-options.html

Required for the dist generation with Rust vendoring.

5 years agodoc: document eve/dns v2 as the default
Jason Ish [Sat, 12 Oct 2019 16:02:19 +0000 (10:02 -0600)] 
doc: document eve/dns v2 as the default

Adds eve/dns v2 format documentation. Update legacy format
to require the version field.

5 years agosuricata.yaml/dns: small cleanups, not that default is v2
Jason Ish [Sat, 12 Oct 2019 15:59:46 +0000 (09:59 -0600)] 
suricata.yaml/dns: small cleanups, not that default is v2

Note that the eve dns log format is version 2 by default.

Make the value of commented out values their default.

Update the comment on the types to better reflect what it does.

5 years agomem: Use correct len with strlcpy
Jeff Lucovsky [Sat, 12 Oct 2019 14:35:53 +0000 (10:35 -0400)] 
mem: Use correct len with strlcpy

5 years agoconfigure.ac: fix static build with pcap 4299/head
Fabrice Fontaine [Fri, 11 Oct 2019 08:55:51 +0000 (10:55 +0200)] 
configure.ac: fix static build with pcap

pcap can depends on nl-3 so use pkg-config to find these dependencies
otherwise all AC_CHECK_LIB calls will fail when building statically

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
5 years agoMakefile: prefix suricata-update error with @
Jason Ish [Fri, 11 Oct 2019 17:11:27 +0000 (11:11 -0600)] 
Makefile: prefix suricata-update error with @

So only the echo output is displayed. Not the lines themselves.

5 years agosuricata-update: don't install if requirements not met
Jason Ish [Fri, 11 Oct 2019 17:11:05 +0000 (11:11 -0600)] 
suricata-update: don't install if requirements not met

Don't try to run suricata-update if its not installed.

The 'make install-rules' target would try to run suricata-update
when it was detected that it was bundled, but didn't consider
if suricata-update was actually installed.

5 years agostream: fix progress for min_inspect_depth 4295/head
Victor Julien [Fri, 11 Oct 2019 12:25:10 +0000 (14:25 +0200)] 
stream: fix progress for min_inspect_depth

Make sure progress don't exceed raw_progress.

5 years agosmtp: implement min_inspect_depth logic
Victor Julien [Fri, 11 Oct 2019 10:47:29 +0000 (12:47 +0200)] 
smtp: implement min_inspect_depth logic

Implement min_inspect_depth for SMTP so that file_data and
regular stream matches don't go out of sync on the stream start.

Added toserver bytes tracking.

Bug #3190.

5 years agodebug: make it easier to trace flush logic
Victor Julien [Fri, 11 Oct 2019 10:47:10 +0000 (12:47 +0200)] 
debug: make it easier to trace flush logic

5 years agoconfigure: don't print ERROR if we don't exit
Victor Julien [Fri, 11 Oct 2019 10:32:09 +0000 (12:32 +0200)] 
configure: don't print ERROR if we don't exit

5 years agoeve/dhcp: remove leftover template comments
Victor Julien [Fri, 11 Oct 2019 10:24:23 +0000 (12:24 +0200)] 
eve/dhcp: remove leftover template comments

5 years agoeve/alert: clean up proto metadata
Victor Julien [Fri, 11 Oct 2019 10:23:05 +0000 (12:23 +0200)] 
eve/alert: clean up proto metadata

Use a switch statement to select the protocol specific function.

5 years agodns: rename rust files and funcs
Victor Julien [Fri, 11 Oct 2019 10:17:27 +0000 (12:17 +0200)] 
dns: rename rust files and funcs

5 years agojansson: remove explicit <jansson.h> includes
Victor Julien [Fri, 11 Oct 2019 10:10:23 +0000 (12:10 +0200)] 
jansson: remove explicit <jansson.h> includes

Header is included from suricata-common.h

5 years agojansson: remove HAVE_LIBJANSSON guards
Victor Julien [Fri, 11 Oct 2019 10:06:59 +0000 (12:06 +0200)] 
jansson: remove HAVE_LIBJANSSON guards

5 years agorust: remove build system HAVE_RUST guards
Victor Julien [Fri, 11 Oct 2019 09:21:41 +0000 (11:21 +0200)] 
rust: remove build system HAVE_RUST guards

5 years agorust: remove all HAVE_RUST guards
Victor Julien [Fri, 11 Oct 2019 09:19:14 +0000 (11:19 +0200)] 
rust: remove all HAVE_RUST guards

5 years agohttp: updates suricata.yaml comments
Philippe Antoine [Tue, 1 Oct 2019 12:19:35 +0000 (14:19 +0200)] 
http: updates suricata.yaml comments

As well as the userguide documentation about suricata.yaml

5 years agoconfigure: fix python major version check on python 2.6 4292/head
Jason Ish [Thu, 10 Oct 2019 22:32:21 +0000 (16:32 -0600)] 
configure: fix python major version check on python 2.6

Python 2.6 doesn't use a named tuple for the version info,
instead use the index of the major version which works
on Python 2.6 upwards.

5 years agorust: run tests with same features as build
Jason Ish [Wed, 9 Oct 2019 15:18:31 +0000 (09:18 -0600)] 
rust: run tests with same features as build

Cargo check wasn't being passed --features so could have a different
configuration than the build.

5 years agorustup: handle rustup for sudo and su
Jason Ish [Wed, 9 Oct 2019 07:05:24 +0000 (01:05 -0600)] 
rustup: handle rustup for sudo and su

If rustup is in use, and a user uses sudo or su for the make
install, the install may fail with a "no default toolchain"
error.

To prevent this, detect at configure if rustup is being used,
then set RUSTUP_HOME for all calls to cargo.

5 years agopython: fixes for installing from path with spaces
Jason Ish [Sun, 22 Sep 2019 22:11:55 +0000 (16:11 -0600)] 
python: fixes for installing from path with spaces

Related to Redmine issue:
https://redmine.openinfosecfoundation.org/issues/2668

5 years agorust: fix build when source directory has spaces in it
Jason Ish [Fri, 20 Sep 2019 21:58:53 +0000 (15:58 -0600)] 
rust: fix build when source directory has spaces in it

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/2668

5 years agoconfigure: no, followed by reason for python tools 4290/head
Jason Ish [Wed, 9 Oct 2019 05:50:34 +0000 (23:50 -0600)] 
configure: no, followed by reason for python tools

This:
  Install suricatactl:                     no, requires distutils
instead of this:
  Install suricatasc:                      requires distutils

5 years agoconfigure: generic instructions for missing python modules
Jason Ish [Wed, 9 Oct 2019 05:33:24 +0000 (23:33 -0600)] 
configure: generic instructions for missing python modules

Instead of telling the user what packages to install for missing
Python modules, give generic instructions about what module
needs to be installed.

It is getting tricky to get these package names correct
across distributions.

5 years agosuricata-update: build before install
Jason Ish [Tue, 8 Oct 2019 21:34:26 +0000 (15:34 -0600)] 
suricata-update: build before install

Run the Python build independent of install. Prevents files
in the tree becoming owned by root.

5 years agoconfigure: detect python major version
Jason Ish [Wed, 9 Oct 2019 04:56:35 +0000 (22:56 -0600)] 
configure: detect python major version

For informational purposes only when notifying what Python
modules are required during ./configure.

5 years agoconfigure: don't detect python version
Jason Ish [Tue, 8 Oct 2019 15:43:12 +0000 (09:43 -0600)] 
configure: don't detect python version

Don't detect the Python version, it is not needed anyways,
all we need is the Python path.

Also, python2 --version prints to stderr, while python3
prints to stdout, leading to some odd output during
./configure (but fixable).

5 years agodoc: cleanup enging logging
Jason Ish [Thu, 3 Oct 2019 15:29:14 +0000 (09:29 -0600)] 
doc: cleanup enging logging

Attempt cleanup the engine logging a bit.

Also a include a verbatim excerpt of the default configuration
here for reference purposes.

5 years agodoc: -v verbose option documentation update
Jason Ish [Wed, 2 Oct 2019 22:49:50 +0000 (16:49 -0600)] 
doc: -v verbose option documentation update

Update -v documentation to reflect the new behaviour discussed
in bug #1851 where -v changes the log level to fixed levels
instead of an offset of the default log level configured
in suricata.yaml.

5 years agohelp: better description for -v
Jason Ish [Wed, 2 Oct 2019 22:45:31 +0000 (16:45 -0600)] 
help: better description for -v

-v: be more verbose (use multiple times to increase verbosity)

5 years agologging: used fixed levels of verbosity for -v, -vv...
Jason Ish [Wed, 2 Oct 2019 22:38:50 +0000 (16:38 -0600)] 
logging: used fixed levels of verbosity for -v, -vv...

Change the meaning of the verbosity flag to change the log
level to fixed levels instead of being relative to whats
configured.

-v    => INFO
-vv   => PERF
-vvv  => CONIFG
-vvvv => DEBUG

But do now allow -v to decrease the verbosity.

Bug #1851

5 years agologging: respect individual log levels
Jason Ish [Wed, 2 Oct 2019 22:23:05 +0000 (16:23 -0600)] 
logging: respect individual log levels

The log level of individual loggers (console, file, syslog) was
being capped by the default log level. For example, if the
default log level was notice, setting the file level to info
would still result in notice level logging.

Bug #3210

5 years agoapp-layer: remove obsolete msn protocol detection
Konstantin Klinger [Fri, 4 Oct 2019 13:46:15 +0000 (15:46 +0200)] 
app-layer: remove obsolete msn protocol detection

5 years agodatasets: make clear the feature is experimental
Victor Julien [Thu, 10 Oct 2019 05:39:12 +0000 (07:39 +0200)] 
datasets: make clear the feature is experimental

5 years agoeve/anomaly: enable by default
Victor Julien [Wed, 9 Oct 2019 15:37:08 +0000 (17:37 +0200)] 
eve/anomaly: enable by default

Default config will only enable 'app-layer' type within the anomaly
logger.

5 years agohtp: require 0.5.31
Victor Julien [Wed, 9 Oct 2019 15:35:02 +0000 (17:35 +0200)] 
htp: require 0.5.31

5 years agoyaml: minor improvements
Victor Julien [Wed, 9 Oct 2019 15:12:00 +0000 (17:12 +0200)] 
yaml: minor improvements

5 years agoyaml: clean up 'autofp-scheduler' option
Victor Julien [Wed, 9 Oct 2019 15:01:50 +0000 (17:01 +0200)] 
yaml: clean up 'autofp-scheduler' option

5 years agolog/anomaly: remove leading underscore from static var
Jeff Lucovsky [Sat, 5 Oct 2019 13:57:18 +0000 (09:57 -0400)] 
log/anomaly: remove leading underscore from static var

5 years agodoc/eve.alert: Expand metadata description
Jeff Lucovsky [Sat, 28 Sep 2019 13:02:18 +0000 (09:02 -0400)] 
doc/eve.alert: Expand metadata description

5 years agologging/alert: Warn if metadata not selected
Jeff Lucovsky [Sat, 28 Sep 2019 13:00:24 +0000 (09:00 -0400)] 
logging/alert: Warn if metadata not selected

Warn when HTTP body logging has been selected but applayer/metadata
logging is not configured.

5 years agologging/anomaly: Clarify anomaly logging
Jeff Lucovsky [Sat, 28 Sep 2019 12:59:04 +0000 (08:59 -0400)] 
logging/anomaly: Clarify anomaly logging

Clarify the description of the anomaly logging types.

5 years agologging/alert: Expand alert logging description
Jeff Lucovsky [Sat, 28 Sep 2019 12:57:29 +0000 (08:57 -0400)] 
logging/alert: Expand alert logging description

Clarify the configuration requirements for alerts and http-body logging.

5 years agoftp: Handle malformed RETR/STOR
Jeff Lucovsky [Wed, 9 Oct 2019 00:14:23 +0000 (20:14 -0400)] 
ftp: Handle malformed RETR/STOR

Ensure that RETR (STOR) have a filename -- otherwise, treat the command
string as malformed.

Added unittests for each command and verified that SEGV's occur without
parser change and no longer occur with the parser change.

5 years agoconfigure.ac: fix --disable-geoip
Fabrice Fontaine [Sun, 6 Oct 2019 07:53:23 +0000 (09:53 +0200)] 
configure.ac: fix --disable-geoip

$enableval should be used to know if the user has passed --enable-geoip
or --disable-geoip

Fixes:
 - http://autobuild.buildroot.org/results/a7a34f760ae5fe0922fdb720b8234dbcd85ed222

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
5 years agoconfig: install classification.config (and ref) to $datadir
Jason Ish [Tue, 1 Oct 2019 16:00:29 +0000 (10:00 -0600)] 
config: install classification.config (and ref) to $datadir

Install classification.config and reference.config to $datadir,
where they can be updated on every upgrade.

This required moving them into a sub-directory for autotools
to do its thing.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3209

5 years agoRevert "runmode: consider test mode a user mode"
Victor Julien [Tue, 8 Oct 2019 19:48:24 +0000 (21:48 +0200)] 
Revert "runmode: consider test mode a user mode"

This reverts commit 6dca50a322b08bbd6391f091787671305649671a.

The test mode should actually test in system mode by default as
that is what tools like Suricata-Update need before issuing a
reload command.

5 years agodetect/ja3: print error for one rule only
Victor Julien [Mon, 7 Oct 2019 14:02:16 +0000 (16:02 +0200)] 
detect/ja3: print error for one rule only

Use 'silent error' logic for any other rules using ja3 as well.

5 years agodetect/parse: allow signature parsing to fail silently
Victor Julien [Mon, 7 Oct 2019 13:50:09 +0000 (15:50 +0200)] 
detect/parse: allow signature parsing to fail silently

A sigmatches 'Setup' function may indicate it intends to fail
silently after the first error. It will return -2 instead of -1
in this case.

This is tracked in the DetectEngineCtx object, so errors will
be shown again at rule reloads.

5 years agodetect/parser: minor cleanup
Victor Julien [Mon, 7 Oct 2019 11:09:02 +0000 (13:09 +0200)] 
detect/parser: minor cleanup

5 years agotls/ja3: allow 'auto' setting for ja3
Victor Julien [Sun, 6 Oct 2019 10:01:32 +0000 (12:01 +0200)] 
tls/ja3: allow 'auto' setting for ja3

5 years agotls/ja3: try to enable ja3 if rule keywords need it
Victor Julien [Thu, 3 Oct 2019 11:30:53 +0000 (13:30 +0200)] 
tls/ja3: try to enable ja3 if rule keywords need it

5 years agotls/ja3: add way to check active config
Victor Julien [Thu, 3 Oct 2019 11:26:43 +0000 (13:26 +0200)] 
tls/ja3: add way to check active config

5 years agotls/ja3: don't disable; allowing runtime enabling
Victor Julien [Thu, 3 Oct 2019 10:51:08 +0000 (12:51 +0200)] 
tls/ja3: don't disable; allowing runtime enabling

5 years agotls/ja3: allow dynamic enabling of ja3
Victor Julien [Thu, 3 Oct 2019 10:48:00 +0000 (12:48 +0200)] 
tls/ja3: allow dynamic enabling of ja3

5 years agodetect/reference: implement strict parsing option
Victor Julien [Thu, 3 Oct 2019 08:39:06 +0000 (10:39 +0200)] 
detect/reference: implement strict parsing option

5 years agodetect/classtype: implement strict parsing option
Victor Julien [Thu, 3 Oct 2019 08:36:03 +0000 (10:36 +0200)] 
detect/classtype: implement strict parsing option

5 years agodetect/parse: add --strict-rule-keywords option
Victor Julien [Thu, 3 Oct 2019 08:32:42 +0000 (10:32 +0200)] 
detect/parse: add --strict-rule-keywords option

Add --strict-rule-keywords commandline option to enable strict rule
parsing.

It can be used without options or with a comma separated list:
--strict-rule-keywords
--strict-rule-keywords=all
--strict-rule-keywords=classtype,reference

Parsing implementations can use SigMatchStrictEnabled to check
if strict parsing is enabled for them and act accordingly.

5 years agodetect: use named enum for keyword types
Victor Julien [Thu, 3 Oct 2019 08:17:20 +0000 (10:17 +0200)] 
detect: use named enum for keyword types

5 years agodetect/reference: allow undefined references
Victor Julien [Wed, 2 Oct 2019 19:47:29 +0000 (21:47 +0200)] 
detect/reference: allow undefined references

References are currently not used in Suricata, so erroring out on
rules using a undefined reference is too harsh.

Just issue a warning once per unique missing reference.

5 years agoreference: change scope of add func to global
Victor Julien [Wed, 2 Oct 2019 19:29:32 +0000 (21:29 +0200)] 
reference: change scope of add func to global

5 years agoreference: use global defines for size limits
Victor Julien [Wed, 2 Oct 2019 13:01:29 +0000 (15:01 +0200)] 
reference: use global defines for size limits

5 years agodetect/reference: code cleanups
Victor Julien [Wed, 2 Oct 2019 12:52:36 +0000 (14:52 +0200)] 
detect/reference: code cleanups

5 years agodetect/classtype: check size of rule input
Victor Julien [Wed, 2 Oct 2019 08:30:48 +0000 (10:30 +0200)] 
detect/classtype: check size of rule input

5 years agoclasstype: handle missing classification.config
Victor Julien [Tue, 1 Oct 2019 18:19:20 +0000 (20:19 +0200)] 
classtype: handle missing classification.config

Still initialize the classtype hash table so that the classtypes
rules use can be added to it.

The file missing now reports a warning instead of error, as we
will continue to work.

5 years agoclasstype: use global defines for size limits
Victor Julien [Wed, 2 Oct 2019 08:30:28 +0000 (10:30 +0200)] 
classtype: use global defines for size limits

5 years agodetect/classtype: show file and line for unknown classtype
Victor Julien [Tue, 1 Oct 2019 13:20:55 +0000 (15:20 +0200)] 
detect/classtype: show file and line for unknown classtype

5 years agodetect/priority: use global define for default prio
Victor Julien [Tue, 1 Oct 2019 12:05:08 +0000 (14:05 +0200)] 
detect/priority: use global define for default prio

5 years agodetect/classtype: allow undefined classtypes
Victor Julien [Tue, 1 Oct 2019 11:22:01 +0000 (13:22 +0200)] 
detect/classtype: allow undefined classtypes

Effect of classification on Suricata's working is minimal. Impact
of adding undefined classtypes is large: rules will fail to load
completely. This also leads multiple lines of log output per rule,
which in a large ruleset can lead to excessive output.

This patch changes the classtype keyword behavior. Instead of erroring
and invalidating a rule, we will merely warn.

The undefined classtype is then defined with a default priority,
so other rules using the classtype will not also warn. This way
there will be just a single warning per missing classtype.

5 years agoclasstype: increase id size
Victor Julien [Tue, 1 Oct 2019 10:50:13 +0000 (12:50 +0200)] 
classtype: increase id size

Switch from u8 to u16 to allow for more classtypes.

Rename Signature::class to Signature::class_id to make it clear
it is an id.