Commit Graph

1439 Commits (45762aa6443fb0e657c15b7d805d6aa30a3e07a0)

Author SHA1 Message Date
Jason Ish 22b77b0c56 conf: prefix conf API with SC 1 year ago
Jeff Lucovsky ed2a81dc05 doc/entropy: Add documentation for the entropy keyword
This commits adds documentation for the entropy keyword.
The entropy keyword calculates the Shannon entropy value for content
with the calculated value used to determine whether an alert occurs.
1 year ago
Shivani Bhardwaj 65349442f8 doc: add http library supported fns
Task 7604
1 year ago
Shivani Bhardwaj 5ba0ccaf4b doc: remove http cookie ua from list of buffers
as they are available via library using the tx
- tx:request_header("Cookie")
- tx:response_header("Cookie")
- tx:request_header("User-Agent")
1 year ago
Juliana Fajardini d8c6a56a62 doc/exceptions: change stats counters names
As we've changed them for more search-friendly ones.

Related to
Task #7185
1 year ago
Lukas Sismis 4f2ce17dc5 dpdk: allow zero TX queues when running in IDS mode
When running in non-forwarding (IDS) mode, it is not required
to create TX queues for the interface.
This can be acheived by setting tx-descriptors configuration
field to 0.

Ticket: 7633
1 year ago
Lukas Sismis 1be1c65b6e docs: double quote technical terms in DPDK section 1 year ago
Lukas Sismis fbe5ce7a2b dpdk: document vlan stripping offload
Ticket: 5838
1 year ago
Lukas Sismis 640d0985c2 dpdk: check for link up before full startup
ICE card (Intel E810) was not receiving packets immediatelly
after startup, Suricata workers would act as processing while
it was not. This eliminates the problem by only continuing
in the initialization if the link is already up.

The setting can be turned off manually from the configuraiton
file.

Ticket: 7381
1 year ago
Lukas Sismis cb997a64dc dpdk: replace global with per-thread mempools
It turned out that having global (interface-specific) mempool
that is shared by the threads of the interface is slower than
having individual mempools per queue for each interface.

The commit brings this change and should be user-invisible,
the config setting remains still as a number of objects of
all mempools summed (of that interface).

Ticket: 7382
1 year ago
Lukas Sismis 2ef2a9e26f dpdk: auto configure Rx/Tx descriptors and mempool size
Ticket: 7380
Ticket: 7373
1 year ago
Philippe Antoine 3a092f3027 detect: allow rule which need both directions to match
Ticket: 5665

This is done with `alert ip any any => any any`
The => operator means that we will need both directions
1 year ago
Jason Ish 66eb29affd doc/ndpi: move ndpi docs to new plugins section
Moves the nDPI documentation to an nDPI page in the plugins
section. Remove the duplication of installation and setup
documentation.

Includes some minor cleanups.
1 year ago
Alfredo Cardigliano dfd9ef5784 ndpi: initial implementation of nDPI plugin
Ticket: #7231
1 year ago
Alice Akaki ce2e7aed74 detect: add email.date keyword
email.date matches on MIME EMAIL DATE
This keyword maps to the EVE field email.date
It is a sticky buffer
Supports prefiltering

Ticket: #7591
1 year ago
Victor Julien 8c9dfafc6d doc/tls: add more detail on tls.random 1 year ago
Lukas Sismis 7dc65c2f8a hyperscan: add caching mechanism for hyperscan contexts
Cache Hyperscan serialized databases to disk to prevent compilation
of the same databases when Suricata is run again with the same
ruleset.
Hyperscan binary files are stored per rulegroup in the designated
folder, by default in the cached library folder.
Since caching is per signature group heads,
some chunk of the ruleset can change and it still can reuse part of
the unchanged signature groups.

Loading *fresh* ET Open ruleset:  19 seconds
Loading *cached* ET Open ruleset: 07 seconds

Ticket: 7170
1 year ago
Philippe Antoine 879a733c12 doc/http2: explicit behavior for some http keywords
HTTP/2 does not define a way to carry the version or reason phrase
that is included in an HTTP/1.1 status line.

Ticket: 6548
1 year ago
Juliana Fajardini cd69955d7f doc/userguide: add lua flowlib docs
Task #7489
1 year ago
Juliana Fajardini 9480272509 doc: remove old lua flow methods
Task #7489
1 year ago
Alice Akaki 7ba4ebdc2c detect: add email.cc keyword
email.cc matches on MIME EMAIL Carbon Copy
This keyword maps to the EVE field email.cc[]
It is a sticky buffer
Supports prefiltering

Ticket: #7588
1 year ago
Alice Akaki 9e7d23d73f doc: add keywords to the multi-buffer-matching list 1 year ago
Jason Ish 1a47fdfd46 doc/userguide: group af-packet upgrade notes together
Also fix the rendering of the sip nest list.
1 year ago
Jason Ish 080d48ba29 doc/userguide: upgrade note about defrag now off for inline use
Ticket: #7617
1 year ago
Jason Ish 8fe526006d doc/userguide: upgrade note about tpacket-v3 default for ids
Ticket: #4798
1 year ago
Alice Akaki 5d6a072e35 detect: add email.to keyword
email.to matches on MIME EMAIL TO
This keyword maps to the EVE field email.to[]
It is a sticky buffer
Supports prefiltering

Ticket: #7596
1 year ago
Alice Akaki 09db7c7ac1 detect: add mime email.subject keyword
email.subject matches on MIME EMAIL SUBJECT
This keyword maps to the EVE field email.subject
It is a sticky buffer
Supports prefiltering

