xrules: Use BOOST_THROW_EXCEPTION.
xrules: Documentation, refactoring. Code review improvements.
xrules: Documentation fix.
xrules: Adding simple load test for XRules module.
xrules: Create a test to create and fire an IP test.
config-parser.c: Removing doxygen of a nonexistent parameter.
xrules: Adding unit tests and resultant bug fixes.
xrule: Use response_headers:Content-Type to detect headers.
xrules tests: Removing unnecessary InitVar used to initially run tests.
xrules: Adding response content type test.

Only 1 is added to spot-check that the correct var is being read
for the value. Otherwise it is the same code paths as request content
type.
Squashed 'libs/libinjection/' changes from 31b2d25..ef0e666

ef0e666 more fingerprints for sqli operator hijacking
bd61f68 fix typo
99695d1 updates
2354ae8 fix logging
1d79d6f fix clock
556be45 add fingerprints to prevent operator hijacking
2742359 update
d26b2e4 ssl stats
c29b949 whitespace
e5c7fb5 add loc
45543d1 fixes for cppcheck (benign, mostly style issues)
c510787 update
f874df8 update
acf0c3e fix cppcheck checker
df64208 makefile
238e4e6 add cppcheck to cicada
a49c296 cppcheck
9197517 nits
e95d444 remove stdbool -- Microsoft does not like C99
cd24cd1 restore cppcheck
bd51289 cleanup
59ae242 remove dead code
21ba9e8 remove hacks
2f08584 remove not sqli
bc84cd3 comment out non-sqli
e4bedd6 coverage analysis cleanups
b03584b update
6e83269 zap output file before starting
4cf9697 Remove un-needed code
0489640 break apart compound expression for better code coverage analysis
faeac39 test for non-SQL use of IN
cf718ce more folding tests
c36fca1 clarification of length
7324f81 test for unary NOT
19f5d51 unit tests for folding
cb94927 add unit tests for folding
da5ae94 add no-cache headers
0cc3246 text
d153e42 update swig bindings
0e06f85 fix regression from last refactoring
8cfe5ba update
9ee4f57 add backwards compatibility for old apache-style logs
e03a2d1 update
9866dde Merge pull request #50 from b1v1r/master
0fbfc6c Initialize res to fix use of uninitialized variable (compiler warning).
39f9d6d Fix libinjection_sqli_reset() to not clobber lookup and userdata.
50b9b2e fix take 2
2f1aa0e attempt fix
b96a0bf ?
c0d58b2 always log exit code
404d570 add SSL junk
d8282b3 add SSL junk to pages
15b075e fix ssl test
bd607ba Add fingerprint, reset clock, HT @FluxReiners
5f447b8 Add fingerprint, reset clock, HT @FluxReiners
5f7e51b new attack
dbd2f0f update
b8baae3 false positive reduction
284bf4e improved false positive rejection
48c08dd remove false positive
cc2d118 update unit test
442c0fc update unit test
d16f6fa change to https
13ac5d1 fix ssl tests
5f7f5b4 on init do all tests
12bc8d3 add ssl test
380932c changelog
315b933 More size adjustments to allow stack protector to run
b0d77bb add another case to speed test
bc75138 make static array be at least 8 bytes so gcc stack protector works
c73fd6c fix performance test output
cf2b007 add performace regression test
022c885 cleanup makefile junk
4184f96 add common GCC stack and memory protections
c5d8e8b make performance testing a unit test
a49eb35 fix artifact publish
c498341 cicada
a7739c9 cicada
6dc9166 cicada
f8db113 Oracle number parsing fix
ca1aecd fix url escaping
67f9ebb cleanups
f4eb556 Clean up some fingerprints
dc36ae6 be quiet
1a0156d remove junk
905e320 use less optimization in gprof builds
2a75197 remove gcc warning
464db8e get rid of gcc warning
e709970 run everyday
264c6bb cicada
5605b1a cicada
c8bddf0 cicada
2e4eb33 change port
0a2a454 cicada
b8cc563 script to sync modsecurity and libinjection
18b20d3 update version
50ac3ce reset the clock
258cc02 new test case
80af8d8 fingerprint update, v3.4.1
e03b139 v3.40 prep
2a04911 publish artifacts
481223e publish artifacts
adb8f3f publish artifacts
decf57b improve code coverage
7d57e3c gcov
9f82765 gcov
1d173d0 gcov
3c80b08 gcov
d8f0a28 attempt at publishing gcov
1552afd attempt at publishing gcov
beb4420 attempt at publishing gcov
0f25148 attempt at publishing gcov
5790641 attempt at publishing gcov
da68cb5 attempt at publishing gcov
11e71d6 attempt at publishing gcov
1db76f8 attempt at publishing gcov
5c145c0 attempt at publishing gcov
9f78cc8 attempt at publishing gcov
2579a24 attempt to get gcov working again
3bb43b8 attempt to get gcov working again
0552d77 attempt to get gcov working again
11c6aad fix regression
3a9b110 updates for regression in folding
4a61bf5 Fingerprint update reported by @FluxReiners
49d3522 fix bypass history
3763666 valgrind
e145b6a minor python cleanups
e14e75a make pylint better
0fe07bb update tests
76e93ce new testdriver
ddb4228 undo
c104f05 add back mysql token test that were not committed
f2365f2 remove stray whitespace
cae25fb use new API
b1bac63 Make API more robust, add folding API, add start of new C testdriver
acd79d4 procudure analyse
87f5548 add sample
3641434 fire jenkins
541bdfd doc updates
a9147b2 fix test
f3abdbc re-arrange
dcb281a update
fd67c2b add duration to output
cce2513 fix regression
3ab43d8 remove XML option
09452fc fix paths
0f49315 cleanup
ec442c1 fix testing script
8562c83 new testing script
70eec65 fix tester
25e3294 test update
c1c97a6 test update
1a92f8f test update
8224b63 test update
13f6086 v3.3.0
2b88daa fix unit tests
86666a2 collation and folding improvements
4647f1f remove deadfingerprints, do more folding, handle stacked queries better
30344f8 fix how COLLATE is parsed
d26e595 Fix backslash parsing
4763189 fix backslash parsing
c8dedc9 changelog
7da8f12 changelog
258c547 v3.2.0
317420f Remove swig dependency in setup.py
cd9e1a3 fix example
b79d635 back to async
1ca7526 more rules involving "binary" quasi-type-operator
9625683 add reddit ref
864b4cd fix html
fce364e fix process of binary type operator and folding
c1a5d6b update references section
3f6a64f fix collation attacks, reduce FP
1424c30 Update bypass credits
75e720c Add parsing of binary litterals
389ea5f update bypass table
1d599be Fix parsing ambiguity
3ae6724 v3.1.0
eb9d97d example code
b4795d2 documentation
210db70 web
b01af41 website
b174a7f changelog
2c382dc add unusual join types, unlikely to be used in sqli, but...
48ddc14 add oracle whitespace rules
ff57768 Merge branch 'master' of https://github.com/client9/libinjection
19ab99a add chr(0) as a white space char, oracle
9abb472 be more rebust to apache json format
93f137a Fix for oracle number parsing, website enhancements
84ba385 Merge branch 'master' of https://github.com/client9/libinjection
ee501ef version 3.0.0 final release!
edef2fb fix var name change
a0a8bea ops fix var name change
10cd978 cleanup types
71429ec change variable of "pat" to "fingerprint" to be self-documenting
a8a8e90 pages
eb3ae45 pages
8aadb80 mv
4147abd mv
8aafbb8 new site pages
3ef0b91 update site
43fbf1d v3.0.0pre21
98ee74b rebuild after a sort
294989d remove DO type for now due to FP
c19d14c fix memory problem
f27a165 make valgrind actually run
2c49d83 speed up valgrind but not doing leakcheck-full, we arent allocing memory so who cares
feff3ea various updates for mysql-isms
01ea66f valgrind everything
10e8c23 more samples
9fecaf7 v3.0.0pre20
9071eeb remove more impossible fingerprints
6b0a845 more cleanups
4372ed7 fix rules for folding comma lists
ee32ef0 remove now 170 impossible fingerprints
200fd9f more hacking on TSQL operations and false positives, if statements
7810e7a fix constants to use namespace
254810d add -some- interesting IBM DB2-isms
78061e9 various updates
f895e47 update makefile
f635d7f update makefile
73a9983 add unit test
dec1910 make optimization -O1 for gprof
b088896 cleaning
8d0ef13 remove duplicated code due to cutnpaste error?
c4cbfd1 fix word parsing
7c535b4 updates in parsing, esp for mysql
db1ef1b updates, redo print as "E" type for now, too many FP
6cd44bf fix parse word
bfa9294 remove more code for mysql comments
548d815 updates, evasions, new wrappers
eeab779 unit test
8954ef9 dont be so smart -- just ban any mysql comments
3e076ea more samples
e91e66c union distinct
f0b35b0 fix nested subselets
b8d0af1 more red
f722411 microsoft-ism
b0ffbc5 various samples
dc28b46 3.0.0pre19
20962f1 more
3fe0d82 add oracleism
4c08c7e add some oracle-ism for completeness
0bcbf00 continue
95885f6 continue
223ad51 "for update" fun
b5cb65e incomplete addition of fingerprints from last release
5d79c4b Merge branch 'master' of https://github.com/client9/libinjection
c916c6b fix memory problem
b92d3bd fix html
c048c52 fix html
cbaa427 update the clock
fb89376 v 3.0.0pre18
0f2fad3 treat limit and having the same way "order by" and "group by" is handled.  Fix folding bug
f303086 make long queries with no whitespace not break html layout
ae1eb7c interesting not-sqli
2c00264 new test cases
fdcb46f new unit tests
e612fe0 webpage
d0315b2 none of these are actuall sqli -- all syntax errors - but close enough
df5223b cleanups for website
5cc8752 fix html
56461ab update readme
39cc365 update readme
c7e53a1 update readme
bfd72d0 update
27f47e2 fix english
1d389fb reset the clock :-(
63eb933 3.0.0pre17 - string and numeric litteral + in-list
f93dea1 various parser additions
b310483 fix parsing of $.foo
e1bdc67 Fix parsing of $.
900f06e page
38668c1 annoying favicon support
ef4d070 fix
1915ca7 robots
ec1e824 add static dir
d2a67ab page
147928f add generation date
ab052d9 page
cd7a9dd page
f9188e4 page
95804b6 pages
8d6766f add page
0d2e476 add link to jenkins
66f22b5 more!
1b2c037 3.0.0pre15
f7bb96b bammm: increase coverage with new fingerprints/sqli, AND reduce false positives
7a838f1 count how many tokens parsed for false positive analysis
c2d15a8 remove tmp file
7265694 not sqli
04d4e26 quick CLI test to make sure no regressions
7e41337 fix folding rule, *remove* fingerprints
937eb8a 3.0.0pre14
2f151d8 some ms-access tweaks, other minor updates
1c3873b update evasions
ba54f43 clean up unit test turds
2c0b780 remove dependency on latest version of SWIG
b956458 add xml output for unit tests
983ef68 fix python test driver
4c1085d fix python test driver
7ba653e update
4ae9eef add link to google group
4b6ff1a update home
292d00f update home
394bf8d add new page
8dfea12 add days since last evasion
0dfe83d mark small sqli in form of 1-- .. sp_password
c665615 add back the green!
d32bb87 add back the green!
604a372 add another quasi-variable / function conversion
f4e8195 fix correctly the current-user issue
1d26e1f fix problems with "current_user" correctly"
8057272 undo last add of fingerprints
16bfb0f updates to python
2c69929 new hacks by Emin Ghuliev !  thx!
c35f763 fuzzing to find future faults
3dc9722 more oracle/ms functions
a736822 add serverproperty as a function
4721d56 add various examples
8cf222a Make long queries display nicely
38ff453 unit test for folding
2dc929c another sample
f0342d1 update fp map, and functions list
73382b0 the worlds best false positive
2aec5cd fix regression in false positive elimination
7bafb9c  fix up python stuff
9b00309 fingerprint update
9c2c3dc sqli-misc.txt
9b82c3a fingerprint from @FluxReiners
57911a4 v 3.0.0pre13
533eee9 various new test cases
c4bd44b add fingerprint
937e351 control false positives by remove some bogus fingerprints
577cd07 between is an operator
3f03628 between is an operator
59e8153 fix folding bug
94a8b7f keyword merging code should use API to do lookups
9e0cb6e fix a short sqli
9e119cb another interesting sqli
4509710 add interesting case by @stamparm
14a96e0 add interesting case by @stamparm
1e18670 fix fingerprints mutator, which in turns fixes a bunch of missing fingerprints
28cb1c2 big api change to support scripting langauge lookups
12cff9d bump version to test git
bf9fa5a fix website take 2
aec3f5f fix website
602b314 start of one api call for all lookups, again fix how backquotes are handled thanks to PHP
3b1877b top level Makefile
01e521e sync with SWIG
3d53b2f add pos,len to tokens, add keywords, add tests, go faster
aeef127 remove old file
60d8437 3.0.0pre10
4167fc5 add fingerprint
456d660 fix c++ build
49be438 use main table for fingerprints
dcdf2ce remove offensive code
b3f7f94 use type system for code sanity
a2ac56b merge in multiple words in to main table
259f454 merge in 2-char operators into main keywork table, other merges
caafa81 v3.0.0-pre9
ff99741 cleanup string parser, correct errors in backslash escaping
8df0061 do the right thing for make test
5e0bb85 make website suck less
19d4fab fix up processing of # operator vs mysql comment EOL operator
3d809d1 parse mysql comments using mysql v5 syntax not v3.  Deal with v3 in a different way
b6c3989 remove use of char as an number in the API.  SWIG gets confused.
1a5eea4 only parse MySQL /*! comments in mysql context
141c123 test for mysql comments
5876507 update diagnostics page
f6afe54 add fingerprint thats not sqli but close enough
6ea0cc5 update diagnostics page, will make pretty later.. riiiiiight
7667b91 update
49b41ce update
b5abe47 update
535f000 update
02d690d update
a9c63ee update libinjection home page
f381cf6 simplify sample code
66c4766 fix sample code
e724d4a fix website
febb60f bump version
776d0de fix website to use new python api
abf20d6 remove any junit turds
e440369 cleanup
663a335 simply build process
4fc8580 remove junk breaking build
5de4560 switch from git: to https: to avoid firewall issues
7103e3d fix dependencies
c52dbb0 reduce build complexity, add generated file
5475411 remove linker turds
0b15b3c auto checkout lua-TestMore
aa67ae3 attempt at linux shared libraries, take 4
09aa06e attempt at linux shared libraries, take 3
2537985 attempt at linux shared libraries, take 2
ea08484 attempt at linux shared libraries, take 1
0915fed minor tweaks and improvements
b1421eb make sanity
86ed196 working unit tests for lua
74b88da close to luajit working
0d88dc6 make C structures read-only, remove libinjection_ prefix from c functions when exposed to scripting languages
34bdb61 remove old python extension
1a401d6 more test cases
9150f84 start of real python and lua extensions
3517326 prepare for swiggification
7de83aa handle innodb "FOR UPDATE" clause
e99f303 add new fingerprints based on type-tokens
da4e475 unit test for !~
c3b642f bump version
94c0091 various new samples
c4fccb6 fix mysql variable parsing, again
3d4ed6b fix LOCK IN SHARE MODE mysql bug
fa77f81 how "unknown" is treated
02e353d fix mutator with rule 1 -> f()
ecbec0d update version
1bcc82a bump version
b4ef53e Merge pull request #47 from qerub/pl-parser-cmd
2773437 Merge pull request #46 from qerub/pl-fix-typo
c17bc77 Fix typo in filename
7045853 Parameterize test_driver.py with PARSER_CMD
7c11d5d fix memory error, thanks valgrind!
b530086 Issue #44: oracle q and nq strings
494b700 unit test for code coverage
74793a0 Issue #44: Oracle q and nq strings
ed5f8aa tests for code coverage
a9b9a05 tests for code coverage
1920229 fix unit test
856be1e fix unit test
aa74725 unit tests for code coverage
4e16436 Issue #45, Issue #41 more unit tests
d7eedfd Issue #45, Issue #41 MySQL and PGSQL type intents
d0a02aa Issue #45: mysql "intents"
4e388f2 Issue #42: unit tests
a7729b5 Issue #42: unit tests
ba1c795 Issue #42: pgsql $ quoting
b916c16 add fingerprint, not sqli but close enough
7552fda Merge branch 'master' of github.com:client9/libinjection
f03d3c7 Issue #24: smoke tests for pgsql $$ quoting
949d91e remove impossible fingerprints
8243f96 turn on more folding optimization
3507734 Turn on folding optimization, add new fp
0b7ed06 yay more..
19c7a56 pre5
51198bb fix mutator, update fingerprints
8302aa1 samples
03e1fe0 fingerprints
5a42966 fix fingerprints
618e810 updates!
27c80fa 3.0.0-pre4
c18ab95 correctly fix memory problem
0b15181 correctly fix memory problem
21e60e8 make more clear
c905ac9 whitespace
6aa5658 use faster / safer memset to clear out token_t
4dbfba2 use faster / safer memset to clear out token_t
ae83eca fix memory bug.  thanks valgrind
6f513f2 whitespace
9dbc7ce add api, fixup fptool
efde4ec fixup fptool
3647b37 fix nasty mysql parsing error
64ca1f6 fix test
bf02f4e add fingerprint X
9cf4824 add fingerprint X
453759e correctly parse mysql SELECT`foo`
1dfe359 tests for SELECT.1 stuff
04e068b Issue 24: unit tests
7e60bf8 fix
7bbed18 yay unit tests
c585e93 tests
d18fc8e tests
e7f185b tests
6a96720 test
e028b30 tests
5652849 tests
3188f3e more negative tests
97b9688 start testing main apis
c373b7d remove more dead code
0ecb3e5 remove dead code, add unit tests
a470567 yay unit test, found a bug
be2a39e tests
aec4006 more tests
e34c7ac remove unused folding rule
9113536 more tests
810e577 more test
d381943 more tests
5ef413f more tests!
ad85d8c more folding tests
3e8d04e more folding tests
c0b62e1 make consistent how variables are parsed and displayed for tets
83b5973 take 1 on folding tests
07f4994 big engine change
067dc2c fix colon parsing rules
fae80fd refinements
3acd4ce add new type E for expression, allows making rules to eliminate types of fingerprints, reduces false positives
3a86370 autogenerate numerous matching patterns from existing patterns
4ee7ba7 more!
6e5745d add tests, fingerprints for database identification sqli
62ca19c yay more
5ea608c add vertical tab as separator
a34ac03 detect not-quite sqli but close enough
d5aae69 detect not-quite sqli but close enough
33a513e more
0c953a1 add log scanner
51ee6b8 bump version
cfafbdf more fingerprints.. more are actually not SQLi but look like SQLi
1684a8a more fingerprints.. more are actually not SQLi but look like SQLi
7bcd78a fix warning from clang on Mac
f084d6a prepare for i18n sqli!
33faaf3 Issue 35: actually test string truncation in c impl.  thank qerub
01e5964 fix memory problem -- thanks valgrind
230f468 restore performance for multi-keywords
7a0529d hopefully finish with mysql backtick quoting
4e2addd more mysql backtick fun
8fbf3ca bump version numbers
2772fd1 add note
52922b5 fix build on windows
c182f62 Big Engine Change! tokenizer faster and w/ public API. folding engine is rewritten to be sane
c24c3ce Merge branch 'master' of github.com:client9/libinjection
a48d6da partial fix for mysql backquotes
b666f5a whitespace
3292628 bump v2.0.4
a5b2c48 update
5a89860 Issue 34 fix infinite loop, add unit test
25d2814 prevent special version of mysql into outfile

git-subtree-dir: libs/libinjection
git-subtree-split: ef0e66610bae68c14d3d0d45377d76aca9d69bc8
libinjection: Sync with libinjection master.
libinjection: Update module to use latest libinjection API.
libinjection: Update unit test results which changed due to implicit folding.
libinjection: Update unit test sqli db file due to implicit folding.
core module limits: Record limits into core confguration:

- RequestBodyBufferLimit
- RequestBodyBufferLimitAction
- ResponseBodyBufferLimit
- ResponseBodyBufferLimitAction
- ResponseBodyLogLimit
- RequestBodyLogLimit
core module limits: Adding accessor to limits of core module configuration.
tx limits: Renaming ib_core_cfg_limits_t (and actions enum) to be tx types.
tx limts: Add limits field to tx and copy in configured values at context_tx time.
Altering ScaleThreat to sum theat at the end of the transaction.