libddwaf 1.22.0.0.2-aarch64-linux → 1.24.1.0.3-aarch64-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.
@@ -0,0 +1,158 @@
1
+ module Datadog
2
+ module AppSec
3
+ module WAF
4
+ module LibDDWAF
5
+ DEFAULT_MAX_CONTAINER_SIZE: ::Integer
6
+ DEFAULT_MAX_CONTAINER_DEPTH: ::Integer
7
+ DEFAULT_MAX_STRING_LENGTH: ::Integer
8
+
9
+ DDWAF_MAX_CONTAINER_SIZE: ::Integer
10
+ DDWAF_MAX_CONTAINER_DEPTH: ::Integer
11
+ DDWAF_MAX_STRING_LENGTH: ::Integer
12
+
13
+ DDWAF_RUN_TIMEOUT: ::Integer
14
+
15
+ extend ::FFI::Library
16
+
17
+ def self.typedef: [T < ::FFI::Type, N, R, C] (T old, Symbol | ::FFI::DataConverter[N, R, C] add, ?untyped) -> T
18
+ | (Symbol old, Symbol add, ?untyped) -> (::FFI::Type | ::FFI::Enum)
19
+ | [X < ::FFI::DataConverter[N, R, C], N, R, C] (X old, Symbol add, ?untyped) -> ::FFI::Type::Mapped[X, N, R, C]
20
+ | (:enum old, Array[Symbol | Integer] add, ?untyped) -> ::FFI::Enum
21
+ | (:enum old, Symbol | ::FFI::Type add, Array[Symbol | Integer] info) -> ::FFI::Enum
22
+ | (untyped, ::Symbol) -> void
23
+
24
+ def self.callback: (::Symbol name, Array[::FFI::Library::ffi_lib_type] params, ::FFI::Library::ffi_lib_type ret) -> ::FFI::CallbackInfo
25
+
26
+ def self.enum: (*(Symbol | Integer) args) -> ::FFI::Enum
27
+ | (Array[Symbol | Integer] values) -> ::FFI::Enum
28
+
29
+ def self.local_os: () -> ::String
30
+ def self.local_cpu: () -> ::String
31
+ def self.local_version: () -> (::String | nil)
32
+ def self.source_dir: () -> ::String
33
+ def self.vendor_dir: () -> ::String
34
+ def self.libddwaf_vendor_dir: () -> ::String
35
+ def self.shared_lib_triplet: (?version: ::String?) -> ::String
36
+ def self.libddwaf_dir: () -> ::String
37
+ def self.shared_lib_extname: () -> ::String
38
+ def self.shared_lib_path: () -> ::String
39
+
40
+ # version
41
+
42
+ def self.ddwaf_get_version: () -> ::String
43
+
44
+ # ddwaf::object data structure
45
+
46
+ DDWAF_OBJ_TYPE: ::FFI::Enum
47
+
48
+ class UInt32Ptr < ::FFI::Struct[::FFI::AbstractMemory, ::Integer]
49
+ end
50
+
51
+ class UInt64Ptr < ::FFI::Struct[::FFI::AbstractMemory, ::Integer]
52
+ end
53
+
54
+ class SizeTPtr < ::FFI::Struct[::FFI::AbstractMemory, ::Integer]
55
+ end
56
+
57
+ class ObjectValueUnion < ::FFI::Union[::FFI::AbstractMemory, untyped]
58
+ end
59
+
60
+ class Object < ::FFI::Struct[::FFI::AbstractMemory, untyped]
61
+ end
62
+
63
+ # setters
64
+
65
+ def self.ddwaf_object_invalid: (LibDDWAF::Object) -> ::FFI::Pointer
66
+ def self.ddwaf_object_string: (LibDDWAF::Object, ::String) -> ::FFI::Pointer
67
+ def self.ddwaf_object_stringl: (LibDDWAF::Object, ::String, ::Integer) -> ::FFI::Pointer
68
+ def self.ddwaf_object_stringl_nc: (LibDDWAF::Object, ::String, ::Integer) -> ::FFI::Pointer
69
+ def self.ddwaf_object_unsigned: (LibDDWAF::Object, ::Integer) -> ::FFI::Pointer
70
+ def self.ddwaf_object_signed: (LibDDWAF::Object, ::Integer) -> ::FFI::Pointer
71
+ def self.ddwaf_object_string_from_unsigned: (LibDDWAF::Object, ::Integer) -> ::FFI::Pointer
72
+ def self.ddwaf_object_string_from_signed: (LibDDWAF::Object, ::Integer) -> ::FFI::Pointer
73
+ def self.ddwaf_object_bool: (LibDDWAF::Object, bool) -> ::FFI::Pointer
74
+ def self.ddwaf_object_float: (LibDDWAF::Object, ::Float) -> ::FFI::Pointer
75
+ def self.ddwaf_object_null: (LibDDWAF::Object) -> ::FFI::Pointer
76
+
77
+ def self.ddwaf_object_array: (LibDDWAF::Object) -> ::FFI::Pointer
78
+ def self.ddwaf_object_array_add: (LibDDWAF::Object, LibDDWAF::Object) -> bool
79
+
80
+ def self.ddwaf_object_map: (LibDDWAF::Object) -> ::FFI::Pointer
81
+ def self.ddwaf_object_map_add: (LibDDWAF::Object, ::String, LibDDWAF::Object) -> bool
82
+ def self.ddwaf_object_map_addl: (LibDDWAF::Object, ::String, ::Integer, LibDDWAF::Object) -> bool
83
+ def self.ddwaf_object_map_addl_nc: (LibDDWAF::Object, ::String, ::Integer, LibDDWAF::Object) -> bool
84
+
85
+ # getters
86
+
87
+ def self.ddwaf_object_type: (LibDDWAF::Object) -> ::FFI::Enum
88
+ def self.ddwaf_object_size: (LibDDWAF::Object) -> ::Integer
89
+ def self.ddwaf_object_length: (LibDDWAF::Object) -> ::Integer
90
+ def self.ddwaf_object_get_key: (LibDDWAF::Object, SizeTPtr) -> ::String
91
+ def self.ddwaf_object_get_string: (LibDDWAF::Object, SizeTPtr) -> ::String
92
+ def self.ddwaf_object_get_unsigned: (LibDDWAF::Object, SizeTPtr) -> ::Integer
93
+ def self.ddwaf_object_get_signed: (LibDDWAF::Object, SizeTPtr) -> ::Integer
94
+ def self.ddwaf_object_get_index: (LibDDWAF::Object, ::Integer) -> LibDDWAF::Object
95
+ def self.ddwaf_object_get_bool: (LibDDWAF::Object) -> bool
96
+ def self.ddwaf_object_get_float: (LibDDWAF::Object) -> ::Float
97
+
98
+ # freeers
99
+
100
+ def self.ddwaf_object_free: (LibDDWAF::Object) -> void
101
+
102
+ ObjectFree: ::FFI::Function
103
+ ObjectNoFree: ::FFI::Pointer
104
+
105
+ # handle builder
106
+
107
+ def self.ddwaf_builder_init: (HandleBuilderConfig) -> ::FFI::Pointer
108
+ def self.ddwaf_builder_destroy: (::FFI::Pointer) -> void
109
+
110
+ def self.ddwaf_builder_add_or_update_config: (::FFI::Pointer, ::String, ::Integer, LibDDWAF::Object, LibDDWAF::Object) -> bool
111
+ def self.ddwaf_builder_remove_config: (::FFI::Pointer, ::String, ::Integer) -> bool
112
+
113
+ def self.ddwaf_builder_build_instance: (::FFI::Pointer) -> ::FFI::Pointer
114
+
115
+ # main handle
116
+
117
+ class HandleBuilderConfig < ::FFI::Struct[::FFI::AbstractMemory, untyped]
118
+ class Limits < ::FFI::Struct[::FFI::AbstractMemory, ::Integer]
119
+ end
120
+
121
+ class Obfuscator < ::FFI::Struct[::FFI::AbstractMemory, ::FFI::Pointer]
122
+ end
123
+ end
124
+
125
+ def self.ddwaf_destroy: (::FFI::Pointer) -> void
126
+
127
+ def self.ddwaf_known_addresses: (::FFI::Pointer, UInt32Ptr) -> ::FFI::Pointer
128
+ def self.ddwaf_rule_data_ids: (::FFI::Pointer, UInt32Ptr) -> ::FFI::Pointer
129
+
130
+ # updating
131
+
132
+ DDWAF_RET_CODE: ::FFI::Enum
133
+
134
+ # running
135
+
136
+ def self.ddwaf_context_init: (::FFI::Pointer) -> ::FFI::Pointer
137
+ def self.ddwaf_context_destroy: (::FFI::Pointer) -> void
138
+
139
+ class Result < ::FFI::Struct[::FFI::AbstractMemory, untyped]
140
+ end
141
+
142
+ def self.ddwaf_run: (::FFI::Pointer, Object, Object, Result, ::Integer) -> ::Symbol
143
+ def self.ddwaf_result_free: (Result) -> void
144
+
145
+ # logging
146
+
147
+ DDWAF_LOG_LEVEL: ::FFI::Enum
148
+
149
+ type ddwaf_log_level = ::Symbol
150
+
151
+ # TODO: signature is as below but steep 1.1 does not yet support method/proc/block mapping
152
+ # type ddwaf_log_cb = ^(ddwaf_log_level, ::String, ::String, ::Integer, ::FFI::Pointer, ::Integer) -> void
153
+ type ddwaf_log_cb = ::Method | ::Proc
154
+ def self.ddwaf_set_log_cb: (ddwaf_log_cb, ddwaf_log_level) -> bool
155
+ end
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,33 @@
1
+ module Datadog
2
+ module AppSec
3
+ module WAF
4
+ class Result
5
+ @status: ::Symbol
6
+
7
+ @events: WAF::data
8
+
9
+ @total_runtime: ::Float
10
+
11
+ @timeout: bool
12
+
13
+ @actions: WAF::data
14
+
15
+ @derivatives: WAF::data
16
+
17
+ attr_reader status: ::Symbol
18
+
19
+ attr_reader events: WAF::data
20
+
21
+ attr_reader total_runtime: ::Float
22
+
23
+ attr_reader timeout: bool
24
+
25
+ attr_reader actions: WAF::data
26
+
27
+ attr_reader derivatives: WAF::data
28
+
29
+ def initialize: (::Symbol status, WAF::data events, ::Float total_runtime, bool timeout, WAF::data actions, WAF::data derivatives) -> void
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ module Datadog
2
+ module AppSec
3
+ module WAF
4
+ module VERSION
5
+ BASE_STRING: ::String
6
+
7
+ STRING: ::String
8
+
9
+ MINIMUM_RUBY_VERSION: ::String
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ module Datadog
2
+ module AppSec
3
+ module WAF
4
+ type data = String | Symbol | Integer | Float | TrueClass | FalseClass | Array[data] | Hash[(String | Symbol | nil), data] | nil
5
+
6
+ def self.version: () -> ::String
7
+
8
+ self.@logger: ::Logger
9
+ self.@log_callback: LibDDWAF::ddwaf_log_cb
10
+
11
+ def self.log_callback: (LibDDWAF::ddwaf_log_level, ::String, ::String, ::Integer, ::FFI::Pointer, ::Integer) -> void
12
+ def self.logger: () -> ::Logger
13
+ def self.logger=: (::Logger logger) -> void
14
+ end
15
+ end
16
+ end
data/sig/libddwaf.rbs ADDED
File without changes
@@ -0,0 +1,7 @@
1
+ class Gem::Platform
2
+ def self.local: () -> Gem::Platform
3
+
4
+ def os: () -> String
5
+ def cpu: () -> String
6
+ def version: () -> String
7
+ end
@@ -0,0 +1,3 @@
1
+ module Kernel
2
+ def java: () -> untyped
3
+ 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.22.0.0.2
4
+ version: 1.24.1.0.3
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-04-15 00:00:00.000000000 Z
11
+ date: 2025-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -39,15 +39,31 @@ files:
39
39
  - LICENSE.Apache
