SpiderLabs/ModSecurity — pull request #26 by urma (2013-01-02 23:16:26+00:00)
Title: Added JSON body processor

Added support for a JSON body processor. Brief description:

* It uses yajl (http://lloyd.github.com/yajl/) for streaming JSON parsing
* Only leaf nodes in the JSON stream will be registered under ARGS, because we currently only assign scalar values to ARGS, not JSON structures:
{ 'data': { 'a': 1, 'b': 2 } } would result in ARGS:data.a = 1 and ARGS:data.b = 2, but ARGS:data would be undefined
* Multiple values for a given key are supported, but due to the previous mapping method, there is no way to distinguish between some scenarios:
[ { 'data': 1 }, { 'data': 2 } ] would result in ARGS:data = 1 and ARGS:data = 2, while
{ 'data': [ 1, 2 ] } would also result in ARGS:data = 1 and ARGS:data = 2

**NOTE:** Once again, Makefile.in got mixed in the commit for no apparent reason; please disregard the changes in it.