libddwaf 1.9.0.0.0-x86_64-darwin → 1.9.0.0.1-x86_64-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 106fb8d5e8dd29adf5c8c5e04f920c60581e72f96ae9971fc965f9e762e86da7
4
- data.tar.gz: ec9a57a7c15915cd65b45153688c1bc2f24ca33ec0bffcd8a87290b35f1dcaa1
3
+ metadata.gz: 14769a543d1fb92ad21b5b1165fb45b39161676bb1e1c83329ddd01486d85cfb
4
+ data.tar.gz: 3b3dd97ae54de084231c46f3f6e27a19fb7e804c6eb0a8cba0008c0c2f0a2f48
5
5
  SHA512:
6
- metadata.gz: d06715050c7e3fe3165d962db59af30764ce606bf18134e353617b13869feb380dc16620850de02649f0fe7a162368b1cb034a64d48b3a87c5817a3482b6d4bf
7
- data.tar.gz: d69fe18991bdbcf5a92de6613e0d5d3ef83215494023f0c4ff201a5bf60cd0f9e22bc77b9460875ea19cbc0e2bb350cdb83bd9fbaaa2d5932bbb702ee9847b15
6
+ metadata.gz: 250814704c92b073bc0f86d6ceb3ad9903c0395e95f4b6201a69bc02f44045c6c496bc353ec98de4f77749b0f5b95067e0c7c80e0a6f55c15ccefe5fc4107ecf
7
+ data.tar.gz: 69eb5967576d4f197592756fa1483a6426021cbb134ed292b427d4164682794370274056f269c62fd93776208c6a29865fdba9e0d3ab4cc77c5113c95b5c9ac4
@@ -3,7 +3,7 @@ module Datadog
3
3
  module WAF
4
4
  module VERSION
5
5
  BASE_STRING = '1.9.0'
6
- STRING = "#{BASE_STRING}.0.0"
6
+ STRING = "#{BASE_STRING}.0.1"
7
7
  MINIMUM_RUBY_VERSION = '2.1'
8
8
  end
9
9
  end
@@ -4,6 +4,7 @@ require 'datadog/appsec/waf/version'
4
4
 
5
5
  module Datadog
6
6
  module AppSec
7
+ # rubocop:disable Metrics/ModuleLength
7
8
  module WAF
8
9
  module LibDDWAF
9
10
  class Error < StandardError
@@ -281,9 +282,9 @@ module Datadog
281
282
 
282
283
  attach_function :ddwaf_set_log_cb, [:ddwaf_log_cb, :ddwaf_log_level], :bool
283
284
 
284
- DEFAULT_MAX_CONTAINER_SIZE = 0
285
- DEFAULT_MAX_CONTAINER_DEPTH = 0
286
- DEFAULT_MAX_STRING_LENGTH = 0
285
+ DEFAULT_MAX_CONTAINER_SIZE = 256
286
+ DEFAULT_MAX_CONTAINER_DEPTH = 20
287
+ DEFAULT_MAX_STRING_LENGTH = 16_384 # in bytes, UTF-8 worst case being 4x size in terms of code point)
287
288
 
288
289
  DDWAF_MAX_CONTAINER_SIZE = 256
289
290
  DDWAF_MAX_CONTAINER_DEPTH = 20
@@ -296,6 +297,7 @@ module Datadog
296
297
  LibDDWAF.ddwaf_get_version
297
298
  end
298
299
 
300
+ # rubocop:disable Metrics/MethodLength
299
301
  def self.ruby_to_object(val, max_container_size: nil, max_container_depth: nil, max_string_length: nil, coerce: true)
300
302
  case val
301
303
  when Array
@@ -349,7 +351,8 @@ module Datadog
349
351
  obj
350
352
  when String
351
353
  obj = LibDDWAF::Object.new
352
- val = val.to_s[0, max_string_length] if max_string_length
354
+ encoded_val = val.to_s.encode('utf-8', invalid: :replace, undef: :replace)
355
+ val = encoded_val[0, max_string_length] if max_string_length
353
356
  str = val.to_s
354
357
  res = LibDDWAF.ddwaf_object_stringl(obj, str, str.bytesize)
355
358
  if res.null?
@@ -405,6 +408,7 @@ module Datadog
405
408
  ruby_to_object(''.freeze)
406
409
  end
407
410
  end
411
+ # rubocop:enable Metrics/MethodLength
408
412
 
409
413
  def self.object_to_ruby(obj)
410
414
  case obj[:type]
@@ -699,5 +703,6 @@ module Datadog
699
703
  end
700
704
  end
701
705
  end
706
+ # rubocop:enable Metrics/ModuleLength
702
707
  end
703
708
  end
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.9.0.0.0
4
+ version: 1.9.0.0.1
5
5
  platform: x86_64-darwin
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-17 00:00:00.000000000 Z
11
+ date: 2023-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: 2.0.0
65
65
  requirements: []
66
- rubygems_version: 3.4.12
66
+ rubygems_version: 3.4.13
67
67
  signing_key:
68
68
  specification_version: 4
69
69
  summary: Datadog WAF