Commit Graph

17501 Commits (f0eaebe3a64d5ff0c46a7018efcf8af23c3fe95f)
 

Author SHA1 Message Date
Philippe Antoine 7805103f68 detect: fix -Wshorten-64-to-32 warnings for content inspection
Ticket: 6186
3 months ago
Jeff Lucovsky dc994effd6 detect/entropy: Correct slot for url initialization
Correct the sigmatch slot for url initialization.
3 months ago
Victor Julien 26f7632324 htp: fix unittests shutdown order
Make sure to free flow/packets before cleaning up global structs.

Solves an crash sometimes seen on OpenBSD in test HTPParserTest26.
3 months ago
Philippe Antoine 030493c4a8 lua: better doc for ja3 lib
Completes commit 7e78ad944c

Tickt: 7605
3 months ago
Jason Ish c13f85f18d lua: convert file functions to lib suricata.file
This also breaks out the fileinfo function into a method per file info
item. And likewise for state, just return the state and add a new method
for checking if the file is stored.

Ticket: #7491
3 months ago
Victor Julien 3b5a99d239 github-ci: use all profraw files in coverage test 3 months ago
Victor Julien 7b46ec8c24 github-ci: add --list-app-layer-hooks checks 3 months ago
Victor Julien acc7bd0c6f app-layer: add --list-app-layer-hooks options
This provides a list of available hooks.

Ticket: #7702.
3 months ago
Victor Julien 019c746d79 github-ci: add -h option to coverage test 3 months ago
Juliana Fajardini 62949b3815 pgsql: remove unused "password_message" code
``Password message`` is actually logged just as ``Password``.
Remove related dead code.
3 months ago
Juliana Fajardini 6f81caf8d4 pgsql: clearly indicate redacted password message
If a password message was seen while logging passwords was disabled
for pgsql, this would lead to an empty request being logged.
Instead of simply not logging anything when there is a password message
and this is disabled, however, log instead that said password is
redacted.

Bug #7647
3 months ago
Jason Ish 11cef2980b github-ci: use current directory for unit test logging
/tmp appears to exist when you make it, but doesn't appear to actually
exist after msys translation, so just use "."
3 months ago
Shivani Bhardwaj c1b932747c schema: add rule keyword mapping for flow 3 months ago
Victor Julien b14734c113 eve/verdict: log 'accept' for firewall accept rules
Ticket: #7698.
3 months ago
Shivani Bhardwaj e2f0370f4c decode: remove unnecessary PKT_STREAM_EOF flag
PKT_STREAM_EOF flag is set only when a pseudo packet is created. In all
the users of this flag, it suffices to use PKT_PSEUDO_STREAM_END
instead. PKT_PSEUDO_STREAM_END is the more widely used flag as well so
keep it and remove this unneeded flag creating a vacancy.
3 months ago
Shivani Bhardwaj 9f6d52f569 stream/reassemble: remove unused min_inspect_depth
Whether minimum inspection depth should be respected is an important
parameter but it is only used by one caller of StreamReassembleRawDo fn
to calculate progress value. This progress value is already passed as a
parameter to the said fn.
3 months ago
Shivani Bhardwaj edbba842e8 src: apply clang formatting changes 3 months ago
Shivani Bhardwaj 623229728d signature: rename num to iid
to signify that it refers to the internal ID of the signature and
distinguish it from the "id" param that signifies the "sid" specified in
a rule.
3 months ago
Philippe Antoine fd7bd9c200 src: new file detect-engine-inspect-buffer.h
For InspectionBuffer structure and related functions

Bindgen it for rust, especially transforms

Ticket: 7667
3 months ago
Philippe Antoine df0dc2e8ea rust: bindgen SCDetectSignatureAddTransform
by moving it to detect-engine-buffer.h and prefixing it

Ticket: 7667
3 months ago
Philippe Antoine 09664df8ef build: reorder files in Makefile.am 3 months ago
Philippe Antoine 1f871cdd64 rust: reuse/reexport suricata_sys DetectEngineThreadCtx
Use the bindgen'd version instead of our own recoded one
3 months ago
Philippe Antoine cf336396c3 rust: bindgen detect-engine-helper.h
Ticket: 7667

Begin by focusing on transforms
3 months ago
Juliana Fajardini 3286ae2cc9 eve: add ip version field
Adds the field `ip_v` (integer) to the common fields of EVE.
To facilitate searches based on IP version, for instance.

Task #7047
3 months ago
Victor Julien c85d301712 detect: assist clang to suppress warning
CC       detect-engine-loader.o
In file included from /usr/include/stdio.h:970,
                 from suricata-common.h:77,
                 from detect-engine-loader.c:24:
