libddwaf 1.18.0.0.0-x86_64-linux → 1.21.0.0.1-x86_64-linux

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: d4b9dc918f767d7f4320f1028abe05bf12694598a1c2d79855310f57e757c204
4
- data.tar.gz: 129101ead82a9771636006ce64e4d9352b5d0746c0dd411adbfdf6164e0c91ed
3
+ metadata.gz: 05b6de7d132d91e4d78dcccf2f5b9d40663d97940b77b69081fc4550f8ef9ebb
4
+ data.tar.gz: 3b587523e632e5c290abf7db52a090a99d37668d2271688ed3d58b3417d989ea
5
5
  SHA512:
6
- metadata.gz: da26d9ea842942b28de110f04fcbce3d8b16acd068083736df070313aa122195d72f73c88b6fb5298e3b857c3609a233bf479999e17acc38ebf34da67879e0f4
7
- data.tar.gz: b5344119847906e408839017242bf9d8511c9047abe3e0cc5a2b8aa941dee0d0191947f0b1ecbf1b853d1007943ae60d98cbd4dab1188cb2a5236bff4cb0d2df
6
+ metadata.gz: 64c2036d58f97eaef30ef87d52bbc15e9498be7295608371983f517b16952bf9cac1d48f569d01de775cfb40faca6c4d0ac2ac0b99762550bc35928764b89f82
7
+ data.tar.gz: ced6a8f411bbaa2320fdc8a9312b30cf8ff0c3bab4776cad4ae04ffebcc66283664a108fd3bbd7403381baa85955a6a50c5efabd674379b8470302e250a0f0ab
data/CHANGELOG.md CHANGED
@@ -1,8 +1,14 @@
1
+ # 2025-02-20 v.1.18.0.0.1
2
+
3
+ - Fixed memory-leak in `Datadog::AppSec::WAF::Context#run` when non-empty ephemeral data passed
4
+
1
5
  # 2024-10-29 v.1.15.0.0.0
6
+
2
7
  - Update to libddwaf 1.15.0
3
8
  - Changed `Datadog::AppSec::WAF::Context#run` interface to accommodate ephemeral data ([Breaking change](https://github.com/DataDog/libddwaf/blob/master/CHANGELOG.md#v1150-unstable))
4
9
 
5
10
  # 2023-09-11 v.1.14.0.0.0
11
+
6
12
  - Update to libddwaf 1.14.0
7
13
  - Add support for `Float` and `Nil` scalar values when converting from ruby to WAF Object and vice versa.
8
14
 
@@ -35,6 +35,7 @@ module Datadog
35
35
  LibDDWAF.ddwaf_object_free(retained_obj)
36
36
  end
37
37
 
38
+ retained.clear
38
39
  LibDDWAF.ddwaf_context_destroy(context_obj)
39
40
  end
40
41
 
@@ -83,10 +84,13 @@ module Datadog
83
84
  [RESULT_CODE[code], result]
84
85
  ensure
85
86
  LibDDWAF.ddwaf_result_free(result_obj) if result_obj
87
+ LibDDWAF.ddwaf_object_free(ephemeral_data_obj) if ephemeral_data_obj
86
88
  end
87
89
 
88
90
  private
89
91
 
92
+ # FIXME: Rename into something which reflect that it's impossible to run
93
+ # libddwaf on finalized context (closed)
90
94
  def validate!
91
95
  @valid = true
92
96
  end
@@ -53,7 +53,7 @@ module Datadog
53
53
 
54
54
  cpu = case os_arch
55
55
  when 'amd64' then 'x86_64'
56
- when 'aarch64' then 'aarch64'
56
+ when 'aarch64' then local_os == 'darwin' ? 'arm64' : 'aarch64'
57
57
  else raise Error, "unsupported JRuby os.arch: #{os_arch.inspect}"
58
58
  end
59
59
 
@@ -95,7 +95,13 @@ module Datadog
95
95
  end
96
96
 
97
97
  def self.shared_lib_extname
98
- Gem::Platform.local.os == 'darwin' ? '.dylib' : '.so'
98
+ if Gem::Platform.local.os == 'darwin'
99
+ '.dylib'
100
+ elsif Gem::Platform.local.os == 'java' && java.lang.System.get_property('os.name').match(/mac/i)
101
+ '.dylib'
102
+ else
103
+ '.so'
104
+ end
99
105
  end
100
106
 
101
107
  def self.shared_lib_path
@@ -2,8 +2,8 @@ module Datadog
2
2
  module AppSec
3
3
  module WAF
4
4
  module VERSION
5
- BASE_STRING = '1.18.0'
6
- STRING = "#{BASE_STRING}.0.0"
5
+ BASE_STRING = '1.21.0'
6
+ STRING = "#{BASE_STRING}.0.1"
7
7
  MINIMUM_RUBY_VERSION = '2.5'
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libddwaf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0.0.0
4
+ version: 1.21.0.0.1
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Datadog, Inc.
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-11-12 00:00:00.000000000 Z
10
+ date: 2025-03-25 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: ffi
@@ -47,13 +46,12 @@ files:
47
46
  - lib/datadog/appsec/waf/result.rb
48
47
  - lib/datadog/appsec/waf/version.rb
49
48
  - lib/libddwaf.rb
50
- - vendor/libddwaf/libddwaf-1.18.0-linux-x86_64/lib/libddwaf.so
49
+ - vendor/libddwaf/libddwaf-1.21.0-linux-x86_64/lib/libddwaf.so
51
50
  homepage: https://github.com/DataDog/libddwaf-rb
52
51
  licenses:
53
52
  - BSD-3-Clause
54
53
  metadata:
55
54
  allowed_push_host: https://rubygems.org
56
- post_install_message:
57
55
  rdoc_options: []
58
56
  require_paths:
59
57
  - lib
@@ -68,8 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
66
  - !ruby/object:Gem::Version
69
67
  version: 2.0.0
70
68
  requirements: []
71
- rubygems_version: 3.5.17
72
- signing_key:
69
+ rubygems_version: 3.6.2
73
70
  specification_version: 4
74
71
  summary: Datadog WAF
75
72
  test_files: []