]> git.ipfire.org Git - thirdparty/vectorscan.git/log
thirdparty/vectorscan.git
7 years agoliteral matchers: change context passed to callback to scratch
Wang, Xiang W [Tue, 4 Jul 2017 16:24:11 +0000 (12:24 -0400)] 
literal matchers: change context passed to callback to scratch

7 years agong_find_matches: speed up edge lookups
Justin Viiret [Wed, 12 Jul 2017 01:08:45 +0000 (11:08 +1000)] 
ng_find_matches: speed up edge lookups

Improves the performance of step() on graphs with vertices with large
degree.

7 years agoflood detection: debug output fix
Wang, Xiang W [Fri, 7 Jul 2017 12:14:35 +0000 (08:14 -0400)] 
flood detection: debug output fix

7 years agoremove start argument in literal matcher callbacks
Wang, Xiang W [Thu, 6 Jul 2017 16:23:41 +0000 (12:23 -0400)] 
remove start argument in literal matcher callbacks

7 years agoEnsure that reports would be sustained after self loop is removed
Alex Coyte [Wed, 5 Jul 2017 01:00:39 +0000 (11:00 +1000)] 
Ensure that reports would be sustained after self loop is removed

Approximante matching means that is now possible to get a non-standard report
on a cyclic during edge redundancy passes which means checks are now needed.

7 years agong_prefilter.cpp: remove interior edges first
Justin Viiret [Tue, 4 Jul 2017 03:22:09 +0000 (13:22 +1000)] 
ng_prefilter.cpp: remove interior edges first

This allows us to avoid looking them up while we're in copyOutEdges(),
halves time on large cases.

7 years agong_mcclellan: reject determinise if NFA is too big
Justin Viiret [Mon, 26 Jun 2017 06:15:23 +0000 (16:15 +1000)] 
ng_mcclellan: reject determinise if NFA is too big

7 years agong_violet: fail on added_count limit quicker
Justin Viiret [Mon, 26 Jun 2017 06:17:25 +0000 (16:17 +1000)] 
ng_violet: fail on added_count limit quicker

- also fixes typo "splitForImplementability"
- adds more detail in debug output

7 years agorose_build_convert: replace bind2nd with lambda
Justin Viiret [Mon, 3 Jul 2017 01:08:25 +0000 (11:08 +1000)] 
rose_build_convert: replace bind2nd with lambda

std::bind2nd was deprecated in C++11.

7 years agordfa: move raw_dfa member functions to rdfa.cpp
Justin Viiret [Mon, 3 Jul 2017 01:29:35 +0000 (11:29 +1000)] 
rdfa: move raw_dfa member functions to rdfa.cpp

7 years agopatch for invalid reading 1 byte in Reinforced Teddy, abandon fetching the first...
Chang, Harry [Fri, 30 Jun 2017 00:13:27 +0000 (17:13 -0700)] 
patch for invalid reading 1 byte in Reinforced Teddy, abandon fetching the first reinforced byte.

7 years agocmake: add graph_range.h
Justin Viiret [Fri, 30 Jun 2017 01:15:39 +0000 (11:15 +1000)] 
cmake: add graph_range.h

7 years agong_depth: more use of small_color_map
Justin Viiret [Thu, 29 Jun 2017 23:43:31 +0000 (09:43 +1000)] 
ng_depth: more use of small_color_map

7 years agong_depth: use small_color_map in findLoopReachable
Justin Viiret [Thu, 29 Jun 2017 01:43:45 +0000 (11:43 +1000)] 
ng_depth: use small_color_map in findLoopReachable

7 years agong_util: make more use of small_color_map in DFS
Justin Viiret [Thu, 29 Jun 2017 01:38:13 +0000 (11:38 +1000)] 
ng_util: make more use of small_color_map in DFS

7 years agong_util: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 01:33:03 +0000 (11:33 +1000)] 
ng_util: use small_color_map

7 years agong_prune: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 01:25:13 +0000 (11:25 +1000)] 
ng_prune: use small_color_map

7 years agong_netflow: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 01:20:17 +0000 (11:20 +1000)] 
ng_netflow: use small_color_map

