Hyperscan integration for Snort 22.214.171.124
This patch adds Hyperscan acceleration support for a number of pattern matching tasks in Snort (versions 126.96.36.199 and 188.8.131.52 tested).
It uses Hyperscan in three modules within Snort:
- A multi-pattern (MPSE) literal matcher, called "hyperscan".
- A faster single-pattern content string matcher, replacing the Boyer-Moore approach used by default.
- A prefilter for PCRE, where Hyperscan is used as a prefilter check for regex options before PCRE is run. Expressions that are expensive to evaluate in PCRE may be avoided entirely depending on the result of the prefilter.
This release fixes a bug where Hyperscan was not correctly protecting its scratch data structures during a reload (e.g. on receipt of a HUP signal).