* Generate annotated hash (#84) (#85)
* Add ComputeCommonAnnotatedHash
* Update return value for annotated hash helper that favors byte[].
* Update tests.
Co-authored-by: Michael C. Fanning <mikefan@microsoft.com>
* updating release history (#86)
---------
Co-authored-by: Michael C. Fanning <mikefan@microsoft.com>
* Rust/Marvin: add functions operating solely on slices.
Instead of relying the offset and length field in the checksum
calculation implementation, we can use that information to construct
a slice directly after validating the relevant invariants and use
the slice to perform our calculations. This makes the code simpler,
faster, and more idiomatic.
* Rust/Marvin tests: make test cases easier to modify, and test offsets and different lengths
* Rust: add release note for marvin functions
* fix(Rust/His): add tests/compile time constructs to
validate concurrency
* feat!(Rust/His): tighten bounds on validator
This allows `ScanEngine` to be Send + Sync, allowing
for proper concurrent usage
* Rust: update changelog
* Rust/His: Introduce ScanEngine struct
Previously the Scan struct would track it's own state as well as allow
external state operations. To do this though, it required a RefCell
instance for the non-external state. This prevented the Scan struct
from being fully used in scoped thread contexts without a Mutex or Arc.
Introduce the ScanEngine struct which contains all the same code as the
Scan struct (rename) as before except for the internal state tracking.
Re-write the Scan struct to simply host the ScanEngine and a ScanState.
This ensures the logic is the same as before, however, now we can
completely drop the RefCell and make it much clearer for callers what we
expect them to do.
Signed-off-by: Beau Belgrave <beaub@linux.microsoft.com>
* updating release notes
---------
Signed-off-by: Beau Belgrave <beaub@linux.microsoft.com>
Co-authored-by: Beau Belgrave <beaub@linux.microsoft.com>
Co-authored-by: Suvam Mukherjee <sumukherjee@microsoft.com>
* Fixing SEC101/200 GenerateTruePositiveExamples test case
* updating release notes
* updating test based on PR feedback
* New test>
* Add new test.
* updating well known regexes
* updating tests
* adding comments
---------
Co-authored-by: Michael C. Fanning <mikefan@microsoft.com>
* Fix identifiable scan behaviors and add hybrid scan capability.
* Review feedback.
* Add back deleted pattern
* bringing up net462 support for test
---------
Co-authored-by: Suvam Mukherjee <sumukherjee@microsoft.com>