]>
git.ipfire.org Git - thirdparty/suricata.git/log
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.
Jason Ish [Mon, 7 Dec 2020 17:54:52 +0000 (11:54 -0600)]
github-ci: add sccache to per-commit check
Also use the pre-build cbindgen binary.
Hopefully speeds up the build process.
Victor Julien [Fri, 30 Oct 2020 12:40:17 +0000 (13:40 +0100)]
app-layer: remove callback for completion status
Since the completion status was a constant for all parsers, remove the
callback logic and instead register the values themselves. This should
avoid a lot of unnecessary callback calls.
Update all parsers to take advantage of this.
Victor Julien [Mon, 19 Oct 2020 13:33:36 +0000 (15:33 +0200)]
detect: remove unused arg from generic list inspect
Victor Julien [Mon, 19 Oct 2020 13:33:00 +0000 (15:33 +0200)]
detect: remove inspect v1 API
Victor Julien [Tue, 20 Oct 2020 09:07:03 +0000 (11:07 +0200)]
detect/template: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:06:44 +0000 (11:06 +0200)]
detect/tls: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:05:40 +0000 (11:05 +0200)]
detect/ssh: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:05:13 +0000 (11:05 +0200)]
detect/snmp: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:04:46 +0000 (11:04 +0200)]
detect/rfb: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:04:17 +0000 (11:04 +0200)]
detect/nfs: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:03:56 +0000 (11:03 +0200)]
detect/lua: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 09:03:27 +0000 (11:03 +0200)]
detect/ftp: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 08:42:59 +0000 (10:42 +0200)]
detect/mqtt: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 08:41:48 +0000 (10:41 +0200)]
detect/modbus: convert to v2 inspect API
Victor Julien [Tue, 20 Oct 2020 08:40:54 +0000 (10:40 +0200)]
detect/enip/cip: convert to v2 inspect API
Victor Julien [Mon, 12 Oct 2020 12:19:15 +0000 (14:19 +0200)]
detect/http2: inspect API v2
Victor Julien [Sun, 5 Apr 2020 18:00:25 +0000 (20:00 +0200)]
detect/krb5: use inspect api v2
Victor Julien [Sun, 5 Apr 2020 16:14:39 +0000 (18:14 +0200)]
detect/ftpbounce: switch to inspect api v2
Victor Julien [Sun, 5 Apr 2020 15:52:47 +0000 (17:52 +0200)]
detect/files: remove unused prototypes
Victor Julien [Sun, 5 Apr 2020 15:51:52 +0000 (17:51 +0200)]
detect/files: inspect api v2
Victor Julien [Sun, 5 Apr 2020 15:47:45 +0000 (17:47 +0200)]
detect/file: minor cleanup
Victor Julien [Mon, 19 Oct 2020 12:12:42 +0000 (14:12 +0200)]
detect/dnp3: convert to v2 inspect API
Victor Julien [Mon, 19 Oct 2020 12:12:21 +0000 (14:12 +0200)]
detect/dcerpc: convert to v2 inspect API
Victor Julien [Mon, 19 Oct 2020 12:11:26 +0000 (14:11 +0200)]
detect/dns: convert to v2 inspect API
Victor Julien [Mon, 19 Oct 2020 12:10:16 +0000 (14:10 +0200)]
detect/app-layer-event: convert to v2 inspect API
Victor Julien [Mon, 19 Oct 2020 13:49:13 +0000 (15:49 +0200)]
detect/stream: convert to inspect API v2
Victor Julien [Mon, 19 Oct 2020 13:49:02 +0000 (15:49 +0200)]
detect/payload: minor formatting fixup
Jason Ish [Tue, 1 Dec 2020 18:55:36 +0000 (12:55 -0600)]
github-ci: build cbindgen during prep
Instead of building cbindgen in every build, build it once
during prep as a static musl binary to avoid library issues.
Jason Ish [Tue, 1 Dec 2020 21:46:46 +0000 (15:46 -0600)]
github-ci: remove prep directories before upload
Removing the libhtp, suricata-update and suricata-verify directories
before uploading the artifact reduces the upload time from minutes
to seconds.
Jason Ish [Tue, 1 Dec 2020 18:40:14 +0000 (12:40 -0600)]
github-ci: fedora 33 test build (based on fedora 32)
Jason Ish [Fri, 4 Dec 2020 21:16:36 +0000 (15:16 -0600)]
github-ci: remove fedora 31 (eol)
Victor Julien [Sun, 6 Dec 2020 19:16:43 +0000 (20:16 +0100)]
version: start 7.0.0 development
Victor Julien [Fri, 4 Dec 2020 06:54:18 +0000 (07:54 +0100)]
version: set to 6.0.1
Victor Julien [Fri, 4 Dec 2020 06:53:48 +0000 (07:53 +0100)]
changelog: update for 6.0.1