7 years agong_literal_analysis: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 01:14:46 +0000 (11:14 +1000)] 
ng_literal_analysis: use small_color_map

7 years agong_repeat: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 01:08:54 +0000 (11:08 +1000)] 
ng_repeat: use small_color_map

7 years agong_region: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 01:05:55 +0000 (11:05 +1000)] 
ng_region: use small_color_map

7 years agong_width: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 00:57:17 +0000 (10:57 +1000)] 
ng_width: use small_color_map

7 years agong_misc_opt: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 00:38:46 +0000 (10:38 +1000)] 
ng_misc_opt: use small_color_map

7 years agolimex_compile: use small_color_map
Justin Viiret [Thu, 29 Jun 2017 00:26:17 +0000 (10:26 +1000)] 
limex_compile: use small_color_map

7 years agosmall_color_map: add efficient 2-bit color map
Justin Viiret [Wed, 28 Jun 2017 06:29:31 +0000 (16:29 +1000)] 
small_color_map: add efficient 2-bit color map

7 years agonoodle: correct streaming bounds
Matthew Barr [Fri, 30 Jun 2017 01:42:32 +0000 (11:42 +1000)] 
noodle: correct streaming bounds

7 years agonoodle: param name
Matthew Barr [Thu, 29 Jun 2017 23:10:48 +0000 (09:10 +1000)] 
noodle: param name

7 years agonoodle: scan using the correct offsets
Matthew Barr [Thu, 29 Jun 2017 06:26:56 +0000 (16:26 +1000)] 
noodle: scan using the correct offsets

7 years agoshufti/truffle tests: silence ubsan warning
Justin Viiret [Thu, 25 May 2017 02:46:01 +0000 (12:46 +1000)] 
shufti/truffle tests: silence ubsan warning

The ubsan support in clang warned about us accessing idx-1 of an array here.

7 years agotamarama_dump: fix typo in comment
Justin Viiret [Thu, 29 Jun 2017 03:12:23 +0000 (13:12 +1000)] 
tamarama_dump: fix typo in comment

7 years agoslot_manager_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:20:31 +0000 (13:20 +1000)] 
slot_manager_dump: use StdioFile

7 years agosmallwrite_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:18:51 +0000 (13:18 +1000)] 
smallwrite_dump: use StdioFile

7 years agorose_in_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:17:04 +0000 (13:17 +1000)] 
rose_in_dump: use StdioFile

7 years agong_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:15:07 +0000 (13:15 +1000)] 
ng_dump: use StdioFile

7 years agotamarama_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:11:54 +0000 (13:11 +1000)] 
tamarama_dump: use StdioFile

7 years agoshengdump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:10:40 +0000 (13:10 +1000)] 
shengdump: use StdioFile

7 years agompv_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:09:16 +0000 (13:09 +1000)] 
mpv_dump: use StdioFile

7 years agomcsheng_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:07:39 +0000 (13:07 +1000)] 
mcsheng_dump: use StdioFile

7 years agomcclellandump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 03:06:26 +0000 (13:06 +1000)] 
mcclellandump: use StdioFile

7 years agolimex_dump: use StdioFile, tidy
Justin Viiret [Thu, 29 Jun 2017 03:03:52 +0000 (13:03 +1000)] 
limex_dump: use StdioFile, tidy

7 years agolbr_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 02:56:55 +0000 (12:56 +1000)] 
lbr_dump: use StdioFile

7 years agogoughdump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 02:54:26 +0000 (12:54 +1000)] 
goughdump: use StdioFile

7 years agogoughcompile_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 02:52:14 +0000 (12:52 +1000)] 
goughcompile_dump: use StdioFile

7 years agocastle_dump: use StdioFile
Justin Viiret [Thu, 29 Jun 2017 02:46:56 +0000 (12:46 +1000)] 
castle_dump: use StdioFile

7 years agonoodle: behave like our other literal matchers
Matthew Barr [Tue, 30 May 2017 05:54:51 +0000 (15:54 +1000)] 
noodle: behave like our other literal matchers

Noodle now supports supplementary masks.