40
40
  - LICENSE.BSD3
41
41
  - NOTICE
42
+ - README.md
42
43
  - lib/datadog/appsec/waf.rb
43
44
  - lib/datadog/appsec/waf/context.rb
44
45
  - lib/datadog/appsec/waf/converter.rb
46
+ - lib/datadog/appsec/waf/errors.rb
45
47
  - lib/datadog/appsec/waf/handle.rb
48
+ - lib/datadog/appsec/waf/handle_builder.rb
46
49
  - lib/datadog/appsec/waf/lib_ddwaf.rb
47
50
  - lib/datadog/appsec/waf/result.rb
48
51
  - lib/datadog/appsec/waf/version.rb
49
52
  - lib/libddwaf.rb
50
- - vendor/libddwaf/libddwaf-1.22.0-linux-aarch64/lib/libddwaf.so
53
+ - libddwaf.gemspec
54
+ - sig/datadog/appsec/waf.rbs
55
+ - sig/datadog/appsec/waf/context.rbs
56
+ - sig/datadog/appsec/waf/converter.rbs
57
+ - sig/datadog/appsec/waf/errors.rbs
58
+ - sig/datadog/appsec/waf/handle.rbs
59
+ - sig/datadog/appsec/waf/handle_builder.rbs
60
+ - sig/datadog/appsec/waf/lib_ddwaf.rbs
61
+ - sig/datadog/appsec/waf/result.rbs
62
+ - sig/datadog/appsec/waf/version.rbs
63
+ - sig/libddwaf.rbs
64
+ - vendor/libddwaf/libddwaf-1.24.1-linux-aarch64/lib/libddwaf.so
65
+ - vendor/rbs/gem/0/gem.rbs
66
+ - vendor/rbs/jruby/0/jruby.rbs
51
67
  homepage: https://github.com/DataDog/libddwaf-rb
52
68
  licenses:
53
69
  - BSD-3-Clause