Ticket: #7595
1 year ago
Jason Ish 374762d202 af-packet: remove use-mmap option
This option is obsolete and was not used in 7.0 as tpacket-v1 support
was removed (see ticket #4796).
1 year ago
Juliana Fajardini a9b2a62ee4 userguide/exceptions: clarify when stats are logged
The stats for exception policies are only logged/ present when any of
the exception policies are enabled (which means any value other than
"auto" or "ignore" in IDS mode, or "ignore" in IPS mode).

This wasn't clearly stated in the docs.
1 year ago
Juliana Fajardini 08e928988f flow/output: log triggered exception policies
To accompany the Exception Policy stats, also add information about any
Exception Policy triggered and for which target to the flow log event.

Task #6215
1 year ago
Jason Ish a6b116bcbe lua: document new suricata.dns lua library
Ticket: #7602
1 year ago
Alice Akaki 90aab0d62f detect: add email.from
email.from matches on MIME EMAIL FROM
This keyword maps to the EVE field email.from
It is a sticky buffer
Supports prefiltering

Ticket: #7592
1 year ago
Joyce Yu dac0d6371e Doc: update eve-json-output ethernet description
Document getting mac addresses from flow when flow timeout.
1 year ago
Shivani Bhardwaj be372ce39d doc: explain priority port setting
Ticket 7329
1 year ago
Shivani Bhardwaj 040c694256 doc: format and align suricata.yaml section 1 year ago
Juliana Fajardini 3985b24e1b upgrade: list inspection recursion default limit
As the yaml indicated before that if no value was specified there were
no limits, and now there will be one.
1 year ago
Juliana Fajardini e1f9e66af0 doc/upgrade: add datasets hash size limit note 1 year ago
Jason Ish c6d18fc871 doc/userguide: af-packet upgrade notes
Add note about increased block size and how to change it back to old
defaults if needed.

Ticket: #7458
1 year ago
Philippe Antoine 32d0bd2bbb detect: limit base64_decode `bytes` to 64KiB
Ticket: 7613

Avoids potential large per-thread memory allocation. A buffer with the
size of the largest decode_base64 buffer size setting would be allocated
per thread. As this was a u32, it could mean a per-thread 4GiB memory
allocation.

64KiB was already the built-in default for cases where bytes size wasn't
specified.
1 year ago
Juliana Fajardini d8523d9d97 userguide/header-keywords: fix typos, adjust format 1 year ago
Juliana Fajardini 28407b2fb8 doc/rule-types: remove trailing underscore
And other minor fixes that were overseen.
1 year ago
Juliana Fajardini 4a8da8c448 userguide/suricatactl: use suricata community page
We were mentioning "Suricata Support" page, which could be a bit
misleading -- and also used a link that is actually redirected to the
Suricata Community page, anyways.
1 year ago
Jason Ish 814e9ffb7a dns: add keywords for additionals and authorities rrnames
Add keywords dns.additionals.rrname and dns.authorities.rrname. Along
the way, consolidate dns.query.name and dns.answer.name into a single file
and register them altogether since there is a lot of common code.
1 year ago
Jason Ish a026293b42 dns: rename dns.response keyword to dns.response.rrname
This is a better name as the keyword is looking at all rrname type
fields in the response.
1 year ago
Nathan Scrivens d3953dee8b doc/userguide: document dns.response
Feature: 7012
1 year ago
Alice Akaki 137f7fe652 detect: add ldap.responses.message
ldap.responses.message matches on LDAPResult error message
This keyword maps the following eve fields:
ldap.responses[].bind_response.message
ldap.responses[].search_result_done.message
ldap.responses[].modify_response.message
ldap.responses[].add_response.message
ldap.responses[].del_response.message
ldap.responses[].mod_dn_response.message
ldap.responses[].compare_response.message
ldap.responses[].extended_response.message
It is a sticky buffer
Supports prefiltering

Ticket: #7532
1 year ago
Alice Akaki 84605db01d detect: add ldap.responses.result_code
ldap.responses.result_code matches on LDAP result code
This keyword maps the following eve fields:
ldap.responses[].bind_response.result_code
ldap.responses[].search_result_done.result_code
ldap.responses[].modify_response.result_code
ldap.responses[].add_response.result_code
ldap.responses[].del_response.result_code
ldap.responses[].mod_dn_response.result_code
ldap.responses[].compare_response.result_code
ldap.responses[].extended_response.result_code
It is an unsigned 32-bit integer
Doesn't support prefiltering

Ticket: #7532
1 year ago
Alice Akaki 599d33c5bf ldap: return empty buffer in ldap_tx_get_responses_dn
Funciton ldap_tx_get_responses_dn returns empty buffer in case
the response doesn't contain the distinguished name field

Fixes: 73ae6e997f ("detect: add ldap.responses.dn")
1 year ago
Alice Akaki 82ca3e667b ldap: fix LDAPDN nits
Change variable name 'req' to 'resp' in function ldap_tx_get_responses_dn and documentation nits

Fixes:
73ae6e997f ("detect: add ldap.responses.dn")
16dcee46fc ("detect: add ldap.request.dn")
1 year ago
Jason Ish f1d305b373 doc: add upgrade note about suricatasc and suricatactl 1 year ago
Jason Ish 1aa47649ca dist: include generate-evedoc.sh
Without this script `make distcheck` fails on a system with
documentation tooling installed, as its required to build the EVE
appendix.
1 year ago
Jason Ish 11a589f633 doc: remove python references related to suricatasc
These should probably be removed even without the rewrite, and
suricatasc has been installed as a proper program for many releases.
1 year ago
Jeff Lucovsky a3a3ad8968 doc/output: EVE output buffering related settings 1 year ago
Jeff Lucovsky dd344bd07c ftp: Move config file handling to Rust
Issue: 4082

Move the configuration file handling to Rust.

These changes will no longer terminate Suricata when there's an invalid
value for ftp.memcap. Like earlier Suricata releases, an error message
is logged "Invalid value <value> for ftp.memcap" but Suricata will no
longer terminate execution. It will use a default value of "0" instead.
1 year ago
Alice Akaki 73ae6e997f detect: add ldap.responses.dn
ldap.responses.dn matches on LDAPDN from responses operations
This keyword maps the following eve fields:
ldap.responses[].search_result_entry.base_object
ldap.responses[].bind_response.matched_dn
ldap.responses[].search_result_done.matched_dn
ldap.responses[].modify_response.matched_dn
ldap.responses[].add_response.matched_dn
ldap.responses[].del_response.matched_dn
ldap.responses[].mod_dn_response.matched_dn
ldap.responses[].compare_response.matched_dn
ldap.responses[].extended_response.matched_dn
It is a sticky buffer
Supports prefiltering

Ticket: #7471
1 year ago
Alice Akaki 16dcee46fc detect: add ldap.request.dn
ldap.request.dn matches on LDAPDN from request operations
This keyword maps the following eve fields:
ldap.request.bind_request.name
ldap.request.add_request.entry
ldap.request.search_request.base_object
ldap.request.modify_request.object
ldap.request.del_request.dn
ldap.request.mod_dn_request.entry
ldap.request.compare_request.entry
It is a sticky buffer
Supports prefiltering

Ticket: #7471
1 year ago
Alice Akaki 8f807fcfcf doc: use the ldap protocol in rule examples in the LDAP keywords documentation 1 year ago
Alice Akaki 31ee18b5be doc: replace 'eve' with 'EVE' in the LDAP keywords documentation 1 year ago
Jason Ish 97e01a8cc8 doc/userguide: upgrade notes for Lua
- Sandboxed Lua for rules
- Search path changes for Lua output scripts
1 year ago
Jason Ish c6d038b8a4 doc/userguide: document Lua base64 library
Ticket: #7074
1 year ago
Victor Julien 38318438d1 doc/userguide: add lua packetlib docs 1 year ago
Victor Julien cdd2f56cfe doc: remove old lua packet methods 1 year ago
AlirezaPourchali 60dd0ec8a5 doc/userguide: fix typo
Issue: #7540

fixed doc/userguide/performance/hyperscan.rst
fixed doc/userguide/performance/runmodes.rst
1 year ago
Alice Akaki 73455179d7 detect/integers: add support for negated strings when enum is used
function detect_parse_uint_enum can parse strings like !bind_request

Ticket: #7513
1 year ago
Jeff Lucovsky beec1eac2f doc/decode-events: new: unknown event description
Issue: 7129

Document the unknown ethertype event.
1 year ago
Jeff Lucovsky e9128e66e6 doc/threshold: Threshold keyword clarifications
Issue: 7129
1 year ago
Jeff Lucovsky cfbf8fda94 doc/csum: Stream checksum validation change
Describe the change of behavior between the stream.checksum-validation
setting and checksum-based rule keywords.
1 year ago
Juliana Fajardini a2905ae5d4 userguide: explain rule types and categorization
Add documentation about the rule types introduced by commit
2696fda041.

Add doc tags around code definitions that are referenced in the docs.

Task #https://redmine.openinfosecfoundation.org/issues/7031
1 year ago
Cole Dishington c46308957f flow: optionally use pkt recursion for hash
If a Suricata inline IPS device is routing traffic over a
non-encrypted tunnel, like IPv6 tunnels, packets in a flow
will be dropped and not be matched. e.g.

The following example is a Suricata inline IPS with an IPv6 tunnel:
request: IPv4]ICMP] -> |IPS| -> IPv6]IPv4]ICMP]
reply:              <- |IPS| <- IPv6]IPv4]ICMP]
Both the IPv4 request and IPv6 reply will be seen by Suricata on
ingress. The flows will not be matched due to flow recursion level.

Optionally use pkt recursion level in flow hash. Excluding recursion
level in flow hash allows matching of packet flows and defrag on an
inline IPS Suricata scenario where the IPS device is a tunnel
terminator.