7 years agoMove hwlm literal len define
Matthew Barr [Mon, 26 Jun 2017 00:15:49 +0000 (10:15 +1000)] 
Move hwlm literal len define

7 years agonoodle: we don't need memcpy
Matthew Barr [Tue, 30 May 2017 06:26:13 +0000 (16:26 +1000)] 
noodle: we don't need memcpy

7 years agonoodle: Use a sane temp buf for streaming
Matthew Barr [Tue, 30 May 2017 06:12:41 +0000 (16:12 +1000)] 
noodle: Use a sane temp buf for streaming

7 years agohwlm_dump: take base filename, like NFA dump API
Justin Viiret [Mon, 26 Jun 2017 04:39:46 +0000 (14:39 +1000)] 
hwlm_dump: take base filename, like NFA dump API

7 years agofdr/teddy: dump confirm lit load
Justin Viiret [Mon, 26 Jun 2017 01:15:29 +0000 (11:15 +1000)] 
fdr/teddy: dump confirm lit load

7 years agodump_util: richer StdioFile type
Justin Viiret [Mon, 26 Jun 2017 04:25:44 +0000 (14:25 +1000)] 
dump_util: richer StdioFile type

7 years agodump: move openStdioFile() to util/dump_util.h
Justin Viiret [Mon, 26 Jun 2017 00:48:25 +0000 (10:48 +1000)] 
dump: move openStdioFile() to util/dump_util.h

7 years agorose: dump lit tables in their own files
Justin Viiret [Mon, 26 Jun 2017 00:05:03 +0000 (10:05 +1000)] 
rose: dump lit tables in their own files

7 years agofdr/teddy: store and dump number of strings
Justin Viiret [Fri, 23 Jun 2017 06:32:10 +0000 (16:32 +1000)] 
fdr/teddy: store and dump number of strings

7 years agofdr_dump: dump FDRConfirm structures for fdr
Justin Viiret [Thu, 15 Jun 2017 03:28:54 +0000 (13:28 +1000)] 
fdr_dump: dump FDRConfirm structures for fdr

7 years agoReinforced Teddy with 1-byte approach, based on "shift-or" and AVX2.
Chang, Harry [Sun, 22 Jan 2017 20:23:25 +0000 (12:23 -0800)] 
Reinforced Teddy with 1-byte approach, based on "shift-or" and AVX2.

7 years agong_misc_opt: improve performance in large cases
Justin Viiret [Wed, 31 May 2017 06:11:52 +0000 (16:11 +1000)] 
ng_misc_opt: improve performance in large cases

7 years agong_misc_opt: remove dead code
Justin Viiret [Wed, 31 May 2017 06:07:26 +0000 (16:07 +1000)] 
ng_misc_opt: remove dead code

7 years agong_cyclic_redundancy: persist colour map
Justin Viiret [Thu, 1 Jun 2017 04:40:04 +0000 (14:40 +1000)] 
ng_cyclic_redundancy: persist colour map

7 years agong_small_literal_set: pre-check for narrow reach
Justin Viiret [Tue, 20 Jun 2017 03:49:46 +0000 (13:49 +1000)] 
ng_small_literal_set: pre-check for narrow reach

7 years agong_mcclellan: use flat_set in triggerAllowed()
Justin Viiret [Mon, 5 Jun 2017 06:53:55 +0000 (16:53 +1000)] 
ng_mcclellan: use flat_set in triggerAllowed()

7 years agong_literal_analysis: reserve space for fwd_edges
Justin Viiret [Fri, 2 Jun 2017 01:26:59 +0000 (11:26 +1000)] 
ng_literal_analysis: reserve space for fwd_edges

7 years agong_literal_decorated: remove unused header
Justin Viiret [Mon, 5 Jun 2017 05:39:08 +0000 (15:39 +1000)] 
ng_literal_decorated: remove unused header

7 years agong_literal_decorated: pre-check for narrow reach
Justin Viiret [Wed, 31 May 2017 00:27:24 +0000 (10:27 +1000)] 
ng_literal_decorated: pre-check for narrow reach

