libddwaf 1.5.1.0.0-java → 1.6.2.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1054077e5a63048aa75da4146cb795e14c7195ec5da4287d91408b04016c23f2
4
- data.tar.gz: f149053d529ce5b711431d78aec9692feba59efbf7ce96da341ca4a02a0b4a3c
3
+ metadata.gz: 570753ae6c8f0a8c8f6ec5b320b976bc2b3ccbedfbe54560a6b9205526898c98
4
+ data.tar.gz: 0d58c876f3c24136b162bdbb5b887c6b5b90c2feeb62ac8dd619454f772822e5
5
5
  SHA512:
6
- metadata.gz: 6c0cd009021993f6ed49586425e7619b906c8b1c2361174569a60b19bfd5ba01daf7e078eadbabaca8c8264c48b77689dda9cbef7cf38b5cd4c81d6c25912857
7
- data.tar.gz: adef30898cc0e609f7847462aa768311ed626223ad603fa8e2dd8d94f01383b36fc8e19323f9df54c30a7cd51a0334f1e4319728d8963ee56d34ec6fbf730861
6
+ metadata.gz: 10f4a7dc13804a9b9e98ee8816d0bebd0777c09d0b74279c238c26851e0298cb7afdb05df47ac4ff748796e04cc524486439544b0ab94ffa6bbeac1e73e8d3ab
7
+ data.tar.gz: 137b0219242ce6e7f7c6c381fdd32c2723fc1e76b9996e55ce32ef177ee949c84940e31c87586f90d925998321a8259a146836ab2b04114407dc9fc7a89d1b18
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # 2023-02-03 v1.6.2.0.0
2
+
3
+ - Update to libddwaf 1.6.2
4
+ - Add specs for the getter functions
5
+
6
+ # 2023-02-01 v1.5.1.0.1
7
+
8
+ - Fix incorrect size in input string limit
9
+ - Fix object freeing on `update_rule_data` and `toggle_rules`
10
+
1
11
  # 2022-10-04 v1.5.1.0.0
2
12
 
3
13
  - Update to libddwaf 1.5.1
@@ -2,7 +2,7 @@ module Datadog
2
2
  module AppSec
3
3
  module WAF
4
4
  module VERSION
5
- BASE_STRING = '1.5.1'
5
+ BASE_STRING = '1.6.2'
6
6
  STRING = "#{BASE_STRING}.0.0"
7
7
  MINIMUM_RUBY_VERSION = '2.1'
8
8
  end
@@ -182,6 +182,7 @@ module Datadog
182
182
  attach_function :ddwaf_object_get_unsigned, [:ddwaf_object], :uint64
183
183
  attach_function :ddwaf_object_get_signed, [:ddwaf_object], :int64
184
184
  attach_function :ddwaf_object_get_index, [:ddwaf_object, :size_t], :ddwaf_object
185
+ attach_function :ddwaf_object_get_bool, [:ddwaf_object], :bool
185
186
 
186
187
  ## freeers
187
188
 
@@ -203,8 +204,8 @@ module Datadog
203
204
  end
204
205
 
205
206
  class Obfuscator < ::FFI::Struct
206
- layout :key_regex, :pointer, # :charptr
207
- :value_regex, :pointer # :charptr
207
+ layout :key_regex, :pointer, # should be :charptr
208
+ :value_regex, :pointer # should be :charptr
208
209
  end
209
210
 
210
211
  layout :limits, Limits,
@@ -539,15 +540,21 @@ module Datadog
539
540
  end
540
541
 
541
542
  def update_rule_data(data)
542
- res = Datadog::AppSec::WAF::LibDDWAF.ddwaf_update_rule_data(@handle_obj, Datadog::AppSec::WAF.ruby_to_object(data, coerce: false))
543
+ data_obj = Datadog::AppSec::WAF.ruby_to_object(data, coerce: false)
544
+ res = Datadog::AppSec::WAF::LibDDWAF.ddwaf_update_rule_data(@handle_obj, data_obj)
543
545
 
544
546
  RESULT_CODE[res]
547
+ ensure
548
+ Datadog::AppSec::WAF::LibDDWAF.ddwaf_object_free(data_obj) if data_obj
545
549
  end
546
550
 
547
551
  def toggle_rules(map)
548
- res = Datadog::AppSec::WAF::LibDDWAF.ddwaf_toggle_rules(@handle_obj, Datadog::AppSec::WAF.ruby_to_object(map, coerce: false))
552
+ map_obj = Datadog::AppSec::WAF.ruby_to_object(map, coerce: false)
553
+ res = Datadog::AppSec::WAF::LibDDWAF.ddwaf_toggle_rules(@handle_obj, map_obj)
549
554
 
550
555
  RESULT_CODE[res]
556
+ ensure
557
+ Datadog::AppSec::WAF::LibDDWAF.ddwaf_object_free(map_obj) if map_obj
551
558
  end
552
559
 
553
560
  private
@@ -627,7 +634,7 @@ module Datadog
627
634
 
628
635
  max_container_size = LibDDWAF::DDWAF_MAX_CONTAINER_SIZE
629
636
  max_container_depth = LibDDWAF::DDWAF_MAX_CONTAINER_DEPTH
630
- max_string_length = LibDDWAF::DDWAF_MAX_CONTAINER_SIZE
637
+ max_string_length = LibDDWAF::DDWAF_MAX_STRING_LENGTH
631
638
 
632
639
  input_obj = Datadog::AppSec::WAF.ruby_to_object(input,
633
640
  max_container_size: max_container_size,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libddwaf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1.0.0
4
+ version: 1.6.2.0.0
5
5
  platform: java
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-04 00:00:00.000000000 Z
11
+ date: 2023-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -42,10 +42,10 @@ files:
42
42
  - lib/datadog/appsec/waf.rb
43
43
  - lib/datadog/appsec/waf/version.rb
44
44
  - lib/libddwaf.rb
45
- - vendor/libddwaf/libddwaf-1.5.1-darwin-arm64/lib/libddwaf.dylib
46
- - vendor/libddwaf/libddwaf-1.5.1-darwin-x86_64/lib/libddwaf.dylib
47
- - vendor/libddwaf/libddwaf-1.5.1-linux-aarch64/lib/libddwaf.so
48
- - vendor/libddwaf/libddwaf-1.5.1-linux-x86_64/lib/libddwaf.so
45
+ - vendor/libddwaf/libddwaf-1.6.2-darwin-arm64/lib/libddwaf.dylib
46
+ - vendor/libddwaf/libddwaf-1.6.2-darwin-x86_64/lib/libddwaf.dylib
47
+ - vendor/libddwaf/libddwaf-1.6.2-linux-aarch64/lib/libddwaf.so
48
+ - vendor/libddwaf/libddwaf-1.6.2-linux-x86_64/lib/libddwaf.so
49
49
  homepage: https://github.com/DataDog/libddwaf-rb
50
50
  licenses:
51
51
  - BSD-3-Clause