Feature: 6260
1 year ago
Jeff Lucovsky 53abe1e5d7 doc: Add ftp.command sticky buffer
Issue: 7502

This commit documents the new FTP sticky buffer "ftp.command".
1 year ago
Philippe Antoine c5f3d33e51 detect/smtp: smtp.rcpt_to keyword
Ticket: 7516

It is a sticky buffer mapping to the smtp.rcpt_to[] log field
It is a multi-buffer
1 year ago
Philippe Antoine 32594766b7 detect/smtp: smtp.mail_from keyword
Ticket: 7517

It is a sticky buffer mapping to the smtp.mail_from log field
1 year ago
Philippe Antoine 3d3b1ade9d detect/smtp: smtp.helo keyword
Ticket: 7515

It is a sticky buffer mapping to the smtp.helo log field
1 year ago
Jason Ish c8b28b1512 doc/userguide: document lua hashlib 1 year ago
Alice Akaki 8416289752 detect: add ldap.responses.count
ldap.responses.count matches on the number of LDAP responses
This keyword maps to the eve field len(ldap.responses[])
It is an unsigned 32-bit integer
Doesn't support prefiltering

Ticket: #7453
1 year ago
Alice Akaki da593abd99 detect: add ldap.responses.operation
ldap.responses.operation matches on Lightweight Directory Access Protocol response operations
This keyword maps to the eve field ldap.responses[].operation
It is an unsigned 8-bit integer
Doesn't support prefiltering

Ticket: #7453
1 year ago
Alice Akaki cdb043810f detect: add ldap.request.operation
ldap.request.operation matches on Lightweight Directory Access Protocol request operations
This keyword maps to the eve field ldap.request.operation
It is an unsigned 8-bit integer
Doesn't support prefiltering

Ticket: #7453
1 year ago
Alice Akaki 078c6469a0 detect: add vlan.layers keyword
vlan.layers matches on the number of VLAN layers per packet
It is an unsigned 8-bit integer
Valid range = [0-3]
Supports prefiltering

Ticket: #1065
2 years ago
Alice Akaki b1c2643c87 detect: add vlan.id keyword
vlan.id matches on Virtual Local Area Network IDs
It is an unsigned 16-bit integer
Valid range = [0-4095]
Supports prefiltering

Ticket: #1065
2 years ago
Shivani Bhardwaj ad7ff1c91b flow/pkts: allow matching on either direction
For flow.bytes and flow.pkts keywords, allow matching in either
direction.

Feature 5646
2 years ago
Shivani Bhardwaj 52fd695e5a doc: update syntax for flow.pkts & flow.bytes 2 years ago
Philippe Antoine a499529477 doc: improve documentation about guess-applayer-tx
Ticket: 7199
2 years ago
Shivani Bhardwaj 6f937c7545 doc: add guide for ticket title
Explain with examples what a good ticket title looks like and
why is it important to have ticket titles convey the correct issues.
2 years ago
Jeff Lucovsky 91d5b77316 doc/commit
Describe how to use the git commit template. The template helps ensure
that the information needed for evaluation and context is included in
the commit message.

Ticket: <Redmine ticket number>
2 years ago
Victor Julien d11e8a8ee7 doc/userguide: document TCP urgent policy 2 years ago
Philippe Antoine f426ee3ee2 detect: rename stream_log variables
to better reflect their true meaning
2 years ago
Philippe Antoine f2c3776314 detect: log app-layer metadata in alert with single tx
Ticket: 7199

Uses a config parameter detect.guess-applayer-tx to enable
this behavior (off by default)

This feature is requested for use cases with signatures not
using app-layer keywords but still targetting application
layer transactions, such as pass/drop rule combination,
or lua usage.

This overrides the previous behavior of checking if the signature
has a content match, by checking if there is only one live
transaction, in addition to the config parameter being set.
2 years ago
Juliana Fajardini 6e4a501e7c flowint: add isnotset support
Similar keywords use `isnotset`, while `flowint` only accepted `notset`
Opted to change the code, not only the regex, to keep the underlying
code also following the same patterns.

Task #7426
2 years ago
Jason Ish 289ff25f5b requires: support requires check for keyword
For example:

    requires: keyword foo;

Will require that Suricata supports the "foo" keyword.

Ticket: #7403
2 years ago
Jason Ish 820a3e51b7 requires: treat unknown requires keywords as unmet requirements
For example, "requires: foo bar" is an unknown requirement, however
its not tracked, nor an error as it follows the syntax. Instead,
record these unknown keywords, and fail the requirements check if any
are present.

A future version of Suricata may have new requires keywords, for
example a check for keywords.

Ticket: #7418
2 years ago
Philippe Antoine 4ec90bd227 detect: absent keyword to test absence of sticky buffer
Ticket: 2224

It takes an argument to match only if the buffer is absent,
or it can still match if the buffer is present, but we test
the absence of some content.

For multi buffers, absent matches if there are 0 buffers.

For file keywords, absent matches if there is no file.
2 years ago
Victor Julien 278dc24cd0 doc/userguide: document smb cache size limit options
Ticket: #5672.
2 years ago
Sascha Steinbiss 285cc29ec0 redis: add automatic trimming support for streams 2 years ago
Sascha Steinbiss d3d9f1c395 redis: implement XADD stream support
Ticket: #7082
2 years ago
Juliana Fajardini 1860aa81e6 userguide: fix integer keyword matches list format
List wasn't being properly rendered.
2 years ago
Jason Ish cc519beb91 suricata.yaml: add missing custom tls fields
Also update the suricata.yaml in the userguide.
2 years ago
Juliana Fajardini 55b922ceed tls/conf: clarify usage of custom vs extended logs
Since enabling custom logging will replace the extended logging, thus
possibly leading to certain fields disappearing from the logs, mention
this aspect.

Related to
Bug #7333
2 years ago
Jeff Lucovsky 1e0d3435db doc: add napatech plugin upgrade notes
Issue: 7165
2 years ago
Jason Ish 6ae5ae701b doc/userguide: generate eve documentation
Add EVE documentation for QUIC and Pgsql to their respective sections of
the userguide.

Also add a complete EVE reference as an appendix.

Other protocols can be done, but its a manual process to document in the
schema, then add the glue to pull them into the documentation.

The documentation is generated during "make dist", or if it doesn't
exist, "conf.py" will attempt to generate the eve documentation for
building on Readthedocs.
2 years ago
Philippe Antoine bb714c9178 http: have a headers limit
Ticket: 7191

So as to avoid quadratic complexity in libhtp.
Make the limit configurable from suricata.yaml,
and have an event when network traffic goes over the limit.
2 years ago
Philippe Antoine e47598110a detect/datasets: implement unset command
Ticket: 7195

Otherwise, Suricata aborted on such a rule
2 years ago
Juliana Fajardini 18e0d23ed3 docs: remove mentions to Suricata-6
Task #7262
2 years ago
Juliana Fajardini d1d1c8cdac doc/conf/yaml: replace underscore with dashes
Use sed + regex to replace all occurrences of suricata.yaml terms that
used underscore for their up-to-date dash version.

Also search for such terms in the eve-log.yaml partials file, as that
is referenced in the configuration section.

commands used:

sed -i 's/\(^ *[a-z]*\)_\([a-z]*:\)/\1-\2/g'
sed -i 's/\(^ *[a-z]*\)_\([a-z]*\)_\([a-z]*:\)/\1-\2-\3/g'

Some other instances were found manually.