7 years agong_violet: skip analysis on graphs with wide reach
Justin Viiret [Tue, 30 May 2017 07:09:03 +0000 (17:09 +1000)] 
ng_violet: skip analysis on graphs with wide reach

7 years agong_calc_components: check tail shell too
Justin Viiret [Wed, 7 Jun 2017 04:15:10 +0000 (14:15 +1000)] 
ng_calc_components: check tail shell too

7 years agong_calc_components: skip if shell has 1 path only
Justin Viiret [Tue, 30 May 2017 07:30:56 +0000 (17:30 +1000)] 
ng_calc_components: skip if shell has 1 path only

7 years agodfa: don't clear states, just mark dfa dead
Justin Viiret [Fri, 23 Jun 2017 03:01:47 +0000 (13:01 +1000)] 
dfa: don't clear states, just mark dfa dead

The previous change caused some assertion issues.

7 years agoclear_deeper_reports: clear dfa if dead
Justin Viiret [Thu, 22 Jun 2017 06:51:35 +0000 (16:51 +1000)] 
clear_deeper_reports: clear dfa if dead

If we remove all the reports from the DFA because they're too deep, then
clear the DFA without depending on Hopcroft minimisation.

7 years agorose_build_matchers: fix fragment noruns calc
Justin Viiret [Fri, 23 Jun 2017 01:30:24 +0000 (11:30 +1000)] 
rose_build_matchers: fix fragment noruns calc

7 years agoteddy_compile: style fixes, whitespace
Justin Viiret [Thu, 22 Jun 2017 05:21:22 +0000 (15:21 +1000)] 
teddy_compile: style fixes, whitespace

7 years agoteddy_compile: use faster small containers
Justin Viiret [Tue, 11 Apr 2017 07:05:40 +0000 (17:05 +1000)] 
teddy_compile: use faster small containers

7 years agorose_build_matchers: be more careful w/ mixed-case
Justin Viiret [Thu, 22 Jun 2017 00:37:31 +0000 (10:37 +1000)] 
rose_build_matchers: be more careful w/ mixed-case

Overhaul the way fragment literals are added to HWLM and accel, fix
some bugs shaken out by stricter mask use.

7 years agounit-hyperscan: pure-literal/smwr coverage
Justin Viiret [Mon, 29 May 2017 02:45:37 +0000 (12:45 +1000)] 
unit-hyperscan: pure-literal/smwr coverage

7 years agolookarounds: don't reconfirm bytes in hwlm mask
Justin Viiret [Tue, 20 Jun 2017 07:34:17 +0000 (17:34 +1000)] 
lookarounds: don't reconfirm bytes in hwlm mask

7 years agorose: always use mandatory masks for lit fragments
Justin Viiret [Tue, 20 Jun 2017 07:11:18 +0000 (17:11 +1000)] 
rose: always use mandatory masks for lit fragments

7 years agodump: always allocate >=8 bytes for multibit
Justin Viiret [Wed, 31 May 2017 03:07:22 +0000 (13:07 +1000)] 
dump: always allocate >=8 bytes for multibit

The multibit runtime assumes that it is always safe to read 8 bytes, so
we must over-allocate for smaller sizes. Caught by ASan.

7 years agodfa: standardise 'using' instead of typedef
Justin Viiret [Mon, 15 May 2017 00:02:13 +0000 (10:02 +1000)] 
dfa: standardise 'using' instead of typedef

7 years agong_haig: make StateMap an unordered_map
Justin Viiret [Sun, 14 May 2017 23:54:09 +0000 (09:54 +1000)] 
ng_haig: make StateMap an unordered_map

7 years agodeterminise: use queue, improve api
Justin Viiret [Thu, 11 May 2017 07:07:26 +0000 (17:07 +1000)] 
determinise: use queue, improve api

 - Use a queue rather than always building the full vector of state
   sets.
 - Make more use of move, emplace, reserve.
 - Write directly into dstates argument.
 - Return bool rather than int.

7 years agofdr_confirm_compile: literals are now < 8 bytes
Justin Viiret [Mon, 19 Jun 2017 05:47:36 +0000 (15:47 +1000)] 
fdr_confirm_compile: literals are now < 8 bytes

