libddwaf 1.18.0.0.0-java → 1.21.0.0.1-java

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: 378692f8ef4f465774ed25cee3fd97a764d29af65dfbcd2ec88df7ce516c2817
4
- data.tar.gz: d8a743f2e3e1f7e728a18eb11f5f0cf44d153afc0c616ff2038b9a62e3a57040
3
+ metadata.gz: 111af3e8e37dda64763ecb3e8eb6eb02908fd1eb5ca4d4da4bd41c47cb5298a9
4
+ data.tar.gz: ed95ea7fcdd23ef935bf1bb3b17bb069bddd9eef3a9da4ccafabb5cc1a08ff68
5
5
  SHA512:
6
- metadata.gz: dea2b7c8a045b6c6cedcbece6337564c80b6cebfc8680e4ff7928e4b6c0c611b554af589c73e86bcc0ec58d5d96a523e64014320620913fbe1d06b5e815b84dc
7
- data.tar.gz: f69f34bcf0ef43e795c9e0b94e96bf74352950f843416bf44620745a2ab24a8944307205edb824beeff07dc15b20d8bc37b57b07cf2684cf83b82fce59ea9cc2
6
+ metadata.gz: 39c93b38e03f703cda384695c5845886bafb39efc5094c1d5a41f8b56fb98ba71bb36852fb5363104dc035ca27f84c9be51ae0832290aeaef362ae9fed95efcb
7
+ data.tar.gz: '0682a106250408375b2ec1b976e1a1a1f610b6f6a9f8f4d21ea49279ffde278aff596671c6e8b8a5ca963835b2922642004bf5c29dd8c92d69d53e664826ad04'
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: java
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,16 +46,15 @@ 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-darwin-arm64/lib/libddwaf.dylib
51
- - vendor/libddwaf/libddwaf-1.18.0-darwin-x86_64/lib/libddwaf.dylib
52
- - vendor/libddwaf/libddwaf-1.18.0-linux-aarch64/lib/libddwaf.so
53
- - vendor/libddwaf/libddwaf-1.18.0-linux-x86_64/lib/libddwaf.so
49
+ - vendor/libddwaf/libddwaf-1.21.0-darwin-arm64/lib/libddwaf.dylib
50
+ - vendor/libddwaf/libddwaf-1.21.0-darwin-x86_64/lib/libddwaf.dylib
51
+ - vendor/libddwaf/libddwaf-1.21.0-linux-aarch64/lib/libddwaf.so
52
+ - vendor/libddwaf/libddwaf-1.21.0-linux-x86_64/lib/libddwaf.so
54
53
  homepage: https://github.com/DataDog/libddwaf-rb
55
54
  licenses:
56
55
  - BSD-3-Clause
57
56
  metadata:
58
57
  allowed_push_host: https://rubygems.org
59
- post_install_message:
60
58
  rdoc_options: []
61
59
  require_paths:
62
60
  - lib
@@ -71,8 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
69
  - !ruby/object:Gem::Version
72
70
  version: 2.0.0
73
71
  requirements: []
74
- rubygems_version: 3.5.17
75
- signing_key:
72
+ rubygems_version: 3.6.2
76
73
  specification_version: 4
77
74
  summary: Datadog WAF
78
75
  test_files: []