Task #7260
2 years ago
Philippe Antoine 7ab833471e doc/rfb: mention accidental fix for security_result log
Ticket: 7198
2 years ago
Giuseppe Longo 036b68b0a9 doc: add new sip keywords 2 years ago
Juliana Fajardini ef63aa50e2 doc/configuration: improve emergency-recovery docs
When removing mentions to `prune-flows` a few inconsistencies for how
we write and refer to `emergency-recovery` were left behind, still.
2 years ago
Philippe Antoine de9413c654 detect: safety for app-layer logging of stream-only rules
If a stream-only rule matches, and we find a tx where we
want to log the app-layer data, store into the tx data that
we already logged, so that we do not log again the app-layer metadata

Ticket: 7085
2 years ago
jason taylor f46a8776ec doc: add note about big endian for icmp_seq match 2 years ago
Juliana Fajardini 1420c83a87 doc/configuration: remove mention to prune-flows
Although the `prune-flows` option was removed with a5587fec2e,
when documentation for the suricata.yaml config file was added with
b252b0d, this option was also included - as has remained until now.
2 years ago
Jeff Lucovsky 8064847fc6 doc: Document reference config setting
Issue: 4974
2 years ago
Philippe Antoine 0ebb84538e http2: add frames support
Ticket: 5743

Why ? To add detection capabilities
2 years ago
Jason Ish 685baa9680 output-filedata: rename and document registration function
Prefix registration function and pointer function type with SC, as
well as document.

Ticket: #7227
2 years ago
Jason Ish b51eeb3ab5 output-file: rename and document registration function
Rename OutputRegisterFileLogger to SCOutputRegisterFileLogger, add
function documentation and include in userguide.

Ticket: #7227
2 years ago
Jason Ish 14b648f286 output-streaming: rename and document registration
Prefix the registration function and types with "SC", and add function
documentation.

Ticket: #7227
2 years ago
Jason Ish 1ebf33b3c9 output-tx: rename and document transaction logger registration
Rename OutputRegisterTxLogger to SCOutputRegisterTxLogger to make it
part of the public API as well as document.

Ticket: #7227
2 years ago
Jason Ish bb128e3959 devguide: more on low level logging
Use the extending/output section to introduce the low level logging
API.

Ticket: #7227
2 years ago
Juliana Fajardini f3e1095244 userguide: update Security Onion docs reference
They have updated their docs domain, leading to the link we had
returning a 404.

Also checked the other links. Although some seem to only contain old
traffic, they all still work.
2 years ago
Sascha Steinbiss cb14e44780 userguide: fix spelling of `security_result` EVE field
This ensures that the correct spelling of the `security_result` EVE
field for RFB (as opposed to `security-result`) is also reflected in the
documentation.

Ticket: #7210
2 years ago
Shivani Bhardwaj 1345c6d1cb doc/file-extraction: fix highlight syntax 2 years ago
Juliana Fajardini 682b199ea0 userguide: expand documentation for rule profiling
The page about performance and rule profiling showed the table generated
by rules profiling but didn't inform how to achieve nor find it.

Task #4359
2 years ago
Jason Ish 15fe844ae7 syslog: deprecate
The standalone syslog output is now deprecated for Suricata 8. Display
a warning on use and add notes to the userguide.

Ticket: #6544
2 years ago
Jason Ish 5853fb922d tls-log: deprecate
tls-log is now deprecated and will be removed in Suricata 9.0. Display
a deprecation notice on use, and add notes to the user guide.

Ticket: #6542
2 years ago
Jason Ish ab26323a96 http-log: deprecate
http-log is now deprecated and will be removed in Suricata
9.0. Display a deprecation notice on use, and add notes to the
userguide.

Issue: #6543
2 years ago
Victor Julien 688bd538cf pcap: implement pcap-file-buffer-size option
Allows easy specification of buffer size on the commandline.

Ticket: #7155.
2 years ago
Juliana Fajardini 246acc7140 userguide: clarify flow:stateless explanation
While not incorrect, the previous wording made the sentence almost
paradoxical. While at it, also highlight a side effect that might not be
so clear to users.

Related to
Bug #6976
2 years ago
Philippe Antoine 62a186ceef detect/rfb: move keywords to rust
Ticket: 7178

On the way, convert rfb.secresult to a generic integer with enumeration
cf ticket 6723
2 years ago
Victor Julien fa9cae3899 doc/userguide: document logging changes from 6 to 7
Minor other logging related improvements like clarifying language and
improving formatting for pdf output.
2 years ago
Philippe Antoine 0b2ed97f36 ssh: frames support
Ticket: 5734

Adds frames for SSH records, that come after banner, and before
the data is encrypted.
These records may contain cipher lists for instance.
2 years ago
Giuseppe Longo 70ed9f91d8 doc: add ldap protocol 2 years ago
Philippe Antoine bce8f4b853 detect/ssh: remove deprecated keywords
Ticket: 2377
2 years ago
Philippe Antoine 0a1062fad2 detect/mqtt: move keywords to rust
Ticket: 4863

On the way, convert some keywords to use the first-class integer
support.
And helpers for pure rust the support for multi-buffer.

Move the C unit tests about keyword mqtt.protocol_version
to unit tests for generic integer parsing, and test version 5
instead of testing twice version 3.

Also iterate all tx's messages for reason code as is done for other
keywords.

And allow detection on empty topics.
2 years ago
Jason Ish 5f516c5896 doc: add pf-ring plugin upgrade notes
Ticket: #7162
2 years ago
Philippe Antoine e0fd59a20d doc: state that payload-length includes the gaps 2 years ago
Jason Ish 4d3d57249a doc: update dns section of the eve format documentation 2 years ago
Jason Ish d3c08b9643 doc: upgrade guide for dns logging changes
Bug: #6281
2 years ago
Sascha Steinbiss 53c62432c6 doc: update MQTT configuration 2 years ago
Shivani Bhardwaj c66f1f4488 doc: add note about datasets string memcaps
Bug 3910
2 years ago
Victor Julien afc318737a doc/userguide: document threshold backoff type 2 years ago
Victor Julien e362a01f8d doc/userguide: document new threshold config options 2 years ago
Victor Julien 405491c3fc detect/detection_filter: add support for track by_flow 2 years ago
Victor Julien 3f04af7c7f doc: add thresholding by_flow 2 years ago
Jeff Lucovsky 01e20c91fb doc/transform: Correct typo 2 years ago
Jeff Lucovsky d205ff82d0 doc/transform: Describe the from_base64 transform
Issue: 6487

Document the new transform and indicate that it's the preferred way to
perform base64 decoding (preferred over base64_decode)
2 years ago
Philippe Antoine c9ce43b31e output: configurable payload_length field for alerts
Ticket: 7098
2 years ago
Victor Julien 3d059611c3 detect: add tls.alpn keyword
Ticket: #7108.
2 years ago
Victor Julien c79a382e42 eve/tls: log ALPN for client and server
Part of the extended logging.

Logs `client_alpns` and `server_alpns` arrays in the tls object.

Ticket: #7055.
2 years ago
Philippe Antoine ae72376ebe detect/snmp: move keywords to rust
Ticket: 4863

On the way, convert unit test DetectSNMPCommunityTest to a SV test.

And also, make snmp.pdu_type use a generic uint32 for detection,
allowing operators, instead of just equality.
2 years ago
Lukas Sismis bd9608771e doc: port user install and build instruction from master-6.0.x
Ticket: #6686
2 years ago
Lukas Sismis 521d1cb8e7 doc: update eBPF compilation instructions
Ticket: #6599
2 years ago
Victor Julien 8b42182fee doc/userguide: document iprep isset/isnotset 2 years ago
Victor Julien 2f74d435d3 doc/userguide: add more operators to iprep 2 years ago
Victor Julien 50ef646d45 doc/userguide: add noalert/alert keyword docs 2 years ago
Victor Julien c83e3285ae doc/userguide: give pcre1 to pcre2 proper heading 2 years ago
Juliana Fajardini 43b998aa73 userguide/upgrade: add note about alerts' increase
With triggering stream reassembly early, since for certain types of
rules there may be more alerts triggered - even in IPS mode, make this
clear in the upgrading section.