In function 'fgets',
    inlined from 'DetectLoadSigFile' at detect-engine-loader.c:139:11:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:313:12: warning: argument 2 value -1 is negative [-Wstringop-overflow=]
  313 |     return __fgets_alias (__s, __n, __stream);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/features.h:523,
                 from /usr/include/dirent.h:25,
                 from suricata-common.h:73:
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h: In function 'DetectLoadSigFile':
/usr/include/x86_64-linux-gnu/bits/stdio2-decl.h:96:14: note: in a call to function '__fgets_alias' declared with attribute 'access (write_only, 1, 2)'
   96 | extern char *__REDIRECT (__fgets_alias,
      |              ^~~~~~~~~~
3 months ago
Victor Julien 1e68213098 util/pages: suppress scan-build on page check
Suppress the following warning:

util-pages.c:49:13: warning: Both PROT_WRITE and PROT_EXEC flags are set. This can lead to exploitable memory regions, which could be overwritten with malicious code [security.MmapWriteExec]
   49 |         if (mprotect(ptr, getpagesize(), PROT_READ|PROT_WRITE|PROT_EXEC) == -1) {
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.

As the check is done to check if the OS allows it or not, for enabling
JIT in pcre.
3 months ago
Victor Julien 61b21dd167 mpm/hs: suppress scan-build warning
util-mpm-hs-cache.c:83:25: warning: Value of 'errno' was not checked and may be overwritten by function 'fread' [unix.Errno]
   83 |     size_t bytes_read = fread(buffer, 1, file_sz, file);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.

"After calling 'rewind' reading 'errno' is required to find out if the call has failed".
3 months ago
Victor Julien 19e3a70ca3 detect/byte_test: suppress scan-build warning
detect-bytetest.c:523:14: warning: 2nd function call argument is an uninitialized value [core.CallAndMessage]
  523 |         if (!DetectBytetestValidateNbytes(data, nbytes, optstr)) {
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
3 months ago
Victor Julien 159bacb268 github-ci: bump scan-build to 20 on Ubuntu 25.04 3 months ago
Eric Leblond f342ae9e8c misc: add git-clang-format to shell.nix 3 months ago
Eric Leblond 96962536a7 misc: add python support to shell.nix
This allows to run suricata-verify from the shell environment.

Ticket: #7669
3 months ago
Eric Leblond 649a032ba9 github-ci: add a nix build
This will test that shell.nix is working properly and also
test compile-commands Makefile target.

Ticket: #7669
3 months ago
Eric Leblond 2a2f38ff88 build: add compile-commands target
It generates a `compile_commands.json` suitable for clangd.
This is almost mandatory to have a command like this one for NixOs
users as tool like bear are not able to intercept correctly the
clang calls due to the usage of a wrapper.

Ticket: #7669
3 months ago
Eric Leblond 20371dbdf6 build: add EXTRA_CFLAGS
This can be used from command line to add some build options without
running a full configure. This is convenient for single run build.
3 months ago
Eric Leblond 90a08ecfc3 misc: add a shell.nix file
By adding a `shell.nix` file in the root directory of the source,
NixOs (https://nixos.org/) users can get a ready for development
environment by simply running `nix-shell` from the source tree.

This is really convenient as the installation of needed packages
is just done as user and transparently for the user/developer.

Ticket: #7669
3 months ago
Jason Ish 97eaeef7d8 lua: convert SMTP functions to lib: suricata.smtp
Ticket: #7606
3 months ago
Eric Leblond e499a98ba9 datasets: fix set with ip sets
It can get an IPv6 or an IPv4 so we need to handle both length.

Ticket: #7689
3 months ago
Victor Julien ee59d9a894 flow: fix unittests for ThreadVars requirement 3 months ago
Victor Julien c648abad0d flow: fix time handling for non-TCP
Track per flow thread id for UDP and other non-TCP protocols. This
improves the timeout handling as the per thread timestamp is used in
offline mode.

Fixes: ada2bfe009 ("flow/worker: improve flow timeout time accuracy")
Fixes: ef396f7509 ("flow/manager: in offline mode, use owning threads time")

Bug #7687.
3 months ago
Jeff Lucovsky 44d6886dc1 detect/ftp: Use helper functions with ftp.command
Refactor ftp.command handling to use helper functions from
detect-engine-helper.[ch] for reduced code duplication.
3 months ago
Philippe Antoine 7e78ad944c lua: convert ja3 function into suricata.ja3 lib
Ticket: 7605
3 months ago
Philippe Antoine c578015edf lua: remove unused code
Since hooks, we do not need a specific SMTP buffer list id.
3 months ago
Philippe Antoine 06ad72e83e quic: ja3 getter function uses direction
so that future lua code can specify a direction
3 months ago
Philippe Antoine d1bca4a9b9 util/lua: fix new -Wshorten-64-to-32 warning
Ticket: 6186
3 months ago
Philippe Antoine 4463fbac15 output/ftp: fix new -Wshorten-64-to-32 warning
Ticket: 6186

Fixes d674ce2510 ("app/ftp: Use Rust FTP response line handling")
3 months ago
Philippe Antoine 41fcf3b356 detect: fix some -Wshorten-64-to-32 warnings
Ticket: #6186
3 months ago
Philippe Antoine 527b05b6b8 datasets: fix new -Wshorten-64-to-32 warning
Ticket: #6186
3 months ago
Philippe Antoine 8545ef2e56 detect: factorize code for DetectSetupDirection
Ticket: 7665

Instead of each keyword calling DetectSetupDirection, use a
new flag SIGMATCH_SUPPORT_DIR so that DetectSetupDirection gets
called, before parsing the rest of the keyword.

Allows to support filesize keyword in transactional signatures
3 months ago
Jason Ish 14864d49ac examples/altemplate: remove rs_ naming 3 months ago
Jason Ish e8d7d3d83d scripts/setup-app-layer: fixes for name changes 3 months ago