Hyperscan integration for Snort 126.96.36.199
This patch adds Hyperscan acceleration support for a number of pattern matching tasks in Snort (versions 188.8.131.52 and 184.108.40.206 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).