Bug #7026
2 years ago
Philippe Antoine 82c03f72c3 enip: convert to rust
Ticket: 3958

- transactions are now bidirectional
- there is a logger
- gap support is improved with probing for resync
- frames support
- app-layer events
- enip_command keyword accepts now string enumeration as values.
- add enip.status keyword
- add keywords :
    enip.product_name, enip.protocol_version, enip.revision,
    enip.identity_status, enip.state, enip.serial, enip.product_code,
    enip.device_type, enip.vendor_id, enip.capabilities,
    enip.cip_attribute, enip.cip_class, enip.cip_instance,
    enip.cip_status, enip.cip_extendedstatus
2 years ago
Victor Julien 17b32f98d7 doc/userguide: fix rule container typo
Fixes: 8781e9352a ("doc/userguide: add documentation for SMTP frames")
2 years ago
Victor Julien 8781e9352a doc/userguide: add documentation for SMTP frames 2 years ago
Juliana Fajardini aeb200e001 devguide: highlight commit message example
Although we have the example for a commit message in our Code Submission
Process sub-chapter, seems that people still oversee it a lot. It was
suggested that we put it in a note-box, to make it more visible.
2 years ago
Jason Ish 3eb8c728fd doc: update lua sandbox docs for allowed packages/functions 2 years ago
Jason Ish bc011f2205 lua: use rust crate to vendor (bundle) lua
Remove lua-dev(el) from all CI tests.
2 years ago
Jo Johnson ba6a976e06 doc: Initial doc for lua sandbox 2 years ago
Jo Johnson 712496bb3f lua: Remove luajit support
lua 5.4 support is not available in luajit

Ticket: #4776
2 years ago
Jo Johnson 586c92d9d5 lua: require lua 5.4
github-ci: Disable lua on debian 10 as it doesn't have Lua 5.4.

Ticket: #4776
2 years ago
jason taylor 47d6c3a3ab doc: add source verification docs
Ticket: #6908

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Shivani Bhardwaj 719fda3967 doc: add description about tls.subjectaltname
Feature 5234
2 years ago
Philippe Antoine 2c305ba37e pop3: protocol detection
Ticket: #6366
2 years ago
Philippe Antoine 7582b18a9f http: configures libhtp to allow spaces in uri
Ticket: #2881
2 years ago
Giuseppe Longo 8a171c9d74 doc: add arp changes 2 years ago
Philippe Antoine fcdd7f000a detect: add options to app-layer-protocol keyword
Ticket: 4921

app-layer-protocol keyword accept an optional mode to precise
which protocol we want to match: toclient, toserver, final,
or original
2 years ago
Philippe Antoine 715bf048ee frames: rust API makes tx_id explicit
And set it right for SIP and websocket,
so that relevant tx app-layer metadata gets logged.

Ticket: 6973
2 years ago
Shivani Bhardwaj 6d92596548 doc: add note about fast_pattern w base64_data
Bug 5220
2 years ago
jason taylor abb74245cc doc: update normalization notes
Ticket: #6781

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 5dacf4d92b doc: add http.connection ref and fix location
Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Victor Julien fcca5c7514 detect/iprep: update doc about 0 value
A value of 0 was already allowed by the rule parser, but didn't
actually work.

Bug: #6834.
2 years ago
jason taylor aa919f8081 doc: update flowbits information
Ticket: #6991

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Giuseppe Longo 4f1e71bb4e doc: add sdp update 2 years ago
Juliana Fajardini bb59124063 yaml: unify 0 stats counter config option terms
When we added feature #5976 (72146b969), we overlook that we also have
a config stats option for the human-readable stats logs to output
0 counters.
Due to not seeing this before, we now have two different setting names
for basically the same thing, but in different logs:
- zero-valued-counters for EVE
- null-values for stats.log

This ensures we use the same terminology, and change the recently added
one to `null-values`, as this one has been around for longer.

Task #6962
2 years ago
Philippe Antoine 44b6aa5e4b app-layer: websockets protocol support
Ticket: 2695
2 years ago
Sascha Steinbiss 120313f4da ja4: implement for TLS and QUIC
Ticket: OISF#6379
2 years ago
Jeff Lucovsky 7a5a1e2560 doc: Describe noalert keyword
Issue: 6685
2 years ago
Juliana Fajardini 72146b969c eve/stats: allow hiding counters whose valued is 0
Some stats can be quite verbose if logging all zero valued-counters.
This allows users to disable logging such counters. Default is still
true, as that's the expected behavior for the engine.

Task #5976
2 years ago
Juliana Fajardini 514e8b8b04 userguide: document exception policy stats
Configuration options and defaults, existing counters etc.

Related to
Task #5816
2 years ago
Juliana Fajardini 94b111283d userguide: highlight exception policy effects
Some exception policies can only be applied to entire flows or
individual packets, for some exception scenarios. Make this easier to
read, in the documentation.

Related to
Task #5816
2 years ago
jason taylor 7de16809ef doc: update http keyword listing order
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 8b3db3c3b5 doc: update file.name keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 49dba7bb94 doc: update file.data keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor bee3aa9709 doc: update http.response_header keyword
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor dcb548106e doc: update http.request_header keyword
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 3f5d228b9e doc: update http.host http.host.raw keyword
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 739dfe5e5e doc: update http.location keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 9ddd8cf9e0 doc: update http.server keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 3af98f3b92 doc: update http.response_body keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 64760e2e75 doc: update http.response_line keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 566bc0d39c doc: update http.stat_msg keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 271321249f doc: update http.stat_code keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 71d8488cb5 doc: update http.request_body keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor c2783e9391 doc: update http.header_names keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 5eadbc2ff0 doc: update http.start keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 7e65554462 doc: update http.referer keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 876dfb99ca doc: update http.content_len keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 8ff06c1bc0 doc: update http.content_type keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor b2854486dd doc: update http.connection keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 75436dff9c doc: update http.accept_lang keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor f6375e487e doc: update http.accept_enc keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 7e3288f5a7 doc: update http keyword normalization notes
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 9e87d89d2e doc: update http.accept keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 8307168ae7 doc: update http.user_agent keyword
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 75c4cdfa1c doc: update http.cookie keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 7a28874c8d doc: update http.header keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor b3af723486 doc: remove legacy description/duplicated data
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 292b3eb9b3 doc: update http.request_line keyword information
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor c7f351bd6e doc: update http.protocol keyword documentation
Ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 2d0ceedeba doc: update urilen keyword documentation
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor ef118aa582 doc: remove legacy uricontent information
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 96e8c10276 doc: update http.uri and http.uri.raw keywords
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor bf192926a8 doc: update http.method keyword
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 0cce5ba447 doc: add http keyword links
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor fd46175203 doc: update http primer information
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
jason taylor 54fd35c5b4 doc: remove legacy tables and image references
ticket: 3025

Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Victor Julien 34f53f85bc systemd: reimplement sd_notify logic using UNIX socket
One of the lessons of the XZ backdoor story was that just linking to
libsystemd to call sd_notify is discouraged by the systemd project:

Lennart Poettering:
"PSA: In context of the xzpocalypse we now added an example reimplementation
of sd_notify() to our man page:

https://www.freedesktop.org/software/systemd/man/devel/sd_notify.html#Notes

It's pretty comprehensive (i.e. uses it for reload notification too), but
still relatively short.

In the past, I have been telling anyone who wanted to listen that if all you
want is sd_notify() then don't bother linking to libsystemd, since the
protocol is stable and should be considered the API, not our C wrapper
around it. After all, the protocol is so trivial"