7 years agofdr_confirm_compile: wrap comment
Justin Viiret [Fri, 9 Jun 2017 06:29:56 +0000 (16:29 +1000)] 
fdr_confirm_compile: wrap comment

7 years agofdr/teddy: remove padding from structures
Justin Viiret [Fri, 9 Jun 2017 06:28:32 +0000 (16:28 +1000)] 
fdr/teddy: remove padding from structures

7 years agoteddy: clean up compile to match fdr style
Justin Viiret [Wed, 24 May 2017 01:24:45 +0000 (11:24 +1000)] 
teddy: clean up compile to match fdr style

7 years agofdr_confirm: renumber FDR_LIT_FLAG_NOREPEAT
Justin Viiret [Wed, 24 May 2017 01:22:36 +0000 (11:22 +1000)] 
fdr_confirm: renumber FDR_LIT_FLAG_NOREPEAT

7 years agofdr/teddy: simplify computing of confirm base
Justin Viiret [Wed, 24 May 2017 01:10:39 +0000 (11:10 +1000)] 
fdr/teddy: simplify computing of confirm base

7 years agofdr_confirm: clean up use of flags
Justin Viiret [Wed, 24 May 2017 00:29:28 +0000 (10:29 +1000)] 
fdr_confirm: clean up use of flags

7 years agofdr: further tidy up layout
Justin Viiret [Wed, 24 May 2017 00:13:06 +0000 (10:13 +1000)] 
fdr: further tidy up layout

7 years agofdr_confirm: start FDRConfirm structs at cacheline
Justin Viiret [Tue, 23 May 2017 04:44:20 +0000 (14:44 +1000)] 
fdr_confirm: start FDRConfirm structs at cacheline

7 years agoteddy: align major structures to cachelines
Justin Viiret [Tue, 23 May 2017 04:40:04 +0000 (14:40 +1000)] 
teddy: align major structures to cachelines

7 years agofdr: align major structures to cachelines
Justin Viiret [Tue, 23 May 2017 04:28:12 +0000 (14:28 +1000)] 
fdr: align major structures to cachelines

7 years agofdr_confirm: remove dead flags
Justin Viiret [Tue, 23 May 2017 03:39:24 +0000 (13:39 +1000)] 
fdr_confirm: remove dead flags

 - Caseless was unused
 - NoFlags is a bit redundant

7 years agofdr_confirm: remove complex confirm
Justin Viiret [Mon, 22 May 2017 03:59:16 +0000 (13:59 +1000)] 
fdr_confirm: remove complex confirm

8 years agoBump version number for release
Matthew Barr [Wed, 26 Jul 2017 04:44:28 +0000 (14:44 +1000)] 
Bump version number for release

8 years agochangelog: updates for 4.5.2 release
Matthew Barr [Wed, 26 Jul 2017 04:27:07 +0000 (14:27 +1000)] 
changelog: updates for 4.5.2 release

8 years agobuild: use more portable flag for mktemp
Matthew Barr [Wed, 26 Jul 2017 04:01:57 +0000 (14:01 +1000)] 
build: use more portable flag for mktemp

Fixes github issue #60

8 years agocpuid: exclude AVX512 flag when target not enabled
Matthew Barr [Thu, 29 Jun 2017 01:05:21 +0000 (11:05 +1000)] 
cpuid: exclude AVX512 flag when target not enabled

If we have a fat runtime build without AVX512 enabled, we should not
pick up the AVX512 flag from cpuid.

8 years agocharacter classes: handle \Q\E and utf8
Alex Coyte [Tue, 20 Jun 2017 00:19:32 +0000 (10:19 +1000)] 
character classes: handle \Q\E and utf8

8 years agoTreat characters between \Q \E as codepoints in UTF8 mode.
Alex Coyte [Mon, 19 Jun 2017 01:03:05 +0000 (11:03 +1000)] 
Treat characters between \Q \E as codepoints in UTF8 mode.

fixes github issue #57

8 years agoBump version number for release
Matthew Barr [Thu, 15 Jun 2017 23:51:23 +0000 (09:51 +1000)] 
Bump version number for release