]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
6 years agoLogical combination: support EOD match from purely negative case.
Chang, Harry [Wed, 27 Mar 2019 07:19:14 +0000 (15:19 +0800)] 
Logical combination: support EOD match from purely negative case.

6 years agotools: hscollider FTBS in alpine linux
Carlo Marcelo Arenas Belón [Mon, 3 Jun 2019 22:32:38 +0000 (15:32 -0700)] 
tools: hscollider FTBS in alpine linux

alpine uses musl instead of glibc and therefore doesn't have backtrace()
as part of its libc.

POSIX mandates that _exit() be defined through unistd.h which used to be
included together with execinfo.h when backtrace() was detected and
therefore it happened to build fine for linux or freebsd (when using
libexecinfo from the system or ports).

since there was a macro already defined to test for unistd.h use that
instead and decouple this dependency, so that the code could be built
even when no backtrace() is provided (as expected also in OpenBSD)

6 years agounit: avoid UB by making integer literal explicitally unsigned
Carlo Marcelo Arenas Belón [Thu, 30 May 2019 18:31:29 +0000 (11:31 -0700)] 
unit: avoid UB by making integer literal explicitally unsigned

reported by cppcheck as:

[unit/internal/uniform_ops.cpp:78]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[unit/internal/uniform_ops.cpp:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[unit/internal/uniform_ops.cpp:127]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[unit/internal/uniform_ops.cpp:145]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour

6 years agoBUGFIX: fix Numerical result out of range error
Mostafa Nazari [Wed, 8 May 2019 05:12:48 +0000 (09:42 +0430)] 
BUGFIX: fix Numerical result out of range error

Fix Error errno=34,  fix Numerical result out of range error
issue: https://github.com/intel/hyperscan/issues/155

6 years agoFix uninitialized use of scatter_unit_uX due to padding
Derrick Lyndon Pallas [Mon, 22 Apr 2019 21:13:52 +0000 (21:13 +0000)] 
Fix uninitialized use of scatter_unit_uX due to padding

These non-packed structures are placed into a std::vector.  Later, they
contents of the vector are memcpy'd and the CRC of this space is taken.
Some compilers will zero the struct padding but GCC8.2 with -O2 at least
will not.  This means that the CRC is based on uninitialized memory.

Since it is expected that these bytes will be memcpy'd, zero in place once
they're in the std::vector.

Found by Valgrind.

Q.v. Issue #148

6 years agoAvoid array-bounds error when debug/fortify enabled
Derrick Lyndon Pallas [Mon, 22 Apr 2019 20:19:14 +0000 (20:19 +0000)] 
Avoid array-bounds error when debug/fortify enabled

This code causes GCC to error out due to a bounds error with the following set

-D_GLIBCXX_DEBUG
-D_FORTIFY_SOURCE=2

The solution is to copy via iterator.

6 years agodispatcher: return correct function type from ifunc resolver
Derrick Lyndon Pallas [Fri, 19 Apr 2019 21:36:19 +0000 (21:36 +0000)] 
dispatcher: return correct function type from ifunc resolver

6 years agoBump version number for release
Wang, Xiang W [Wed, 10 Apr 2019 10:43:07 +0000 (06:43 -0400)] 
Bump version number for release

6 years agochangelog: updates for 5.1.1 release
Wang, Xiang W [Wed, 3 Apr 2019 10:22:20 +0000 (06:22 -0400)] 
changelog: updates for 5.1.1 release

6 years agounit: check fix of rose instr program dead loop
Hong, Yang A [Tue, 2 Apr 2019 15:36:03 +0000 (23:36 +0800)] 
unit: check fix of rose instr program dead loop

6 years agocmake: #144 using GNUInstallDirs variables instead of hard-coding in *.pc.in
root [Thu, 28 Mar 2019 03:21:00 +0000 (11:21 +0800)] 
cmake: #144 using GNUInstallDirs variables instead of hard-coding in *.pc.in

6 years agoRose: add necessary instruction programs to avoid dead loop
Hong, Yang A [Mon, 25 Mar 2019 13:19:13 +0000 (21:19 +0800)] 
Rose: add necessary instruction programs to avoid dead loop

Fixes github issue #141

6 years agoruntime: mark scratch unused only when no further scratch references
Wang, Xiang W [Sun, 31 Mar 2019 15:19:48 +0000 (11:19 -0400)] 
runtime: mark scratch unused only when no further scratch references

6 years agoRose: extend handling for unexpected logical combination programs
Wang, Xiang W [Wed, 27 Mar 2019 15:38:48 +0000 (11:38 -0400)] 
Rose: extend handling for unexpected logical combination programs

6 years agoRose: add handling for unexpected programs
Wang, Xiang W [Mon, 25 Mar 2019 16:30:07 +0000 (12:30 -0400)] 
Rose: add handling for unexpected programs

6 years agobuild: avoid file path impact on fat runtime build
Wang, Xiang W [Tue, 26 Mar 2019 10:19:03 +0000 (06:19 -0400)] 
build: avoid file path impact on fat runtime build

Fixes github issue #137

6 years agogcc-9: fix CMake parsing of CPU architecture
Wang, Xiang W [Mon, 25 Mar 2019 10:02:39 +0000 (06:02 -0400)] 
gcc-9: fix CMake parsing of CPU architecture

GCC-9 adds known options section for march that causes regex
replace failure in CMake file

Fixes github issue #136

6 years agoBump version number for release
Chang, Harry [Thu, 17 Jan 2019 07:47:30 +0000 (15:47 +0800)] 
Bump version number for release

6 years agochangelog: updates for 5.1.0 release
Chang, Harry [Thu, 3 Jan 2019 06:58:53 +0000 (14:58 +0800)] 
changelog: updates for 5.1.0 release

6 years agounit: check return value of malloc
Wang, Xiang W [Tue, 29 Jan 2019 09:45:51 +0000 (04:45 -0500)] 
unit: check return value of malloc

6 years agochimera: fix scratch space handling in shared scratch use case
Wang, Xiang W [Mon, 21 Jan 2019 08:48:36 +0000 (03:48 -0500)] 
chimera: fix scratch space handling in shared scratch use case

6 years agotools: add catches for C++ exceptions
Wang, Xiang W [Tue, 8 Jan 2019 11:45:31 +0000 (06:45 -0500)] 
tools: add catches for C++ exceptions

6 years agomcclellan: fix dump issue in wide-state case.
Hong, Yang A [Thu, 17 Jan 2019 16:20:06 +0000 (00:20 +0800)] 
mcclellan: fix dump issue in wide-state case.

6 years agoliteral matching: separate path for pure literal patterns
Hong, Yang A [Tue, 8 Jan 2019 22:00:55 +0000 (06:00 +0800)] 
literal matching: separate path for pure literal patterns

6 years agobuild: avoid pcre error for hscollider when using installed PCRE package
Wang, Xiang W [Wed, 26 Dec 2018 04:19:51 +0000 (23:19 -0500)] 
build: avoid pcre error for hscollider when using installed PCRE package

Fixes github issue #127

6 years agofix dead loop under win10 release bin.
Chang, Harry [Tue, 25 Dec 2018 05:49:29 +0000 (13:49 +0800)] 
fix dead loop under win10 release bin.

6 years agohscollider: fix back inserter error for windows
Wang, Xiang W [Mon, 24 Dec 2018 06:32:02 +0000 (01:32 -0500)] 
hscollider: fix back inserter error for windows

6 years agorose: disable switch optimization for windows
Wang, Xiang W [Mon, 24 Dec 2018 05:45:59 +0000 (00:45 -0500)] 
rose: disable switch optimization for windows

6 years agodoc: fix github repo address
Wang, Xiang W [Mon, 24 Dec 2018 02:37:30 +0000 (21:37 -0500)] 
doc: fix github repo address

6 years agomcclellan: wide state fixes for sanitisers and accept state construction
Hong, Yang A [Sun, 23 Dec 2018 20:49:47 +0000 (04:49 +0800)] 
mcclellan: wide state fixes for sanitisers and accept state construction

6 years agoSilence clang warnings about unused variable
Wang, Xiang W [Sat, 22 Dec 2018 02:46:04 +0000 (21:46 -0500)] 
Silence clang warnings about unused variable

6 years agoRose: optimize switch-case with Labels-as-Values
Guangqing Chen [Mon, 3 Dec 2018 21:25:52 +0000 (05:25 +0800)] 
Rose: optimize switch-case with Labels-as-Values

6 years agoUpdate PCRE version to 8.42 (8.41 is also compatible)
Chang, Harry [Thu, 20 Dec 2018 07:28:07 +0000 (15:28 +0800)] 
Update PCRE version to 8.42 (8.41 is also compatible)

6 years agoDFA state compression: 16-bit wide and sherman co-exist
Hong, Yang A [Wed, 19 Dec 2018 09:49:09 +0000 (17:49 +0800)] 
DFA state compression: 16-bit wide and sherman co-exist

6 years agochimera: silence gcc-8 exception catch warning
Wang, Xiang W [Mon, 3 Dec 2018 03:31:44 +0000 (22:31 -0500)] 
chimera: silence gcc-8 exception catch warning

6 years agoJenkins-1424: fixed error which misses report of logical combination under
Chang, Harry [Wed, 31 Oct 2018 03:00:11 +0000 (11:00 +0800)] 
Jenkins-1424: fixed error which misses report of logical combination under
vacuous input.

6 years agoJenkins-1080: fixed error reporting logical combination match in "A&!B" type by
Chang, Harry [Wed, 8 Aug 2018 06:44:01 +0000 (14:44 +0800)] 
Jenkins-1080: fixed error reporting logical combination match in "A&!B" type by
moving flush_comb behind report_eod_matches in hs_close_stream/hs_reset_stream.

6 years agoUse std::distance explicitly to avoid ambiguity with boost
Wang, Xiang W [Wed, 26 Sep 2018 10:52:40 +0000 (06:52 -0400)] 
Use std::distance explicitly to avoid ambiguity with boost

7 years agoBump version number for release
Wang, Xiang W [Mon, 9 Jul 2018 15:15:22 +0000 (11:15 -0400)] 
Bump version number for release

7 years agochangelog: updates for 5.0.0 release
Chang, Harry [Mon, 9 Jul 2018 07:18:10 +0000 (15:18 +0800)] 
changelog: updates for 5.0.0 release

7 years agochimera: update dev-reference
Wang, Xiang W [Wed, 27 Jun 2018 14:21:50 +0000 (10:21 -0400)] 
chimera: update dev-reference

7 years agochimera: add pkgconfig install files
Wang, Xiang W [Mon, 9 Jul 2018 12:26:22 +0000 (08:26 -0400)] 
chimera: add pkgconfig install files

7 years agoWindows porting: update docs.
Lu, Qi [Fri, 6 Jul 2018 15:06:55 +0000 (11:06 -0400)] 
Windows porting: update docs.

7 years agoWindows porting: port hyperscan and chimera tools to windows.
Lu, Qi [Tue, 8 May 2018 16:05:44 +0000 (12:05 -0400)] 
Windows porting: port hyperscan and chimera tools to windows.

7 years agochimera: hybrid of Hyperscan and PCRE
Wang, Xiang W [Fri, 9 Mar 2018 08:52:12 +0000 (03:52 -0500)] 
chimera: hybrid of Hyperscan and PCRE

7 years agoLogical Combination of patterns.
Chang, Harry [Fri, 22 Jun 2018 10:15:21 +0000 (18:15 +0800)] 
Logical Combination of patterns.

7 years agobuild: enable hscollider for installed PCRE package
Wang, Xiang W [Tue, 5 Jun 2018 10:27:13 +0000 (06:27 -0400)] 
build: enable hscollider for installed PCRE package

Fixes github issue #86

7 years agohscollider: fix input length for UTF8 check
Wang, Xiang W [Wed, 18 Apr 2018 03:26:04 +0000 (23:26 -0400)] 
hscollider: fix input length for UTF8 check

7 years agoue2_graph: more direct property_graph defn
Justin Viiret [Wed, 20 Dec 2017 02:01:12 +0000 (13:01 +1100)] 
ue2_graph: more direct property_graph defn

7 years agonfagraph: remove ng_undirected.h
Justin Viiret [Thu, 14 Dec 2017 03:05:05 +0000 (14:05 +1100)] 
nfagraph: remove ng_undirected.h

7 years agong_repeat: use undirected_graph
Justin Viiret [Thu, 14 Dec 2017 02:49:45 +0000 (13:49 +1100)] 
ng_repeat: use undirected_graph

7 years agograph_undirected: adapt bidi graph to undirected
Justin Viiret [Tue, 12 Dec 2017 23:15:21 +0000 (10:15 +1100)] 
graph_undirected: adapt bidi graph to undirected

Introduces an adaptor (like the BGL's reverse_graph) that presents an
undirected view of a bidirectional graph.

Initially used in ng_calc_components.

7 years agomcsheng: debug format string fixes
Justin Viiret [Mon, 29 Jan 2018 00:15:29 +0000 (11:15 +1100)] 
mcsheng: debug format string fixes

7 years agosheng: fix reportCurrent eod flag
Justin Viiret [Thu, 18 Jan 2018 04:53:13 +0000 (15:53 +1100)] 
sheng: fix reportCurrent eod flag

eod here should be 0, not 1. The reportCurrent NFA API function for
Sheng is unused at the moment, so this wasn't causing any problems
earlier.

7 years agomcclellancompile: MAX_SHERMAN_LIST_LEN can be 9
Justin Viiret [Thu, 18 Jan 2018 00:24:00 +0000 (11:24 +1100)] 
mcclellancompile: MAX_SHERMAN_LIST_LEN can be 9

7 years agomisc: docs, typo fixes, small cleanups
Justin Viiret [Wed, 17 Jan 2018 23:41:43 +0000 (10:41 +1100)] 
misc: docs, typo fixes, small cleanups

7 years agorose_build_add: remove unused max_adj param
Justin Viiret [Tue, 16 Jan 2018 23:59:58 +0000 (10:59 +1100)] 
rose_build_add: remove unused max_adj param

In prepAcceptForAddAnchoredNFA(), we used to support different values
for max_adj. Since it's now always zero, remove it.

7 years agong_violet: make calcSplitRatio operation faster
Justin Viiret [Tue, 6 Jun 2017 04:37:18 +0000 (14:37 +1000)] 
ng_violet: make calcSplitRatio operation faster

Implements count_reachable in a less malloc-happy way, improving
compile performance. Adds a count() function to small_color_map.

7 years agong_width: turn min width check into assert
Justin Viiret [Tue, 16 Jan 2018 03:56:04 +0000 (14:56 +1100)] 
ng_width: turn min width check into assert

7 years agoMigrated from 01.org/hyperscan to hyperscan.io
Xiang Wang [Mon, 5 Feb 2018 01:13:49 +0000 (20:13 -0500)] 
Migrated from 01.org/hyperscan to hyperscan.io

7 years agoBump version number for release
Matthew Barr [Tue, 23 Jan 2018 23:06:50 +0000 (10:06 +1100)] 
Bump version number for release

7 years agochangelog: updates for 4.7.0 release
Matthew Barr [Tue, 23 Jan 2018 23:05:09 +0000 (10:05 +1100)] 
changelog: updates for 4.7.0 release

7 years agodoc: describe tools hscheck, hscollider, hsdump
Justin Viiret [Tue, 23 Jan 2018 02:56:22 +0000 (13:56 +1100)] 
doc: describe tools hscheck, hscollider, hsdump

7 years agodoc: in dev guide, avoid Goudy Old Style font
Justin Viiret [Sun, 21 Jan 2018 23:40:37 +0000 (10:40 +1100)] 
doc: in dev guide, avoid Goudy Old Style font

7 years agodoc: update copyright dates for 2018
Justin Viiret [Sun, 21 Jan 2018 23:29:05 +0000 (10:29 +1100)] 
doc: update copyright dates for 2018

7 years agopcre: do not explode if pcre is missing
Matthew Barr [Fri, 19 Jan 2018 04:20:39 +0000 (15:20 +1100)] 
pcre: do not explode if pcre is missing

7 years agohscollider: example test cases
Alex Coyte [Wed, 10 Jan 2018 02:38:20 +0000 (13:38 +1100)] 
hscollider: example test cases

7 years agocmake: support MinSizeRel config
Matthew Barr [Mon, 11 Dec 2017 05:05:32 +0000 (16:05 +1100)] 
cmake: support MinSizeRel config

7 years agoMove cpuid checks inline.
Matthew Barr [Mon, 11 Dec 2017 05:02:26 +0000 (16:02 +1100)] 
Move cpuid checks inline.

During fat runtime function resolution there was a chance that the PLT
might not be initialised in time for us to call the cpuid check
functions. Moving them inline means there is no PLT to worry about.

Fixes #78

7 years agohscollider: allow conversion of FileCorpora unique_ptr to Corpora
Alex Coyte [Tue, 12 Dec 2017 00:41:43 +0000 (11:41 +1100)] 
hscollider: allow conversion of FileCorpora unique_ptr to Corpora

7 years agohscheck: tool to test regex compilation
Justin Viiret [Thu, 7 Dec 2017 03:07:48 +0000 (14:07 +1100)] 
hscheck: tool to test regex compilation

hscheck accepts a file of regular expressions in the form:

    ID:/regex/flags

and tests whether they can be compiled with Hyperscan, reporting the
error if compilation fails.

7 years agohscollider: tool for testing Hyperscan match behaviour against PCRE
Alex Coyte [Mon, 11 Dec 2017 22:29:20 +0000 (09:29 +1100)] 
hscollider: tool for testing Hyperscan match behaviour against PCRE

7 years agoIntroduce hsdump development tool for producing information during compilation.
Alex Coyte [Mon, 20 Nov 2017 02:25:38 +0000 (13:25 +1100)] 
Introduce hsdump development tool for producing information during compilation.

This tool is intended to assist Hyperscan developers with development and
debugging by providing insights into the generated bytecode.

7 years agoext param - more consistent depth check
Matthew Barr [Tue, 14 Nov 2017 22:13:44 +0000 (09:13 +1100)] 
ext param - more consistent depth check

7 years agodoc: remove stray '+'
Justin Viiret [Wed, 15 Nov 2017 01:39:10 +0000 (12:39 +1100)] 
doc: remove stray '+'

7 years agofind_matches: don't create ridiculous accept paths
Matthew Barr [Wed, 8 Nov 2017 05:04:17 +0000 (16:04 +1100)] 
find_matches: don't create ridiculous accept paths

7 years agodoc: make Wikipedia hyperlinks anonymous
Justin Viiret [Tue, 7 Nov 2017 03:43:58 +0000 (14:43 +1100)] 
doc: make Wikipedia hyperlinks anonymous

7 years agodoc: make doxygen filter out HS_CDECL
Justin Viiret [Tue, 7 Nov 2017 02:47:21 +0000 (13:47 +1100)] 
doc: make doxygen filter out HS_CDECL

7 years agodoc: use doxygen @p to refer to parameters
Justin Viiret [Tue, 7 Nov 2017 02:33:01 +0000 (13:33 +1100)] 
doc: use doxygen @p to refer to parameters

7 years agodoc: clarify description of streaming API
Justin Viiret [Tue, 7 Nov 2017 01:43:26 +0000 (12:43 +1100)] 
doc: clarify description of streaming API

7 years agodoc: document that hs_close_stream frees memory
Justin Viiret [Tue, 7 Nov 2017 00:48:46 +0000 (11:48 +1100)] 
doc: document that hs_close_stream frees memory

Add explicit documentation that hs_close_stream() will free the stream
state after returning any matches.

7 years agoHamming: GraphTruth and corpus gen support
Matthew Barr [Tue, 7 Nov 2017 02:39:00 +0000 (13:39 +1100)] 
Hamming: GraphTruth and corpus gen support

7 years agoAdd support for Hamming distance approx matching
Matthew Barr [Tue, 10 Oct 2017 04:26:35 +0000 (15:26 +1100)] 
Add support for Hamming distance approx matching

7 years agoicc: disable warning about constant expression
Matthew Barr [Thu, 28 Sep 2017 04:50:14 +0000 (14:50 +1000)] 
icc: disable warning about constant expression

7 years agohsbench: sqlite output support
Matthew Barr [Wed, 27 Sep 2017 05:52:41 +0000 (15:52 +1000)] 
hsbench: sqlite output support

7 years agosqlite: disable -Werror so warnings don't kill the build
Matthew Barr [Tue, 26 Sep 2017 06:13:16 +0000 (16:13 +1000)] 
sqlite: disable -Werror so warnings don't kill the build

7 years agoMerge branch master into develop
Xiang Wang [Fri, 19 Jan 2018 10:57:38 +0000 (05:57 -0500)] 
Merge branch master into develop

7 years agoMigrated from github.com/01org to github.com/intel
Matthew Barr [Wed, 25 Oct 2017 22:40:40 +0000 (09:40 +1100)] 
Migrated from github.com/01org to github.com/intel

7 years agocmake: add a dummy c++ file to force linkage
Matthew Barr [Wed, 27 Sep 2017 01:21:01 +0000 (11:21 +1000)] 
cmake: add a dummy c++ file to force linkage

The hs dylib when built with Xcode wasn't being linked to C++ runtime
libs. Fixes #69

7 years agoMerge branch develop into master v4.6.0
Matthew Barr [Fri, 22 Sep 2017 05:20:28 +0000 (15:20 +1000)] 
Merge branch develop into master

7 years agoBump version number for release
Matthew Barr [Wed, 20 Sep 2017 04:57:46 +0000 (14:57 +1000)] 
Bump version number for release

7 years agochangelog: updates for 4.6.0 release
Matthew Barr [Wed, 20 Sep 2017 04:57:36 +0000 (14:57 +1000)] 
changelog: updates for 4.6.0 release

7 years agoDe-const the empty maps.
Matthew Barr [Fri, 22 Sep 2017 04:23:05 +0000 (14:23 +1000)] 
De-const the empty maps.

Clang 3.8 complains about attempting to default init const objects
without a user-provided constructor.

7 years agoCheck for unused typedef warning and disable
Matthew Barr [Mon, 18 Sep 2017 05:07:53 +0000 (15:07 +1000)] 
Check for unused typedef warning and disable

This affects older versions of Boost (1.58), and we were only disabling the
warning for g++.

Fixes #62.

7 years agofind_better_daddy: position change
Hong, Yang A [Mon, 28 Aug 2017 19:42:46 +0000 (03:42 +0800)] 
find_better_daddy: position change

7 years agoDon't let haigs into Tamarama
Matthew Barr [Wed, 23 Aug 2017 01:54:31 +0000 (11:54 +1000)] 
Don't let haigs into Tamarama

7 years agorose_build_add_mask: improve findMaskLiteral perf
Justin Viiret [Tue, 15 Aug 2017 03:57:43 +0000 (13:57 +1000)] 
rose_build_add_mask: improve findMaskLiteral perf

7 years agoHandle any exceptions while constructing compiler elements
Matthew Barr [Mon, 21 Aug 2017 05:23:21 +0000 (15:23 +1000)] 
Handle any exceptions while constructing compiler elements

Specifically, NG has a Rose which has a LeftEng which has a depth, which can
throw an error on construction. If we put these in the try-catch we don't
have to worry so much in future.

7 years agoteddy: alignment decl should match defn
Matthew Barr [Mon, 21 Aug 2017 05:12:36 +0000 (15:12 +1000)] 
teddy: alignment decl should match defn

Spotted by coverity. #174512

7 years agohwlm_build: default for HWLMProto::make_small
Justin Viiret [Mon, 21 Aug 2017 05:26:59 +0000 (15:26 +1000)] 
hwlm_build: default for HWLMProto::make_small

Silences Coverity warning.