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