mirror of
https://git.freebsd.org/ports.git
synced 2025-07-03 18:39:16 -04:00
84 lines
3.4 KiB
Text
84 lines
3.4 KiB
Text
Obtained from: https://github.com/DataDog/dd-trace-rb/commit/eb5ddedf18cf9129bab06b4f3063437fc0aabfd9
|
|
|
|
--- ddtrace.gemspec.orig 2023-08-30 13:30:50 UTC
|
|
+++ ddtrace.gemspec
|
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
|
|
s.add_runtime_dependency(%q<msgpack>.freeze, [">= 0"])
|
|
s.add_runtime_dependency(%q<debase-ruby_core_source>.freeze, ["= 3.2.1"])
|
|
- s.add_runtime_dependency(%q<libddwaf>.freeze, ["~> 1.9.0.0.0"])
|
|
+ s.add_runtime_dependency(%q<libddwaf>.freeze, ["~> 1.11.0.0.0"])
|
|
s.add_runtime_dependency(%q<libdatadog>.freeze, ["~> 3.0.0.1.0"])
|
|
end
|
|
|
|
--- lib/datadog/appsec/contrib/rack/request_middleware.rb.orig 2023-08-30 13:30:50 UTC
|
|
+++ lib/datadog/appsec/contrib/rack/request_middleware.rb
|
|
@@ -137,17 +137,19 @@ module Datadog
|
|
)
|
|
end
|
|
|
|
- if processor.ruleset_info
|
|
- span.set_tag('_dd.appsec.event_rules.version', processor.ruleset_info[:version])
|
|
+ if processor.diagnostics
|
|
+ diagnostics = processor.diagnostics
|
|
|
|
+ span.set_tag('_dd.appsec.event_rules.version', diagnostics['ruleset_version'])
|
|
+
|
|
unless @oneshot_tags_sent
|
|
# Small race condition, but it's inoccuous: worst case the tags
|
|
# are sent a couple of times more than expected
|
|
@oneshot_tags_sent = true
|
|
|
|
- span.set_tag('_dd.appsec.event_rules.loaded', processor.ruleset_info[:loaded].to_f)
|
|
- span.set_tag('_dd.appsec.event_rules.error_count', processor.ruleset_info[:failed].to_f)
|
|
- span.set_tag('_dd.appsec.event_rules.errors', JSON.dump(processor.ruleset_info[:errors]))
|
|
+ span.set_tag('_dd.appsec.event_rules.loaded', diagnostics['rules']['loaded'].size.to_f)
|
|
+ span.set_tag('_dd.appsec.event_rules.error_count', diagnostics['rules']['loaded'].size.to_f)
|
|
+ span.set_tag('_dd.appsec.event_rules.errors', JSON.dump(diagnostics['rules']['errors']))
|
|
span.set_tag('_dd.appsec.event_rules.addresses', JSON.dump(processor.addresses))
|
|
|
|
# Ensure these tags reach the backend
|
|
--- lib/datadog/appsec/event.rb.orig 2023-08-30 13:30:50 UTC
|
|
+++ lib/datadog/appsec/event.rb
|
|
@@ -105,7 +105,7 @@ module Datadog
|
|
|
|
# accumulate triggers
|
|
tags['_dd.appsec.triggers'] ||= []
|
|
- tags['_dd.appsec.triggers'] += event[:waf_result].data
|
|
+ tags['_dd.appsec.triggers'] += event[:waf_result].events
|
|
end
|
|
end
|
|
end
|
|
--- lib/datadog/appsec/processor.rb.orig 2023-08-30 13:30:50 UTC
|
|
+++ lib/datadog/appsec/processor.rb
|
|
@@ -43,10 +43,10 @@ module Datadog
|
|
end
|
|
end
|
|
|
|
- attr_reader :ruleset_info, :addresses
|
|
+ attr_reader :diagnostics, :addresses
|
|
|
|
def initialize(ruleset:)
|
|
- @ruleset_info = nil
|
|
+ @diagnostics = nil
|
|
@addresses = []
|
|
settings = Datadog.configuration.appsec
|
|
|
|
@@ -83,7 +83,7 @@ module Datadog
|
|
}
|
|
|
|
@handle = Datadog::AppSec::WAF::Handle.new(ruleset, obfuscator: obfuscator_config)
|
|
- @ruleset_info = @handle.ruleset_info
|
|
+ @diagnostics = @handle.diagnostics
|
|
@addresses = @handle.required_addresses
|
|
|
|
true
|
|
@@ -92,7 +92,7 @@ module Datadog
|
|
"libddwaf failed to initialize, error: #{e.inspect}"
|
|
end
|
|
|
|
- @ruleset_info = e.ruleset_info if e.ruleset_info
|
|
+ @diagnostics = e.diagnostics if e.diagnostics
|
|
|
|
false
|
|
rescue StandardError => e
|