Proto commits in Edgio/waflz

These 61 commits are when the Protocol Buffers files have changed:

Commit:6ab5d4f
Author:dsingh

various updates to add bot management, api schema validation, jwt authentication

Commit:139428c
Author:davebear

Use the proper type in proto definition

Commit:3b53065
Author:davebear

Blind first pass at actually scrubbing

Commit:bf0b0ce
Author:davebear
Committer:davebear

Initial thoughts. Add pcrecpp to use the handy replace functionality. Add scrubber to config and instantiate it. Still need to determine the best generic way to let you express the type of a match you wanna scrub. Like should you have to specify the type of matched var you want to scrub, it's name, none of the above?

Commit:b9e581e
Author:davebear

Revert "Initial thoughts.". Whoops This reverts commit 1faff09572f3422dce26c383e06aeba8d72884b9.

The documentation is generated from this commit.

Commit:1faff09
Author:davebear

Initial thoughts. Add pcrecpp to use the handy replace functionality. Add scrubber to config and instantiate it. Still need to determine the best generic way to let you express the type of a match you wanna scrub. Like should you have to specify the type of matched var you want to scrub, it's name, none of the above?

Commit:d91d6f8
Author:Devender Singh
Committer:GitHub

add new features and bug fixes (#311) * add new features and bug fixes * remove curl * more cleanup * sprintf -> snprintf in config_parser * sprintf -> snprintf in decode --------- Co-authored-by: dsingh <devender.singh@edgecast.com> Co-authored-by: Clay Moore <clay.moore@edgecast.com>

The documentation is generated from this commit.

Commit:e4b099b
Author:Reva
Committer:GitHub

Refactor bot proto and add bot manager (#297) * adding_bot_manager * changes Co-authored-by: RevathiSaba <revathi.sabanayagam@verizondigitalmedia.com>

Commit:56e9264
Author:Devender Singh
Committer:GitHub

add new option in acl for super capacity (#294) Co-authored-by: dsingh <devender.singh@edgecast.com>

Commit:be40fd8
Author:Reva
Committer:GitHub

changes to support custom challenge page (#287) * changes for rendering custom browser challenge * add problem js * fixng typo * moving challenge tests to a subfolder * fix typo * cleanup

Commit:aed8a92
Author:Devender Singh
Committer:GitHub

Geo fields in logs (#285) * more geo fields in logs * add new fields in proto * fix types and add tests

Commit:46c329a
Author:Vince Robbins
Committer:GitHub

Add acl subdivision (#281) * Added maybe_unused flag * added sd_iso to config and proto * loaded/processed blacklist and compared with value 43, blackbox scopes fails if blacklist non-empty * loaded subdiv from rqst and checked against blacklist * added ACL to accesslist/blacklist, removed unnecessary bools * change config * 2 distinct subdiv fields, fix cout flush * rm random text doc used for debugging * rm DS_Store * subdiv working (appended to country iso), todo: name rule properly * added sd_iso to initializer list (linux err) * added subdivs to rqstctx initlist * added constructor call to acl and rqstctx * reorder ACL proto for compatibility and rm errors * add geocn2 check before appending subdivision * added ACL whitebox tests, fix subdiv error when 2 levels of subdivs * added Subdivision whitebox and blackbox tests, added db paths to blackbox * added SD1_ISO and SD2_ISO as new VARS * fix style errors and cleanup * delete acl subdiv blackbox test

Commit:9e7742a
Author:MichaelClayMoore
Committer:GitHub

Add partner id (#283) * initial changes - adding partner_id * remove trailing space Co-authored-by: Clay Moore <clay.moore@edgecast.com>

Commit:8f7f247
Author:Jairo Lopez
Committer:GitHub

adding protodata field for partner id (#275)

Commit:cf58b53
Author:Devender Singh
Committer:GitHub

add waf instance name back (#274)

Commit:baef926
Author:Reva
Committer:GitHub

Add GEO and ASN match for rl conditions (#271) * Add ASN and GEO match for rl conditions * add new line * changes

Commit:26186fb
Author:RevathiSaba

Revert "Adding ASN and GEO match for rl" This reverts commit a86bd71e6d33c2698ee0359e18b0ce5491a68877.

Commit:a86bd71
Author:RevathiSaba

Adding ASN and GEO match for rl

Commit:25dae0a
Author:Devender Singh
Committer:GitHub

remove unused imports from proto (#261) * remove unused imports * fix includes

Commit:c8ae28e
Author:Devender Singh
Committer:GitHub

fix time data type to double (#259)

Commit:dba3d04
Author:Devender Singh
Committer:GitHub

instance cleanup and more log variables (#256) * Remove access_settings logic from waf profiles, update whitebox tests to use acl directly * adding last updated timestamp info, reenabling scrubbing of matched data option in profiles * cannot remove these protos yet * add tests for no log match data and last modified date * updating tests to check for last modified info for all configs * adding response header name back * adding response header name back * no more acl inside profile * updating string literal

Commit:37e8f17
Author:Devender Singh
Committer:GitHub

Fix enf type audit event (#225) * Set waf profile action type in audit event logs by looking at enf_type if available, otherwise default to ALERT * make sure action type is never empty * More enf types with no logging option * cleanup setting of profile action type, add 1 more enf type * fix typo

Commit:a302c3a
Author:Devender Singh
Committer:GitHub

Additional enforcement types (#224) * New enf types which doesnt log anything * more action types * more action types

Commit:bf34c79
Author:r4wm
Committer:GitHub

Add account types (#214) * ignore gtag mess * adding account_type * adding account_type to scopes and wb enforcer test configurations * add account_type to profile * add account_type to acl * add account_type to waf * cleanup * remove account_type from acl,profile * remove account_type from waf,rules * cleanup * adding account_type to generated event + scope test for audit/prod acl * sanity check scopes map * cleanup * more tests * cleanup: remove pdb statement * remove account_type definition from request_info.proto * s/NA/__na__/ * sanity check scopes map * sanity * init m_account_type to default values * impliement review notes * cleanup * typo Co-authored-by: rmintz <raymond.mintz@verizondigitalmedia.com>

Commit:35f3759
Author:Reva
Committer:GitHub

Add geo fields to rl event (#207) * changed to print rl event * changes * reverting is2 changes * changes * changes * style_changes

Commit:94dd026
Author:Devender Singh
Committer:GitHub

Bot plumbing (#195) * Moving bot logic into its own class. Handling challenge and event generation separately. Next step is to add logic for custom rule handling for reputation db * Adding support for new rule logic for looking at reputation db rules * added logging for bot rules match. It will log all request headers when a bot rules says it so * adding tests for bot rdbs * bot policy for blocking requests * updating waflz_server to handle bot actions differently * cleanup comments * more verbose variable name * moving consts into waflz namespace * set ruleset dir only if mode is custom rules (#194)

Commit:b798e89
Author:Devender Singh
Committer:GitHub

Revert "Bot plumbing (#191)" (#193) This reverts commit efb82bf989e88da08198c14018e31bc66002c6e5.

Commit:efb82bf
Author:Devender Singh
Committer:GitHub

Bot plumbing (#191) * Moving bot logic into its own class. Handling challenge and event generation separately. Next step is to add logic for custom rule handling for reputation db * Adding support for new rule logic for looking at reputation db rules * added logging for bot rules match. It will log all request headers when a bot rules says it so * adding tests for bot rdbs * bot policy for blocking requests * updating waflz_server to handle bot actions differently * cleanup comments * more verbose variable name * moving consts into waflz namespace

Commit:7c830ed
Author:Devender Singh
Committer:GitHub

Bot proto msg (#163) * new proto message for bot_event, no changes to the way events are generated. The consumer will do a copyFrom from event into bot_event * cannot repeat msg name and msg field with same name * new line

Commit:8b35fef
Author:Reva
Committer:GitHub

Add challenge logging (#161) * Removing cl from limits and add more info for challenge logging * cleaning up printf * rm answer from challenge proto * fixing challenge status and adding token duration * adding test for token duration * cleanup

Commit:8c7161c
Author:Reva
Committer:GitHub

Change matched var name to bytes (#157) * updating proto * fixing tests * changes

Commit:61837d7
Author:Reva
Committer:GitHub

Adding log fields for bots (#150) * adding bot id fields * setting bots id in process * changes

Commit:1e4e32d
Author:Devender Singh
Committer:GitHub

Add config states (#145) * Add bools in rqst_ctx to record state of configs applied * better names * adding a list of allowed an for scopes, updated tests to use an list * need a file load function for an list * temp fix to handle res_header set in instances * Adding resp header name in acl as well, cleaning up some errors * removing setter func, moving res_header setting into profiles and acls

Commit:b04f929
Author:Reva
Committer:GitHub

[NO-TICKET] add geoip fields (#144)

Commit:f1f3e9f
Author:Devender Singh
Committer:GitHub

removing rqst_id from everywhere (#140) Co-authored-by: dsingh <devender.singh@verizondigitalmedia.com>

Commit:3751220
Author:Reva
Committer:GitHub

Adding bot config processing to scopes (#139) * changes * adding_bb_tests_and_configs_for_bot * adding newline * changing to bots prod id and more tests * fixing bit map * cleanup * cleanup

Commit:d63a6cb
Author:Reed Morrison
Committer:GitHub

moving cityhash around to support building as standalone library. (#131) * moving cityhash around to support building as standalone library. * cleanup.

Commit:339b2ff
Author:Devender Singh
Committer:GitHub

Bot challenge (#123) * adding bot challenge option to scopes server. next up adding a response type and validation * Bot challenge tests, fixing order * Fixing test configs after recent changes to id format * fix logging for acl,rules and scope ids * Adding scopes config logging * Cleanup * Fixing a mem leak * more clean up * Fixing acl logging, moving challenge code out of limit

Commit:3d2cc1b
Author:Reed Morrison
Committer:GitHub

deprecating old rate-limiting config formats. (#120) * deprecating old rate-limiting config formats. * adding back missing tests.

Commit:d3a1f41
Author:Reed Morrison
Committer:GitHub

Xxe capturing (#118) * adding first pass + example. * update data file to catch. * adding more bits. * adding xxe capture routine. * adding more bits. * capping arg key/val lengths for xxe captured vars. * fixing potential leaks in waflz_server app. * adding basic xml xxe capturing whitebox tests. * adding blackbox tests for capturing xxe.

Commit:a88ae3a
Author:Reed Morrison
Committer:GitHub

adding id and name fields to scope objects. (#104)

Commit:07b6ad6
Author:Reed Morrison
Committer:GitHub

Scope limit processing (#91) * putting back placeholders. * limit processing bits. * limit processing. * limit processing. * limit processing bits. * adding basic acl check in scopes tests * adding basic profile check in scopes tests

Commit:a9a32c5
Author:Reed Morrison
Committer:Reva

Scope acl processing (#89) * adding placeholder for acl + rule processing in scopes. * adding more processing. * adding version string. * adding more bits to loading. * loading limits. * limit loading and processing. * proto cleanup and deprecation marks. * proto cleanup and deprecation marks. * deprecating referrer. * adding ability to pull ignore lists from general settings preferentially over access_settings. * cleanup. * removing unused. * removing unused. * removing unused. * fixing rules loading.

Commit:81b695c
Author:Reed Morrison
Committer:GitHub

Acl add id name (#86) * updates to fix loading of acl and limit. * renaming config proto to profile proto.

Commit:b288c79
Author:Reed Morrison
Committer:GitHub

Scope acl (#85) * moving field stripping into it's own function. * deprecating loading enforcers. * adding placeholders for validating acl/rules/limit. * adding placeholders for validating acl/rules/limit. * adding placeholder for limit object. * adding placeholder for limit object. * quarantining scopes tests temporarily and fixing free issue in enforcement handling. * adding back scopes tests.

Commit:a0f2ee7
Author:Reed Morrison
Committer:GitHub

Acl accesslist (#80) * first cut of accesslist processing. * adding compilation steps. * adding compilation steps. * adding placeholders for accesslist whitebox tests. * updating is2. * accesslist fixes and tests. * removing dead code. * fixes for waflz_server running in limit mode. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * cleanup from -Weffc++ and -Wall. * more acl_accesslists testing. * cleanup from -Weffc++ and -Wall. * accesslists tess. * accesslists tess. * adding placeholders for accesslists tests.

Commit:d93dda6
Author:Reed Morrison
Committer:GitHub

Removing deprecated limit operator PM. (#78)

Commit:e22bf6e
Author:Reed Morrison
Committer:GitHub

consolidating acl proto definitions. (#73)

Commit:9d2d93f
Author:Reed Morrison
Committer:Reva

Asn var (#66) * adding new operators. * ideas for new variables. * moving geoip2_mmdb object into the engine. * adding REMOTE_ASN to modsecurity config parser. * adding tests for new vars. * renaming tracing code. * renaming tracing code. * renaming tracing code. * ded code elimination. * fixing error output for validation * error message cleanup. * adding wjc tests.

Commit:2a03d15
Author:tinselcity

adding placeholders for processing scopes.

Commit:ea1aacf
Author:tinselcity

adding some example configuration files

Commit:383a206
Author:tinselcity

adding proto file.

Commit:a7db70d
Author:tinselcity

cleanup.

Commit:0bebba6
Author:Reed Morrison
Committer:GitHub

Rate limiting (#49) * changing pass by ref to by val and adding check for exists for macro. * adding db files and ectoken. * fixing build for rate-limiting integration. * adding old POC's for playing with very dumb browser challenges. * adding rate-limiting object base class and some whitebox tests. * back to building -need to fix tests next. * fixing test. * adding render whitebox test. * adding limit enforcer and whitebox test. * adding limit config -with some TODO FIX's. * adding limit configs. * fixing more TODO's. * fixing last TODO's in limit code. * adding back more limit tests. * fixing leaks detected by asan. * renaming classes. * temporarily dl libs in waflz_server while fixing static linking. * temporarily dl libs in waflz_server while fixing static linking. * more pbuf consolidation. * fixing test server. * fixing test server. * renaming classes. * fixing test server. * adding back enforcement handling. * fixing tests. * fixing ubuntu builds -no idea if OS X broken. * updating validator.

Commit:6514a89
Author:Devender Singh
Committer:GitHub

adding top level anomaly threshold setting, removing xss, sqli scores from logs, all other scores set to be default (#38)

Commit:37366cd
Author:tinselcity

adding proxy mode to waflz_server.

Commit:656f8f8
Author:Devender Singh
Committer:tinselcity

removing disabled_policies from proto, funcs and tests (#33)

Commit:5d90cdf
Author:dev0z

updating acl proto

Commit:eb459be
Author:dev0z

adding support for json parsing

Commit:5baef61
Author:Devender Singh
Committer:GitHub

Documentation (#1) * more docs, removing jspb ns, bug fix for allowed http protocols * Bug fixes and documentation. * updating test vector and fixing build

Commit:87aec6e
Author:tinselcity

First commit.