748 Commits

Author SHA1 Message Date
Matthew Barr
fadfab6d8c Install example source in docdir/examples 2017-04-26 15:17:19 +10:00
Matthew Barr
ce50ff6119 Use GNUInstallDirs for install paths 2017-04-26 15:17:19 +10:00
Matthew Barr
5daa191313 cmake: simplify g++ version check 2017-04-26 15:17:19 +10:00
Matthew Barr
11aac07855 cmake: override gcc's tuning guess 2017-04-26 15:17:19 +10:00
Matthew Barr
b68e4ea336 cmake: move boost tests 2017-04-26 15:17:19 +10:00
Matthew Barr
287f519205 cmake: look for Boost in-tree first
During development we tend to use a symlink to the most recent version of
Boost from the Hyperscan source tree, so look there first.

Also, unset some cached results so we recheck when the Boost version changes.
2017-04-26 15:17:19 +10:00
Matthew Barr
01b91da1cd Use the default allocator for std::vector 2017-04-26 15:17:19 +10:00
Alex Coyte
de52b30c3e make rose responsible for dumping its bytecode 2017-04-26 15:17:19 +10:00
Alex Coyte
aeba9bc42c rose_build_bytecode: make build_context, RoseBuildImpl params const 2017-04-26 15:17:19 +10:00
Matthew Barr
b4ad7359d6 build: More robust temp file handling 2017-04-26 15:17:18 +10:00
Justin Viiret
8a6b38a9b5 ng_dominators: use a vector for doms internally 2017-04-26 15:17:11 +10:00
Justin Viiret
5005d50050 limex_compile: don't repeatedly calc dominators 2017-04-26 15:17:11 +10:00
Justin Viiret
2d660ce4db ng_corpus_generator: small fix for MSVC compat 2017-04-26 15:17:11 +10:00
Justin Viiret
187a4b82c2 small_vector: add header to handle older Boost
This provides ue2::small_vector<T, N, Alloc> which will fall back to
std::vector<T, Alloc> where the Boost version is too old or not present.
2017-04-26 15:17:11 +10:00
Justin Viiret
3e597e85ff ng_corpus_generator: restore use of boost::next()
libc++ checks for forward_iterator_tag in std::next(), which isn't
provided by our (Boost-derived) ue2_graph iterators.
2017-04-26 15:17:03 +10:00
Wang, Xiang W
448ce8a496 UE-3098: add unaligned load for andn without BMI 2017-04-26 15:17:03 +10:00
Justin Viiret
26ec7dd332 ng_corpus_generator: use std::next, not boost::next 2017-04-26 15:17:03 +10:00
Justin Viiret
037e39b6f5 ng_corpus_generator: stop using ptr_vector
Nowadays we can use vector<unique_ptr<T>>.
2017-04-26 15:17:03 +10:00
Justin Viiret
d8eb259ac7 serialize: tidy 2017-04-26 15:17:03 +10:00
Justin Viiret
bc7da2807a unit: modernise test_util 2017-04-26 15:17:03 +10:00
Justin Viiret
1376f3849a serialize: parameterize on pattern as well 2017-04-26 15:17:03 +10:00
Justin Viiret
a97ec56aee serialize: add vectored mode 2017-04-26 15:17:03 +10:00
Justin Viiret
834aebe8b6 ng_find_matches: use wd.active for accepts too 2017-04-26 15:17:03 +10:00
Justin Viiret
bae8ebc62d ng_find_matches: speed up gather...ByDepth 2017-04-26 15:17:03 +10:00
Justin Viiret
749e3e64b9 getMatches: simplify 2017-04-26 15:17:03 +10:00
Justin Viiret
c81c30b144 findMatches: persist working data 2017-04-26 15:17:03 +10:00
Justin Viiret
cc1191d94c getSuccessors: reuse a vector<State> for output 2017-04-26 15:17:03 +10:00
Justin Viiret
7ad21500c4 getActiveStates: return a sorted, uniqued vector 2017-04-26 15:17:03 +10:00
Matthew Barr
79308e6791 cmake: don't build static libs if we don't have to 2017-04-26 15:17:03 +10:00
Matthew Barr
ce6a10ef58 hsbench: don't create the greybox in release build 2017-04-26 15:16:36 +10:00
Justin Viiret
533fcf383d ng_fuzzy: apply a resource limit to vertex count 2017-04-26 15:16:27 +10:00
Wang, Xiang W
ffab97ca8c FDR: delete dead confirm code 2017-04-26 15:16:27 +10:00
Justin Viiret
7ca81ff530 ng_find_matches: limit how big we're willing to go
Tests which require tracking more than 15K states (including edit
distance states) are very, very slow.
2017-04-26 15:16:22 +10:00
Matthew Barr
d2416736cb Use intrinsic to get correct movq everywhere
The real trick here is that _mm_set_epi64x() (note the 'x') takes a 64-bit
value - not a ptr to a 128-bit value like the non-x - so compilers don't
twist themselves in knots with alignment or whatever confuses them.
2017-04-26 15:16:03 +10:00
Justin Viiret
96fdca6f54 rose: guard writeNfaInfo from zero NFAs 2017-04-26 15:16:03 +10:00
Justin Viiret
5edecbf539 ng: check can_never_match before validate_fuzzy 2017-04-26 15:16:03 +10:00
Matthew Barr
c50a931bb4 Use std::move explicitly to avoid ambiguity with boost 2017-04-26 15:16:03 +10:00
Anatoly Burakov
eed2743d04 Add approximate matching documentation 2017-04-26 15:15:50 +10:00
Anatoly Burakov
ebe849603b Add support for approximate matching in other tools 2017-04-26 15:15:12 +10:00
Anatoly Burakov
9f72dede5c Add support for approximate matching in NFA matcher unit tests 2017-04-26 15:11:54 +10:00
Anatoly Burakov
4c2b7cc04f Add support for approximate matching in ue2collider 2017-04-26 15:11:51 +10:00
Anatoly Burakov
2de6706df2 Adding support for compiling approximate matching patterns
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Justin Viiret
60fc975c81 rose: use ROUNDUP_N for alignment 2017-04-26 15:11:10 +10:00
Justin Viiret
09d19c7c57 rose: remove unnecessary engine blob size check 2017-04-26 15:11:10 +10:00
Justin Viiret
2ec3019e04 rose: do state work before writing NfaInfo structs 2017-04-26 15:11:10 +10:00
Justin Viiret
96be1190ef rose: move matcher bytecode to engine blob 2017-04-26 15:11:10 +10:00
Justin Viiret
b2aae060d8 rose: consistent naming in updateNfaState 2017-04-26 15:11:10 +10:00
Justin Viiret
6013fb1546 engine_blob: add_range() member function 2017-04-26 15:11:10 +10:00
Justin Viiret
10aa806d67 rose: clean up nfa state alloc 2017-04-26 15:11:10 +10:00
Justin Viiret
246f9f4f86 rose: update nfa info earlier, in engine blob 2017-04-26 15:11:10 +10:00