From: https://mastodon.social/@pid_eins/112202687764571433

This commit takes the example code and uses it to reimplement the notify
logic.

The code is enabled if Linux is detected in configure. Since the code
won't do anything if the NOTIFY_SOCKET env var isn't set, this should
also work fine on systems w/o systemd.

Ticket: #6913.
2 years ago
Jason Ish 51bf1c3510 docs/userguide: use a consistent date for reproducible builds
By default, when Sphinx generates the man pages, the current date will
be embedded in them. This can be set to a specific date with the
"today" variable. Typically the date embedded in manpages in the
release date.

To achieve this, attempt to use the environment variable, RELEASE_DATE
to set the "today" variable, reverting back to the empty string if not
set. It is up to our build system to properly set this date.

Ticket: #6911
2 years ago
Jason Ish 4c16032f63 docs/conf.py: fix python escape warning
/home/jason/oisf/dev/suricata/master/doc/userguide/conf.py:74: SyntaxWarning: invalid escape sequence '\('
  "AC_INIT\(\[suricata\],\s*\[(.*)?\]\)",
2 years ago
Jason Ish 8284df3ed4 devguide: add an upgrade section
Add an upgrade section to the devguide. This should cover any changes
to APIs that users might be using from plugins or as a library user.
2 years ago
Hadiqa Alamdar Bukhari 3aa313d0c5 dns: add dns.rcode keyword
dns.rcode matches the rcode header field in DNS messages
It's an unsigned integer
valid ranges = [0-15]
Does not support prefilter
Supports matches in both flow directions

Task #6621
2 years ago
Juliana Fajardini 7b2bef1bc6 devguide: add chapter and short intro to libsuricata
With this, we intend to make more users aware of this use case, and that
we are working towards this.

Related to
Task #2693
2 years ago
Hadiqa Alamdar Bukhari 4b81851097 dns: add dns.rrtype keyword
It matches the rrtype field in DNS
It's an unsigned integer match
valid ranges = [0-65535]
Does not support prefilter
Supports flow in both directions
Feature #6666
2 years ago
Giuseppe Longo 3dc24a967a doc: add upgrade section for 8 2 years ago
Giuseppe Longo add95002b9 suricata.yaml: define SIP_PORTS 2 years ago
Philippe Antoine e22217bda8 doc: there is no right shift for integer bitmasks
Ticket: 6628
2 years ago
Lukas Sismis 356f9ffa13 doc: mention the limited number of RX/TX descriptors on Intel NICs
Ticket: 6748
2 years ago
jason taylor e891ef3d4e doc: add pcap file logging variable details
Signed-off-by: jason taylor <jtfas90@gmail.com>
2 years ago
Jeff Lucovsky ee6208be9d config/nss: Remove libnspr/libnss traces
Issue: 6712
2 years ago
Philippe Antoine 8f73a0ac55 smtp: config limit maximum number of live transactions
Ticket: #6477
2 years ago
Philippe Antoine 4175680a8a http1: configurable max number of live tx per flow
Ticket: #5921

Co-authored-by: Jason Ish <jason.ish@oisf.net>
2 years ago
Philippe Antoine f6e1a20215 detect: dns.opcode as first-class integer
Ticket: 5446

That means it can accept ranges
2 years ago
Juliana Fajardini 244a35d539 userguide: fix explanation about bsize ranges
Our code handles Uint ranges as exclusive, but for bsize, our
documentation stated that they're inclusive.

Cf. from uint.rs:

    DetectUintMode::DetectUintModeRange => {
        if val > x.arg1 && val < x.arg2 {
            return true;
        }
    }

Task #6708
2 years ago
Philippe Antoine b8bc2c7e0f doc: integer keywords
Ticket: 6628

Document the generic detection capabilities for integer keywords.
and make every integer keyword pointing to this section.
2 years ago
Jason Ish 8bf8131c31 doc: note what version "requires" was added in 2 years ago
jason taylor 3cb7112aa5 detect: update smb.version keyword
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Eloy Pérez González a4901a1f70 smb: add smb.keyword documentation 3 years ago
Juliana Fajardini df6444822e userguide: clarify midstream exception policy
The description of behavior when midstream is enabled and exception
policy is set to ignore wasn't descriptive enough.

Fix typos.
3 years ago
Lukas Sismis 6e4cc79b39 doc: remove references to prehistoric versions
Remove references that are mentioning Suricata 3 or less
As a note - only one Suricata 4 reference found:
(suricata-yaml.rst:"In 4.1.x")
Fast pattern selection criteria can be internally found by inspecting
SupportFastPatternForSigMatchList and SigTableSetup functions.

Ticket: #6570
3 years ago
Lukas Sismis 2a2898053c dpdk: add interrupt (power-saving) mode
When the packet load is low, Suricata can run in interrupt
mode. This more resembles the classic approach of processing
packets - CPU cores run low and only fetch packets
on interrupt.

Ticket: #5839
3 years ago
Lukas Sismis ca6f7c2d00 dpdk: rework hugepage hints to use per-numa information
Previous integration of hugepage analysis only fetched data
from /proc/meminfo. However this proved to be often
deceiving mainly for providing only global information and
not taking into account different hugepage sizes (e.g. 1GB
hugepages) and different NUMA nodes.

Ticket: #6419
3 years ago
Jeff Lucovsky 58f882db94 doc/pcap-log: Remove squil documentation
Issue: 6347
3 years ago
Philippe Antoine adf5e6da7b detect: strip_pseudo_headers transform
Ticket: 6546
3 years ago
Philippe Antoine 4933b817aa doc: fix byte_test examples
As this keyword has 4 mandatory arguments, and some examples
had only three...

Ticket: 6629
3 years ago
Juliana Fajardini a37fa62710 devguide: explain example-rule container usage
Have these options documented, so that whoever writes rule-related
documentation can easily know what they could use to make the doc look
better.
3 years ago
Juliana Fajardini fc2acf8cb0 devguide: fix main channels list
Sphinx and RtD sometimes render lists in weird ways. The communication
channels list barely looked like one, at all...
3 years ago
Juliana Fajardini d15877b2c0 devguide: update branches, refer to backports guide
Update the list of active branches to include 7 renaming and new master,
link to backports document.
3 years ago
Juliana Fajardini 9fbdfd219c devguide: add chapter with backports guide
Task #6568
3 years ago
Juliana Fajardini de8bffd244 devguide: doc from behavior changes needs ticket #
If a commit introduces code that changes Suricata behavior, the related
documentation changes should go in a separate commit, but refer to the
same ticket number.
This reduces the chances of said changes being lost if there are backports
while still keeping the backporting process a bit less bulky, for each
commit.

Related to
Task #6568
3 years ago
Juliana Fajardini 71e4ca81ef devguide: reorganize pr-workflow section
This section seemed to aim both at PR reviewers and PR authors at the
same time, even though some info is probably of low value for
contributors.

Created new section for PR reviewers and maintainers, and kept the info
for PR authors separated. Also highlighted information on requested
changes and stale PRs.
3 years ago
Juliana Fajardini 08eb67f74c devguide: make 'contributing' a chapter
This could be justified from a semantic point of view, and also can help
in bringing more attention to where this information is, as it is less
hidden, now.

Also add Dev Guide as one of our resources in our Readme.
3 years ago
Jason Ish 5d5b0509a5 requires: add requires keyword
Add a new rule keyword "requires" that allows a rule to require specific
Suricata versions and/or Suricata features to be enabled.

Example:

  requires: feature geoip, version >= 7.0.0, version < 8;
  requires: version >= 7.0.3 < 8
  requires: version >= 7.0.3 < 8 | >= 8.0.3

Feature: #5972

