]>
git.ipfire.org Git - thirdparty/suricata.git/log
Emmanuel Thompson [Mon, 4 May 2020 15:38:16 +0000 (11:38 -0400)]
decode/flow/esp: Add ESP decoder & flow
- Adds an ESP (Encapsulating Security Payload) header decoder
- Tracks ESP flows via the SPI field
Victor Julien [Mon, 18 Jan 2021 19:58:26 +0000 (20:58 +0100)]
decode: reformat REINIT macro
Victor Julien [Mon, 18 Jan 2021 14:50:57 +0000 (15:50 +0100)]
decode: minor unittest cleanups
Victor Julien [Mon, 18 Jan 2021 12:56:32 +0000 (13:56 +0100)]
proto/names: add SCTP if not defined in system
If SCTP is missing from /etc/protocols, add it manually.
Victor Julien [Mon, 18 Jan 2021 08:41:01 +0000 (09:41 +0100)]
github: add codecov.yml
Don't report until both cov runs are available to avoid partial
reporting in pull request comments.
Victor Julien [Mon, 18 Jan 2021 06:57:39 +0000 (07:57 +0100)]
json: remove unused jansson wrappers
Victor Julien [Sun, 17 Jan 2021 22:34:07 +0000 (23:34 +0100)]
http: enable and fix content range tests
Victor Julien [Sun, 17 Jan 2021 22:22:09 +0000 (23:22 +0100)]
app-layer/nfs: dead code removal
Juliana Fajardini [Sat, 21 Nov 2020 22:42:57 +0000 (22:42 +0000)]
detect/rpc: clean up unittests
- detect-rpc: convert unit tests to new FAIL/PASS API.
- detect-rpc: replace SigInit with DetectEngineAppendSig for more
concise code.
Victor Julien [Sun, 17 Jan 2021 16:15:01 +0000 (17:15 +0100)]
github: add codecov badge
Victor Julien [Sun, 17 Jan 2021 06:40:53 +0000 (07:40 +0100)]
ci: initial codecov integration
Eric Leblond [Tue, 5 Jan 2021 20:40:33 +0000 (21:40 +0100)]
configure: fix llc detection on recent Debian
Where clang --version was returning:
clang version 9.0.1-15+b1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Newer version like clang-10 on Debian are returning:
Debian clang version 10.0.1-8+b1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
As a result the parsing was failing to determine which llc was
available on the system.
Jason Ish [Wed, 13 Jan 2021 15:40:06 +0000 (09:40 -0600)]
lua: fix coverity issue with out of scope variable
Fix usage of out-of-scope variables. Introduced with the hashing
and adding the guard of g_disable_hashing.
To fix, just remove the guard so all variables are in scope. Hashes
are not initialized here so there is no need for the guard.
Jeff Lucovsky [Wed, 13 Jan 2021 18:43:52 +0000 (13:43 -0500)]
lua/test: Test cases using SC prefix
This commit adds paired test cases to ensure that the SC variant of the
entry points are tested.
Jeff Lucovsky [Wed, 13 Jan 2021 18:39:21 +0000 (13:39 -0500)]
doc/lua: Lua API name consistency
This commit updates the documentation of the SCFlow* function names
available to Lua scripts.
Formerly, they used the prefix "Sc"; now they use "SC".
Jeff Lucovsky [Tue, 12 Jan 2021 15:16:43 +0000 (10:16 -0500)]
general: Correct typo
Jeff Lucovsky [Tue, 12 Jan 2021 15:14:54 +0000 (10:14 -0500)]
lua: Use SC prefix for Lua functions
This commit adds additional Lua API interfaces to bring consistency to
functions such that the `SC` prefix is available consistently across
flow int and flow var functions.
Victor Julien [Tue, 12 Jan 2021 21:22:27 +0000 (22:22 +0100)]
email/md5: optimize md5 handling
Jason Ish [Mon, 4 Jan 2021 17:03:31 +0000 (11:03 -0600)]
doc/userguide/transforms: remove not about libnss being required
Jason Ish [Mon, 4 Jan 2021 17:02:50 +0000 (11:02 -0600)]
doc/userguide/install: remove libnss
Jason Ish [Mon, 4 Jan 2021 16:59:50 +0000 (10:59 -0600)]
travis-ci: don't install libnss
Jason Ish [Mon, 4 Jan 2021 16:48:20 +0000 (10:48 -0600)]
email/eve: use Rust function to hash buffer to hex
Use SCMd5HashBufferToHex to hash the subject to a hex string.
Removes snprintf loop.
Jason Ish [Wed, 30 Dec 2020 22:37:28 +0000 (16:37 -0600)]
rust/hashing: add function to finalize md5 to hex string
New function, SCMd5FinalizeToHex to finalize an md5 hash
to a hex string.
Jason Ish [Wed, 30 Dec 2020 22:18:39 +0000 (16:18 -0600)]
ja3: use SCMd5HashBufferToHex to print hash as hex
Replace snprintf loop with new function that hashes a single
buffer to an MD5 hex string.
Jason Ish [Wed, 30 Dec 2020 22:17:52 +0000 (16:17 -0600)]
rust/hashing: function to md5 hash buffer to hex
Add function SCMd5HashBufferToHex to hash a single buffer to an
md5 hex string.
Jason Ish [Mon, 28 Dec 2020 22:08:30 +0000 (16:08 -0600)]
filestore: respect g_disable_hashing
If g_disable_hashing is set, behave like libnss wasn't compiled
in.
Jason Ish [Wed, 23 Dec 2020 22:55:11 +0000 (16:55 -0600)]
github-ci: don't install libnss/libnspr packages
Jason Ish [Wed, 23 Dec 2020 22:54:57 +0000 (16:54 -0600)]
configure.ac: remove tests for libnspr and libnss
Jason Ish [Wed, 23 Dec 2020 22:50:07 +0000 (16:50 -0600)]
hashing: remove remaining HAVE_NSS guards
For features, we pretend to HAVE_NSS so scripts, external tests
continue to work.
Jason Ish [Wed, 23 Dec 2020 22:40:27 +0000 (16:40 -0600)]
output-json-email: use Rust md5 bindings instead of libnss
Jason Ish [Wed, 23 Dec 2020 22:35:07 +0000 (16:35 -0600)]
util/mime: use Rust md5 bindings instead of libnss
As the new Md5 hashing consumes its context on finalize, an bool
has_md5 flag has been added to let the logger know there is an
md5 hash available.
Jason Ish [Wed, 23 Dec 2020 22:25:02 +0000 (16:25 -0600)]
transform-sha256: use Rust sha256 bindings
Use new Rust sha256 bindings insead of libnss.
Jason Ish [Wed, 23 Dec 2020 22:24:23 +0000 (16:24 -0600)]
rust/hashing: method to SHA256 and finalize in one call
Add SCSha256HashBuffer to hash a single buffer returning the
result.
Jason Ish [Wed, 23 Dec 2020 22:13:55 +0000 (16:13 -0600)]
transform-sha1: use Rust sha1 bindings
Removes dependence on NSS.
Jason Ish [Wed, 23 Dec 2020 15:53:50 +0000 (09:53 -0600)]
util-crypt: remove ComputeSHA1
There is now a Rust replacement for ComputeSHA1 that is exposed
to C as SCSha1HashBuffer.
Jason Ish [Wed, 23 Dec 2020 15:50:48 +0000 (09:50 -0600)]
ssl: replace ComputeSHA1 with Rust SCSha1HashBuffer
Removes the final use of internal ComputeSHA1 function.
Jason Ish [Mon, 11 Jan 2021 17:28:41 +0000 (11:28 -0600)]
transform/md5: use Rust md5 bindings
Jason Ish [Mon, 11 Jan 2021 17:27:43 +0000 (11:27 -0600)]
error: new disabled hashing error code
Add new error code to be used when something fails due to hashing being
disabled.
Jason Ish [Wed, 6 Jan 2021 18:47:13 +0000 (12:47 -0600)]
doc/userguide: document --disable-hashing
Jason Ish [Mon, 11 Jan 2021 17:26:21 +0000 (11:26 -0600)]
suricata: add --disable-hashing option
The idea with a flag to disable hashing is to provide a way to
get the effect of building Suricata without libnss, which is
sometimes done for performance reasons.
Jason Ish [Fri, 8 Jan 2021 15:06:48 +0000 (09:06 -0600)]
suricata.c: clang-format required after new option added
Jason Ish [Fri, 8 Jan 2021 15:05:32 +0000 (09:05 -0600)]
suricata.c: disable clang-format on long_opts init
clang-format will reformat this to have multiple options on a
single line which is hard to read and I don't see a specific
clang-format option to format this better. So for now,
disable clang-format on this section of code.
Jason Ish [Wed, 23 Dec 2020 15:48:14 +0000 (09:48 -0600)]
community-id: use Rust SHA1 to compute hash
Removes use of our internal ComputeSHA1 for calculating the
community ID.
Jason Ish [Wed, 23 Dec 2020 15:47:32 +0000 (09:47 -0600)]
rust/hashing: new function to SHA1 hash a single buffer
SCSha1HashBuffer will has a single buffer and compute the digest
in one call.
Jason Ish [Wed, 23 Dec 2020 04:31:09 +0000 (22:31 -0600)]
rust: remove md5 crate, unalias md-5
Remove the md5 crate as a dependency as it is no longer removed.
We now use md-5 from RustCrypto.
Jason Ish [Wed, 23 Dec 2020 04:27:26 +0000 (22:27 -0600)]
rust/ssh: use md-5 crate instead of md5
The "md-5" crate is part of the RustCrypto project that also
uses the sha1 and sha256 crates we are using. These all implement
the Digest trait for a common API.
Jason Ish [Tue, 22 Dec 2020 22:44:29 +0000 (16:44 -0600)]
doc/ja3: libnss support no longer required
Jason Ish [Tue, 22 Dec 2020 22:44:42 +0000 (16:44 -0600)]
ja3: remove requirement on NSS
Jason Ish [Tue, 22 Dec 2020 22:43:13 +0000 (16:43 -0600)]
rust/hashing: a method to md5 hash a single buffer
Add SCMd5HashBuffer as a replacement for NSS HASH_HashBuf as
used in ja3 to hash a single buffer.
Jason Ish [Tue, 22 Dec 2020 22:18:01 +0000 (16:18 -0600)]
filestore: remove requirement of nss for filestore
Required including NSS header in places that depended on
util-file.h including it.
All filestore suricata-verify tests now pass without libnss.
Also enabled detect-file{md5,sha1,sha256} without NSS support.
Jason Ish [Tue, 22 Dec 2020 18:38:24 +0000 (12:38 -0600)]
filestore: use Rust bindings for sha256/sha1/md5
Jason Ish [Tue, 22 Dec 2020 18:35:45 +0000 (12:35 -0600)]
rust: add ffi module for sha256, sha1 and md5
Add a Rust module that exposes Rust implementations of
sha256, sha1 and md5 from the RustCrypto project.
This is an experiment in replacing the libnss hash functions with
pure Rust versions that will allow us to remove nss as a compile
time option.
Initial tests are good, even with a 10% or so performance
improvement when being called from C.
Also trying a module naming scheme where modules under the ffi
modules are purely for exports to C, as it doesn't make any
sense to use this new hashing module directly from Rust.
Kirby Kuehl [Tue, 5 Jan 2021 16:55:22 +0000 (08:55 -0800)]
doc: fix URL for unix-socket python example
Jeff Lucovsky [Fri, 8 Jan 2021 13:00:35 +0000 (08:00 -0500)]
tftp: Add test cases
This commit adds test cases for the TFTP parser.
Jeff Lucovsky [Fri, 8 Jan 2021 12:56:19 +0000 (07:56 -0500)]
tftp: Improve parser
This commit improves TFTP parsing by ensuring the mode and opcode are
valid.
Jason Ish [Fri, 8 Jan 2021 16:32:47 +0000 (10:32 -0600)]
github-ci: use python3 in debian builds
Jason Ish [Fri, 8 Jan 2021 15:39:19 +0000 (09:39 -0600)]
github-ci/macos: use brew to install Python 3
The default Python on MacOS is Python 2. Suricata-Verify now
depends on Python 3, so install it with Brew.
Jason Ish [Wed, 30 Dec 2020 17:24:17 +0000 (11:24 -0600)]
github-ci: update min Rust version from 1.34.2 to 1.41.1
Jason Ish [Tue, 22 Dec 2020 16:40:18 +0000 (10:40 -0600)]
rust: include file cleanup
The cbindgen generated header should not include rust.h as
rust.h already includes the generated binding.
Fixup C source code that only pulled the generated include, it
should instead pull in "rust.h" which includes the generated
binding plus other misc. stuff.
Philippe Antoine [Thu, 7 Jan 2021 08:46:02 +0000 (09:46 +0100)]
signature: Fix leak in urilen parsing
cf #4254
Victor Julien [Mon, 11 Jan 2021 14:28:30 +0000 (15:28 +0100)]
detect/file.data: support ftp and ftp-data
Victor Julien [Mon, 11 Jan 2021 14:17:02 +0000 (15:17 +0100)]
detect/file.name: register inspect engine for ftp-data
Jeff Lucovsky [Tue, 5 Jan 2021 14:31:11 +0000 (09:31 -0500)]
decode/tcp: Improved handling of TFO options
This commit improves handling of TCP fast open options
- Option length must be in [6, 18]
- Option length must be an even value
Gianni Tedesco [Sun, 13 Dec 2020 14:54:13 +0000 (23:54 +0900)]
detect: Validate that NOOPT options don't have optvals
Without this, a simple typo between : and ; is able to hide actual bugs
in rules.
I discovered 2 bugs in ET open ruleset this way.
Gianni Tedesco [Sun, 13 Dec 2020 14:50:23 +0000 (23:50 +0900)]
detect-fast-pattern: Mark as OPTIONAL_OPT, instead of NOOPT
Also update the erroneous comment about it.
Sascha Steinbiss [Wed, 9 Dec 2020 17:34:49 +0000 (18:34 +0100)]
doc: build all manpages
Eric Leblond [Mon, 28 Dec 2020 08:41:09 +0000 (09:41 +0100)]
ebpf: avoid need of 32 bit header
Compilation of xdp_lb.c was failing in some case with the following
error:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found
This patch add some define to be able to skip recursive inclusion of
header files leading to the problem.
Juliana Fajardini [Mon, 28 Dec 2020 17:37:33 +0000 (17:37 +0000)]
nbss: add parser tests
Add tests to parse_nbss_record and parse_nbss_record_partial
Eric Leblond [Sun, 2 Aug 2020 16:38:58 +0000 (18:38 +0200)]
eve/dhcp: avoid to call common logging twice
Joshua Lumb [Mon, 27 Jul 2020 15:36:52 +0000 (11:36 -0400)]
threads: More descriptive startup output
Carl Smith [Thu, 17 Nov 2016 03:36:10 +0000 (16:36 +1300)]
lua: Make the rule action available to output scripts
Useful for those that want to do custom logging from lua
Justin Ossevoort [Fri, 8 May 2020 13:33:36 +0000 (15:33 +0200)]
eve: Log tenant_id for all eve-json messages
Carl Smith [Mon, 17 Aug 2020 05:29:05 +0000 (17:29 +1200)]
nsh: Parsing of Network Services Header and payload
Support for EtherType 0x894F and basic header
Victor Julien [Tue, 29 Dec 2020 19:36:26 +0000 (20:36 +0100)]
stream/midstream: handle packet loss after SYN/ACK
Victor Julien [Mon, 28 Dec 2020 18:18:08 +0000 (19:18 +0100)]
stream/tcp: fix invalid ack events in timewait state
Victor Julien [Wed, 23 Dec 2020 14:55:19 +0000 (15:55 +0100)]
flow/timeout: fix TCP seq/ack for reversed flows
When a flow is swapped it also swaps the stream trackers, so it does
not make sense to reverse them during pseudo packet creation.
Victor Julien [Thu, 17 Dec 2020 20:04:13 +0000 (21:04 +0100)]
detect/stream: fix async stream inspection
Move raw progress forward only if detect uses stream data, indicated
by the PKT_DETECT_HAS_STREAMDATA flag.
Victor Julien [Thu, 17 Dec 2020 09:54:05 +0000 (10:54 +0100)]
stream/tcp: fix async mode ACK validation
Philippe Antoine [Fri, 18 Dec 2020 20:56:24 +0000 (21:56 +0100)]
fuzz: improves sigpcap target with PacketPoolInit
Victor Julien [Fri, 11 Dec 2020 09:19:41 +0000 (10:19 +0100)]
ci: buildbot is decommissioned, so remove prscript refs
Jason Ish [Thu, 10 Dec 2020 15:48:06 +0000 (09:48 -0600)]
github-ci: use a unique id for the commit check cargo cache
All builds have been using the same cache id for ~/.cargo which
could lead us to conflict situations which is what I think we are
seeing with the commit-check job.
Shivani Bhardwaj [Fri, 11 Sep 2020 15:12:22 +0000 (20:42 +0530)]
counters: convert to FAIL/PASS API
Shivani Bhardwaj [Fri, 11 Sep 2020 15:02:11 +0000 (20:32 +0530)]
confyaml: convert to FAIL/PASS API
Shivani Bhardwaj [Fri, 11 Sep 2020 12:43:51 +0000 (18:13 +0530)]
applayer: convert to FAIL/PASS API
Shivani Bhardwaj [Fri, 11 Sep 2020 12:29:08 +0000 (17:59 +0530)]
applayer/htp/xff: convert to FAIL/PASS API
Shivani Bhardwaj [Fri, 11 Sep 2020 12:15:46 +0000 (17:45 +0530)]
applayer/ftp: convert to FAIL/PASS API
Shivani Bhardwaj [Fri, 11 Sep 2020 12:15:22 +0000 (17:45 +0530)]
fastlog: convert to FAIL/PASS API
Janani Ramjee [Mon, 12 Oct 2020 09:29:05 +0000 (14:59 +0530)]
detect/mark: convert unittests to use PASS/FAIL API
Juliana Fajardini [Tue, 20 Oct 2020 16:48:20 +0000 (17:48 +0100)]
detect/msg: convert to FAIL/PASS API
Issue 4053. Adjust code formatting style (wrap long lines).
Replace SigInit with DetectEngineAppendSig.
Sumera Priyadarsini [Wed, 21 Oct 2020 09:15:26 +0000 (14:45 +0530)]
detect: filesha1: convert unittests to use PASS/FAIL API
Currently, unit tests use integer values 1 and 0 to denote pass
and fail status of tests respectively. Modify the unit test
detect-filesha1 to use the PASS/FAIL API instead.
Juliana Fajardini [Wed, 4 Nov 2020 18:07:16 +0000 (18:07 +0000)]
Rust: generic files definition
Issue: Optimization 3825
- filecontainer: add Files structure, to replace/unify SMBFiles,
NFSFiles and HTTP2Files
- smb/files: delete SMBFiles implementation
- smb/smb: replace SMBFiles with Files
- nfs/nfs: delete NFSFiles implementation, replace its former
declarations with Files' ones
- http2/http2: replace HTTP2Files with Files
- http2/mod: Delete reference to file files.rs
- http2/files: Delete
Juliana Fajardini [Mon, 16 Nov 2020 19:49:56 +0000 (19:49 +0000)]
detect-sid: fail/pass api
- convert unittests to new FAIL/PASS API.
Jason Ish [Tue, 8 Dec 2020 15:34:52 +0000 (09:34 -0600)]
github-ci: fix centos 8 build
The "PowerTools" repo that we need to enable has been renamed
to "powertools".
Jason Ish [Mon, 7 Dec 2020 21:31:34 +0000 (15:31 -0600)]
dns: initialize log flags as an unsigned long long
On 64 bit all 64 bits were being initialized, but on 32 bit
only 32 bits were as it was being initialized as a long.
Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4206
Sascha Steinbiss [Tue, 3 Nov 2020 18:52:10 +0000 (19:52 +0100)]
dns: use rest() for NULL parsing
Sascha Steinbiss [Fri, 30 Oct 2020 10:16:53 +0000 (11:16 +0100)]
dns: add test for SRV
Sascha Steinbiss [Tue, 3 Nov 2020 18:29:15 +0000 (19:29 +0100)]
doc: add documentation for SRV DNS JSON structure
Sascha Steinbiss [Tue, 3 Nov 2020 18:29:00 +0000 (19:29 +0100)]
dns: parse SRV records
Antti Tönkyrä [Thu, 8 Oct 2020 09:33:33 +0000 (12:33 +0300)]
dns: add rdata logging for NS rrtype
Simon Dugas [Wed, 22 Apr 2020 17:29:32 +0000 (17:29 +0000)]
dns: log rdata for NULL record type
Logs the rdata for a NULL record type as a printable string.