Victor Julien
e8dae2e093
nfs: add to fileinfo events
9 years ago
Victor Julien
db2d928151
rust/nfs: add (file)handle to log as crc32
9 years ago
Jason Ish
829155b9d5
rust/dns: pass byte arrays directly to rust/json
...
Using the json.set_string_from_bytes which will
safely convert the bytes printable ascii string
before logging.
9 years ago
Jason Ish
96cc503026
rust/lua: use lua_pushlstring for strings
...
Lua strings can contain NULLs, and Rust strings are UTF8 which
can also contain NULLs. Use pushlstring so a NULL containing
string can be pushed.
9 years ago
Jason Ish
6dbc5be4be
rust/json: only output printable characters
...
Rust strings are UTF8 and we cannot yet rely on jansson
having json_stringn on all supported OS distributions yet
so sanitize strings to ascii before printing.
Also add set_string_from_bytes which is like set_string, but
accepts a byte array as input.
9 years ago
Victor Julien
becf1a2dfe
rust/nfs: fix style warning
9 years ago
Victor Julien
e0c6565e68
nfs: nfs_version keyword
...
Store nfs version in tx and add keyword to match on it.
9 years ago
Victor Julien
aff576b524
eve/nfs: log nfs version
9 years ago
Victor Julien
0d79181d78
nfs: rename nfs3 to nfs
...
Since the parser now also does nfs2, the name nfs3 became confusing.
As it's still in beta, we can rename so this patch renames all 'nfs3'
logic to simply 'nfs'.
9 years ago
Victor Julien
28cdf7b628
nfs3: create file tx for read on request
...
This is done so that we can add creds to it.
9 years ago
Victor Julien
7e0d9619ac
nfs3: add readdirplus path
9 years ago
Victor Julien
41376da03c
nfs: log more rpc
9 years ago
Victor Julien
9edbb6f235
nfs: split record parsers into different files
9 years ago
Victor Julien
25edac7666
nfs3: fill bytes corner case
9 years ago
Victor Julien
5153271b87
nfs2: basic record parsing and tracking
9 years ago
Victor Julien
c7e10c73f9
nfs3: support NFS over UDP
9 years ago
Victor Julien
d9f87cec3d
nfs3: probing parsers in both directions
9 years ago
Victor Julien
8fe32f943b
nfs3: search for next record if needed after GAP
9 years ago
Victor Julien
58af39131f
rust/nfs: handle GAPs
...
In normal records it will try to continue parsing.
GAP 'data' will be passed to file api as '0's. New call is used
so that the file API does know it is dealing with a GAP. Such
files are flagged as truncated at the end of the file and no
checksums are calculated.
9 years ago
Victor Julien
a116c16019
nfs3: parse mkdir and rmdir request records
9 years ago
Jason Ish
c473c56eed
rust/dns: fix panic on rrnames with bad chars
...
Check for erros in the UTF-8 conversion, on error, print the
the printable chars as chars, and print non printable chars
as \xHEX.
Redmine issue:
https://redmine.openinfosecfoundation.org/issues/2148
9 years ago
Jason Ish
ecc63481c6
rust/dns: fix tcp message length verification
...
And add Rust unit tests to check length validation.
Redmine issue 2144:
https://redmine.openinfosecfoundation.org/issues/2144
9 years ago
Jason Ish
70808a4f1d
rust/dns: support gaps in TCP DNS
9 years ago
Jason Ish
4bdb722371
rust/dns: fix unit tests on Rust 1.7.0
9 years ago
Jason Ish
2aebfbce94
rust/dns: support txt records
9 years ago
Jason Ish
33e09a0002
rust dns: fixup for nom 3.0
9 years ago
Victor Julien
098aced714
rust/nfs/files: no longer Option/Box
9 years ago
Victor Julien
75a6a13790
rust/nfs: move files into tx type data
9 years ago
Victor Julien
de7e0614fa
rust/nfs: add more record types
9 years ago
Victor Julien
d6592211d0
rust/nfs: NFSv3 parser, logger and detection
9 years ago
Victor Julien
71ddc43d49
rust/core: add file tx API call
9 years ago
Victor Julien
9a1fa5f1f4
rust: filetracker API
...
Initial version of a filetracker API that depends on the filecontainer
and wraps around the Suricata File API in C.
The API expects chunk based transfers where chunks can be out of order.
9 years ago
Victor Julien
a809f090d3
rust: filecontainer API
...
Wrapper around Suricata's File and FileContainer API. Built around
assumption that a rust owned structure will have a
'SuricataFileContainer' member that is managed by the C-side of
things.
9 years ago
Victor Julien
f47fd2c243
rust/json: expose json_boolean
9 years ago
Jason Ish
ba1a67e2cb
rust: dns: add log filtering on rrtype
...
While the filtering is still configured in C, the filtering
flags are passed into Rust so it can determine if a record
should be logged or not.
9 years ago
Jason Ish
c54fc7f98f
rust: use LoggerFlags type to track logged state
9 years ago
Jason Ish
b588b49779
rust: lua support for DNS based Rust
...
Uses Rust wrappers around Lua to populate Lua
data structures.
9 years ago
Jason Ish
9d687025e2
rust: lua wrapper
...
Rust wrapper for working with lua state.
9 years ago
Jason Ish
73388042b2
rust: DNS app-layer.
...
A DNS application layer in Rust. This is different than the
C based one, as it is partially stateless by not matching
up responses to replies.
9 years ago
Jason Ish
9449739dd5
rust: dns: nom DNS parsers
9 years ago
Jason Ish
94032d3ada
rust: wrapper around C logging, and "context"
...
Where the context is a struct passed from C with pointers
to all the functions that may be called.
Instead of referencing C functions directly, wrap them
in function pointers so pure Rust unit tests can still run.
9 years ago
Jason Ish
e739fa1477
rust: add libjansson wrapper for rust
9 years ago
Jason Ish
f6f126d53d
rust: example of how an app-layer may be initialized
...
Also shows basic usage of the configuration API from Rust.
9 years ago
Jason Ish
949b358b80
rust: stub out configuration access functions
9 years ago
Jason Ish
de5bb1f953
rust: stub out logging from rust
9 years ago
Jason Ish
cf0b9dd45f
rust: add rust skeleton tree
9 years ago