Co-authored-by: Philippe Antoine <pantoine@oisf.net>
3 years ago
Juliana Fajardini bba3d4fc63 userguide/eve: explain pgsql requests & responses
Add a more visible explanation of that requests, responses, frontend and
and backend are, in Pgsql context, to avoid having to repeat that over
different portions of the docs.
3 years ago
Juliana Fajardini 30ac77ce65 pgsql: add cancel request message
A CanceldRequest can occur after any query request, and is sent over a
new connection, leading to a new flow. It won't take any reply, but, if
processed by the backend, will lead to an ErrorResponse.

Task #6577
3 years ago
Juliana Fajardini 7dcc2e7a71 doc/eve-format: break pgsql section to char limit 3 years ago
Jason Ish c1a8dbcb72 doc/userguide: document dns.query.name, dns.answer.name
With some other minor cleanups in the DNS keyword section.
3 years ago
Jason Ish b11bb1c412 detect: rename DetectAppLayerInspectEngineRegister2
Rename DetectAppLayerInspectEngineRegister2 to
DetectAppLayerInspectEngineRegister as there is no other variant of
this function, and the versioning with lack of supporting
documentation can lead to confusion.
3 years ago
Jason Ish 50be098839 detect: rename DetectAppLayerMpmRegister2 to DetectAppLayerMpmRegister
The old DetectAppLayerMpmRegister has not been around since 4.1.x.
Rename the v2 of this function to a versionless function as there is no
documentation referring to what the 2 means.
3 years ago
Victor Julien 3456dea276 doc/userguide: update guidance on 5 to 6 upgrading
TCP memory use can be higher than expected in certain configs.

Ticket: #6552.
3 years ago
Shivani Bhardwaj b9540df5ad doc: clarify IP-only with iprep 3 years ago
jason taylor fc81c99b58 doc: add file.name information to smtp keyword doc
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor 9d1ad0187e doc: add file.name information to nfs keyword doc
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor 327ba7397a doc: add file.name information to smb keyword doc
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor e4077b8803 doc: update ftp keyword doc example rule format
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor bb1f7575d3 doc: add file.name information to ftp keyword doc
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor bbc17b1c7d doc: add file.name information to http keyword doc
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Shivani Bhardwaj 2b73a17bb0 detect: rename whitelist to score
The term "whitelist" is actually used to store a list of DetectPort type
items for tcp and udp in detect.h. Using the same term for also keeping
the score that affects the grouping of rules is confusing. So, rename
the variable to "score".
3 years ago
Jason Ish cc0adaaf4a userguide: remove old css files
In our conf.py we reference some ReadTheDocs stylesheets that appear to
be old and break formatting of some items like bulletted lists.

Bug: #6589
3 years ago
Philippe Antoine 32cce122e1 detect: header_lowercase transform
Ticket: 6290
3 years ago
jason taylor c50002978d doc: update file.data keyword documentation
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Juliana Fajardini a649a92afd userguide: update tls not_after/not_before mentions
Our tls fields not_after and not_before are actually logged as
`notafter` and `notbefore`, but were documented with the underscore.

Update the documentation, since updating the log format itself would be
a breaking change.

Task #5494
3 years ago
Juliana Fajardini 58fb559594 userguide: document flow_id, with examples
Flow_id explanation expanded from version shared by Peter Manev.

Task #6445
3 years ago
Sascha Steinbiss 0c55fe3515 detect: add mqtt.connect.protocolstring
Ticket:  OISF#6396
3 years ago
Victor Julien 6b2c33990f doc/userguide: add tag keyword page
Ticket: #3015.
3 years ago
Victor Julien 4a02a14df1 doc/userguide: document host table yaml settings 3 years ago
Jeff Lucovsky 9ee55d2394 doc/transform: Document case-changing transforms.
Issue: 6439
3 years ago
Ralph Eastwood 9865164e75 napatech: update docs to remove hba reference 3 years ago
Philippe Antoine ab9b6e30b1 detect: adds flow integer keywords
Ticket: #6164

