Commit Graph

11823 Commits (1e9934cf218f7a0b30d426957038593eaa2144b5)
 

Author SHA1 Message Date
Victor Julien 1e9934cf21 github: add codecov badge 4 years ago
Victor Julien f0f578444e ci: initial codecov integration 4 years ago
Eric Leblond 37b1595c20 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.
4 years ago
Jason Ish 512b0350a0 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.
4 years ago
Jeff Lucovsky 1c68f4aed6 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.
4 years ago
Jeff Lucovsky 25e9483168 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".
4 years ago
Jeff Lucovsky c845974639 general: Correct typo 4 years ago
Jeff Lucovsky 431018d6f7 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.
4 years ago
Victor Julien 3a8ba663a9 email/md5: optimize md5 handling 4 years ago
Jason Ish 547afcb983 doc/userguide/transforms: remove not about libnss being required 4 years ago
Jason Ish 41591af48b doc/userguide/install: remove libnss 4 years ago
Jason Ish 4695e8e595 travis-ci: don't install libnss 4 years ago
Jason Ish 6299222c4e email/eve: use Rust function to hash buffer to hex
Use SCMd5HashBufferToHex to hash the subject to a hex string.
Removes snprintf loop.
4 years ago
Jason Ish 0a3b9e0220 rust/hashing: add function to finalize md5 to hex string
New function, SCMd5FinalizeToHex to finalize an md5 hash
to a hex string.
4 years ago
Jason Ish 3a82153866 ja3: use SCMd5HashBufferToHex to print hash as hex
Replace snprintf loop with new function that hashes a single
buffer to an MD5 hex string.
4 years ago
Jason Ish 26c1321668 rust/hashing: function to md5 hash buffer to hex
Add function SCMd5HashBufferToHex to hash a single buffer to an
md5 hex string.
4 years ago
Jason Ish e00d21a5cb filestore: respect g_disable_hashing
If g_disable_hashing is set, behave like libnss wasn't compiled
in.
4 years ago
Jason Ish 4e57b5e665 github-ci: don't install libnss/libnspr packages 4 years ago
Jason Ish 6dfc888966 configure.ac: remove tests for libnspr and libnss 4 years ago
Jason Ish 7525295e63 hashing: remove remaining HAVE_NSS guards
For features, we pretend to HAVE_NSS so scripts, external tests
continue to work.
4 years ago
Jason Ish 9b314bebe0 output-json-email: use Rust md5 bindings instead of libnss 4 years ago
Jason Ish 815396263b 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.
4 years ago
Jason Ish 9e14c00298 transform-sha256: use Rust sha256 bindings
Use new Rust sha256 bindings insead of libnss.
4 years ago
Jason Ish 0f714be9f3 rust/hashing: method to SHA256 and finalize in one call
Add SCSha256HashBuffer to hash a single buffer returning the
result.
4 years ago
Jason Ish d98e34045b transform-sha1: use Rust sha1 bindings
Removes dependence on NSS.
4 years ago
Jason Ish 3d1a294bc7 util-crypt: remove ComputeSHA1
There is now a Rust replacement for ComputeSHA1 that is exposed
to C as SCSha1HashBuffer.
4 years ago
Jason Ish 90dcaff41d ssl: replace ComputeSHA1 with Rust SCSha1HashBuffer
Removes the final use of internal ComputeSHA1 function.
4 years ago
Jason Ish e0a2d10e7e transform/md5: use Rust md5 bindings 4 years ago
Jason Ish c2dd2c25b6 error: new disabled hashing error code
Add new error code to be used when something fails due to hashing being
disabled.
4 years ago
Jason Ish 4b9af8d2ce doc/userguide: document --disable-hashing 4 years ago
Jason Ish f723dc1309 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.
4 years ago
Jason Ish 245a1bd4ce suricata.c: clang-format required after new option added 4 years ago
Jason Ish 7bb917b835 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.
4 years ago
Jason Ish 0321f60ebf community-id: use Rust SHA1 to compute hash
Removes use of our internal ComputeSHA1 for calculating the
community ID.
4 years ago
Jason Ish eb5cfd9b82 rust/hashing: new function to SHA1 hash a single buffer
SCSha1HashBuffer will has a single buffer and compute the digest
in one call.
4 years ago
Jason Ish ff37526c6b 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.
4 years ago
Jason Ish 0a2d8509c9 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.
4 years ago
Jason Ish c0ddad8e7e doc/ja3: libnss support no longer required 4 years ago
Jason Ish d5bf748c90 ja3: remove requirement on NSS 4 years ago
Jason Ish 1022b217ed 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.
4 years ago
Jason Ish e50ee7eb62 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.
4 years ago
Jason Ish e4acbcbb5e filestore: use Rust bindings for sha256/sha1/md5 4 years ago
Jason Ish 46ceb13c08 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.
4 years ago
Kirby Kuehl 5499a6f7cd doc: fix URL for unix-socket python example 4 years ago
Jeff Lucovsky 8ce2078a38 tftp: Add test cases
This commit adds test cases for the TFTP parser.
4 years ago
Jeff Lucovsky e900b6d265 tftp: Improve parser
This commit improves TFTP parsing by ensuring the mode and opcode are
valid.
4 years ago
Jason Ish 18a1fd22c2 github-ci: use python3 in debian builds 4 years ago
Jason Ish 7904ef82d0 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.
4 years ago
Jason Ish 37eff69a37 github-ci: update min Rust version from 1.34.2 to 1.41.1 4 years ago
Jason Ish f77fd0c0cb 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.
4 years ago