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
Philippe Antoine
47dd9a5ebc
signature: Fix leak in urilen parsing
...
cf #4254
4 years ago
Victor Julien
423a5e2f6c
detect/file.data: support ftp and ftp-data
4 years ago
Victor Julien
45eddde573
detect/file.name: register inspect engine for ftp-data
4 years ago
Jeff Lucovsky
f8fef0dd05
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
4 years ago
Gianni Tedesco
10ea60a237
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.
4 years ago