flow.pkts_toclient
flow.pkts_toserver
flow.bytes_toclient
flow.bytes_toserver
3 years ago
Kirjan Kohuladas c8a7204b15 doc/rule-profiling: fix suricatasc typo 3 years ago
Juliana Fajardini 54d8f45afc userguide: add proper label to RPM install section
Use a reference label that is stable, instead of one that could change
in case a new section is added above it.
3 years ago
Daniel Olatunji 0e5fdbb8fb doc: be consistent with the use of "sudo"
Issue: #5720
3 years ago
Comfort Amaechi cf8b630ed2 userguide: cover install-full and install-conf
Ticket: #6342
3 years ago
jason taylor 535938d7f6 doc: add tls.cert_chain_len docs
Ticket: #6386

Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Juliana Fajardini 1a132f454a docs: adjust readthedocs config to new options
Our documentation was failing to build, seems connected to the new way
of indicating build options (cf
https://readthedocs.org/projects/suricata/builds/22112658/,
https://docs.readthedocs.io/en/stable/config-file/v2.html#build,
and https://docs.readthedocs.io/en/stable/config-file/v2.html#build-os).

Added the build.os required new field, and adjusted the way python
version is passed.

For the new configuration style for read the docs, one of the ways to
pass extra configuration for python is having a requirements file.
3 years ago
Juliana Fajardini ffed5eb3d3 doc/quickstart: add software-properties instruction
This is indicated in the `Installation` section, but not in the
quickstart, and it felt like a valid addition, here, too.
3 years ago
Juliana Fajardini 4ab4f711de doc/install: link to devguide's install from git
Although we have an updated version of instructions for installation
from git, our install guide was only referring to RedMine, which is less
up-to-date.

Kept that reference, since it might still be useful for non-Ubuntu
cases.
3 years ago
Shivani Bhardwaj 0a4011655f doc/code-submission: add commit sign guide 3 years ago
Travis Green 96a0e7016f doc: add tcp flags documentation
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Jason Ish 2b57179d65 readthedocs: pin theme to sphinx_rtd_theme
ReadTheDocs changed the default theme.
3 years ago
Jason Ish ae3b1a9e36 configure: more idiomatic autoconf for sphinx-build checks
- Use SPHINX_BUILD instead of HAVE_SPHINX_BUILD, as here we're
  actually using the path of the program.

- Wrap some elements in [] as is done in modern idiomatic autoconf
3 years ago
Victor Julien c0201d3212 doc/userguide: add reload-tenant(s) doc 3 years ago
Victor Julien 6ba0956a75 multi-tenant: allow reload w/o yaml path
Store yaml path in de ctx, for reloads w/o path.

This allows for a simpler `reload-tenant N`, where the previously
used yaml is reloaded.
3 years ago
Victor Julien c87803ea0e detect: add multi-detect.config-path
Add option to specify path from which to load the tenants.

Mostly meant to be used in testing.
3 years ago
jason taylor be324d7856 doc: update file.magic information
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor 008cc78a03 doc: update fileext keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor e99b1787a2 doc: update file.name keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Alexandre Iooss c80941dd8d doc/userguide: improve SCStreamingBuffer example
Add direction indication in SCStreamingBuffer usage example.
This adds documentation for the changes introduced by commit
5b1d8c7e94.
3 years ago
Juliana Fajardini 5cef8fdfdf userguide/ppa: fix typo
The launchpad repo for suricata-beta read 'oisd' instead of 'oisf'
3 years ago
Juliana Fajardini 4fd3205bf0 userguide/install: add info on ubuntu ppa installs
Bringing info that was only in our Redmine wiki to our documentation.

Task #6231
3 years ago
Juliana Fajardini 765b05f139 docs: miscellanea updates
- Fix a DPDK reference link, add some line breaks.
- Exemplify what a good commit message looks
like, for Suricata's commit style.
3 years ago
Jason Ish 3e2a62915b doc/userguide: display version on front page
When viewing the docs online at Readthedocs, or similar it might be
immediately apparent what version of the documentation is being
displayed. Display the version on the first line before the table of
contents to make it clear.
3 years ago
Andreas Herz 26130d903f doc: add note about cpu prio overwrite behavior 3 years ago
Andreas Herz da68692547 doc: dataset - add type to be mandatory 3 years ago
Juliana Fajardini f16d428fd1 userguide/upgrade: link to exception policy FAQ
With the release of 7, people are starting to have issues with traffic
being blocked. While we don't add a more expansive documentation for
this, add a link to the FAQ covering possible fixes for drops caused by
the fail closed default behavior of the exception policies.
3 years ago
Juliana Fajardini 24745b3a73 doc/userguide: update ref to installation from git
It was still pointing to the redmine wiki and the documentation to be
truthful to the new documentation.
3 years ago
Jason Ish 500a7abf57 doc/support-status: add support status page
Convert the wiki page,
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Support_Status
into a page that is versioned along with the user guide.

Includes many updates to reflect our current support status.
3 years ago
Jason Ish ad94ebddb7 doc/userguide: avoid horizontal scroll on rtd
Add CSS to avoid horizontal scroll in tables on ReadTheDocs. This will
wrap the text instead.

Also, vertically align to top so if a cell does wrap, other cells that
do not wrap don't place the text in the middle of the cell.
3 years ago
Juliana Fajardini 9900bdc162 userguide/eve: format and reorganize alert section
The `field action` portion seemed to be comprised of a more generic
section that followed it. Also formatted the section for lines to be
within the character limit.
3 years ago
Juliana Fajardini 0437173848 output/drop: add verdict field
Related to
Bug #5464
3 years ago
Andreas Herz 24bcaf07ae doc/upgrade: add more 6 to 7 changes and minor improvements
Issue: #5473
3 years ago
jason taylor 62170d2fb9 doc: hyperscan information updated
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor c95fce39f0 doc: add multi buffer support note to keyword docs
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
jason taylor 88960e909d doc: add multiple buffer matching documentation
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Jason Ish 0b5dc58e15 doc/userguide: more eve http upgrade notes
Add more information with a examples of how the changes to EVE HTTP
logging may affect users.
3 years ago
jason taylor 19a0b2b0d2 userguide: add details about tcp flow pass
Signed-off-by: jason taylor <jtfas90@gmail.com>
3 years ago
Jeff Lucovsky 47e268d609 detect/byte_math: Document bytes variable name
Issue: 6145

Document that byte_math accepts a variable name for bytes (optional)
3 years ago
Jeff Lucovsky 3a4554fc2b detect/byte-jump: Document var usage for nbytes
Issue: 6105
3 years ago
Jeff Lucovsky 73b943276e doc/byte_test: Document byte_test variable usage
Issue: 6144

This commit updates the byte_test documentation now that a variable name
can be used for the nbytes value.
3 years ago
Lukas Sismis 5a3ecbde62 doc: update install instructions
Ticket: #5987
3 years ago
Shivani Bhardwaj b6f8f5eb3b doc/http: use "sticky buffer" where applicable 3 years ago
Jeff Lucovsky ac8f91f44f config: Document cluster_rollover deprecation
Issue: 6128

cluster_rollover is no longer permitted; using it will generate a
warning message and it'll be replaced with cluster_flow
3 years ago
Jeff Lucovsky 29621c7f0d doc/afpacket: Document rollover deprecation 3 years ago
Juliana Fajardini e306bc6ecc exception: fix use of master switch with default
If an exception policy wasn't set up individually, use the GetDefault
function to pick one. This will check for the master switch option and
handle 'auto' cases.

Instead of deciding what the auto value should be when we are parsing
the master switch, leave that for when some of the other policies is to
be set via the master switch, when since this can change for specific
exception policies - like for midstream, for instance.

Update exceptions policies documentation to clarify that the default
configuration in IPS when midstream is enabled is `ignore`, not
`drop-flow`.

Bug #6169
3 years ago
Shivani Bhardwaj 18947c01e0 suricatasc: update running instructions 3 years ago
Jeff Lucovsky d822ba58e1 doc/multi-tenant: Clarify live traffic support
Issue: 5930

This commit clarifies the live traffic support for multi-tenancy.
3 years ago
Shivani Bhardwaj aeb408dd9d doc: fix typo encryption-handling 3 years ago
Jason Ish 90bb73046c userguide/security: grammar fixes
Apply grammer fixes brought up in GitHub review comments by Juliana.
3 years ago
liaozhiyuan a748164d58 dpdk: support multiple same EAL arguments
DPDK apps can specify multiple arguments of the same
type. YAML format only allows unique keys within a single
node. This commit adds support for multiple EAL arguments
of the same type to be used within suricata.yaml.

Ticket: #5964
3 years ago
Jason Ish 5f598931ac doc/userguide: start on a security chapter
This is the start of a security consideration chapter, starting with
directions on how to run Suricata as a non-root user.
3 years ago
Jason Ish 14daa42e0b doc/userguide: dataset upgrade notes 3 years ago
Jason Ish 4a97461f9a doc/userguide: notes about Lua rules being disabled by default 3 years ago
Juliana Fajardini c0db25d055 userguide: update exception policy behaviors table
Some exception policies can only be applied to the triggering packet or
only make sense considering the whole flow. Highlight such cases in the
table showing each exception policy.

Related to
Bug #5825
3 years ago
Juliana Fajardini 0c2922f02e doc: add midstream scenarios for exception policy
The different interactions between midstream pick-up sessions and the
exception policy can be quite difficult to visualize. Add a section for
that in the userguide.

Related to
Bug #5825
3 years ago
Philippe Antoine 415b036dca http1: implement http.request_header
So that it is generic for HTTP1 and HTTP2

Ticket: #5780
3 years ago
Philippe Antoine 7256ec8a6e detect/http2: do not escape ':' in header name or value
for keywords http.request_header and http.response_header

Ticket: #5780
3 years ago
Philippe Antoine 656554f293 http2: rename http2.header to http.request_header
Or http.response_header based on the direction

http2.header had a different behavior than http.header and this was
confusing.

Ticket: #5780
3 years ago
Philippe Antoine e30f4943ae doc: GitHub PRs workflow 3 years ago
Jeremy MountainJohnson 435d74d744 userguide/install: add info on arch-based installs
Add Arch AUR information for installation on Arch-based distros.
3 years ago
Philippe Antoine 5c419b79b7 doc: upgrade guide for logging http custom headers
Ticket: #5320
3 years ago
Juliana Fajardini f83c67bbb5 doc: add missing rule to engine-analysis section
The first report didn't have an example rule to go with.
3 years ago
Lukas Sismis 11c3aa868d doc: add DPDK Bond PMD docs
Ticket: #6099
3 years ago
Philippe Antoine 9287cbc33a http: logs custom headers in a subobject
This subobject is request_headers or response_headers

This especially avoids json keys collisions.

Ticket: #5320

Also fixes typo referrer/referer
3 years ago
Jason Ish 5af73b3879 doc/userguide: document include files
Document how to use include files, plus add a deprecation notice on
the use of multiple "include" statements.
3 years ago
Jason Ish a71dee5516 doc/userguide: merge logging changes in 7.0 upgrade notes
Two "Logging changes" sections existed, merge.
3 years ago
Jason Ish f8620d0ed2 docs: update url to docs.suricata.io 3 years ago
Victor Julien 3de687f30c profiling/rules: doc updates 3 years ago
Eric Leblond 694bff11ac doc: add rule profiling information 3 years ago