Skip to content

Releases: DataDog/libddwaf

v1.4.1 (unstable)

30 Aug 14:29
af96a85

Choose a tag to compare

  • Deanonymize nested structs (#97)

v1.5.0-alpha0 (unstable)

04 Aug 10:22
015bafd

Choose a tag to compare

API & Breaking Changes

  • Remove ddwaf_version, ddwaf_get_version now returns a version string (#89)
  • Move free function from ddwaf_context_init to ddwaf_config (#89)
  • Add ddwaf_result.actions struct containing a char* array and its size (#91)
  • Add dummy ddwaf_update_rule_data for future use (#91)
  • Remote DDWAF_BLOCK (#91)
  • Rename DDWAF_GOOD to DDWAF_OK (#92)
  • Rename DDWAF_MONITOR to DDWAF_MATCH (#92)

Changes

  • Add unicode_normalize transformer (#82)
  • Remove PWRetriever, PWArgsWrapper, Iterator and ArgsIterator (#77)
  • Add ddwaf::object_store to manage all targets and objects provided to the WAF (#77)
  • Add ddwaf::value_iterator for object value traversal (#77)
  • Add ddwaf::key_iterator for object key traversal (#77)
  • Simplify target manifest (#78)
  • Remove input object validation (#85)
  • Merge PWAdditive and PWProcessorand rename to ddwaf::context (#89)
  • Rename PowerWAF to ddwaf::waf (#89)
  • Add ddwaf::timer to abstract deadline (#89)
  • Simplify rule processors (#89)
  • Add ip_match operator and tests (#87)
  • Refactor ip handling into ip_utils (#87)
  • Add exact_match operator and tests (#87)
  • Rename existing rule processors to more closely resemble their operator name (#87)
  • Rename IPWRuleProcessor to rule_processor_base (#87)
  • Add support for per-rule on_match array in ruleset (#91)
  • Add optional on_match to JSON event format (#91)
  • Remove PWRetManager and MatchGatherer (#91)
  • Add ddwaf::event to collect all relevant rule match data in one structure (#91)
  • Add ddwaf::event_serializer for JSON event (#91)
  • Update processors to use std::string_view rather than char * and length (#91)
  • Add ddwaf::timeout_exception to avoid error code propagation (#91)

Fixes

  • Timeout error propagation (#89)
  • Pass object limits configuration to iterators (#89)
  • Apply string limits (#89)

Miscellaneous

  • Add utf8proc license (#84)
  • Add codecov support (#86)
  • Add CODEOWNERS (#88)
  • Add benchmerge to merge multiple benchmark results (#85)

v1.4.0 (unstable)

29 Jun 13:52
0236a0d

Choose a tag to compare

  • Correct nuget url (#68)
  • Only take params ownership when needed (#69)
  • WAF Benchmark Utility (#70)
  • WAF Validator (#74)
  • Make libinjection look for backticks (#80)
  • Add version semantic and unstable release information (#81)

v1.3.0 (unstable)

04 Apr 15:54
627d895

Choose a tag to compare

  • WAF event obfuscator.
  • Add obfuscator configuration to ddwaf_config.
  • Changes to limits in ddwaf_config:
    • Rename maxArrayLength to limits.max_container_size.
    • Rename maxMapDepth to limits.max_container_depth.
    • Add limits.max_string_length, currently unused.
    • All limits are now uint32.
    • Relevant macros renamed accordingly.

v1.2.1 (unstable)

17 Mar 16:43
05655e0

Choose a tag to compare

  • Fix issue on ruleset error map reallocation causing cached pointer invalidation.
  • Add check for empty input map on parser.
  • Update github actions windows build VM to windows-2019.

v1.2.0 (unstable)

16 Mar 18:00
1c131bb

Choose a tag to compare

  • Remove metrics collector.
  • Add total_runtime to ddwaf_result.
  • Fix issue when reporting timeouts.

v1.1.0 (unstable)

09 Mar 17:10
113c29a

Choose a tag to compare

  • Add ddwaf_object getters.
  • Provide ruleset parsing diagnostics on ddwaf_init.
  • Add support for metrics collection on ddwaf_run.
  • Add keys_only transformer.
  • Improve support for older platforms.
  • Remove indirection and reduce string operations when processing flows.
  • Refactor input verification.
  • Remove deprecated features.

v1.0.18 (unstable)

16 Feb 16:45
1fa916f

Choose a tag to compare

  • Add arm64 build to nuget package.
  • Upgrade RE2 to 2022-02-01.

v1.0.17 (unstable)

24 Jan 15:40
919e02e

Choose a tag to compare

  • Add missing libunwind to x86_64 linux build.
  • Fix potential integer overflow in DDWAF_LOG_HELPER.
  • Add missing shared mingw64 build.
  • Add example tool to run the WAF on a single rule with multiple test vectors.

v1.0.16 (unstable)

15 Dec 21:07
2982b2c

Choose a tag to compare

  • Fix duplicate matches in output (#36)