git: 2a0ece70c103 - main - devel/rubygem-ddtrace: Allow build with rubygem-libddwaf 1.11.0.0.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 04 Sep 2023 09:09:52 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=2a0ece70c1034a6504f53e9e12f1008a1f0ab58c commit 2a0ece70c1034a6504f53e9e12f1008a1f0ab58c Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-09-04 09:05:50 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-09-04 09:05:50 +0000 devel/rubygem-ddtrace: Allow build with rubygem-libddwaf 1.11.0.0.0 - Bump PORTREVISION for package change Obtained from: https://github.com/DataDog/dd-trace-rb/commit/eb5ddedf18cf9129bab06b4f3063437fc0aabfd9 --- devel/rubygem-ddtrace/Makefile | 3 +- devel/rubygem-ddtrace/files/patch-libddwaf | 84 ++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 1 deletion(-) diff --git a/devel/rubygem-ddtrace/Makefile b/devel/rubygem-ddtrace/Makefile index f6fa21f34149..8d2da3663c84 100644 --- a/devel/rubygem-ddtrace/Makefile +++ b/devel/rubygem-ddtrace/Makefile @@ -1,5 +1,6 @@ PORTNAME= ddtrace PORTVERSION= 1.14.0 +PORTREVISION= 1 CATEGORIES= devel rubygems MASTER_SITES= RG @@ -14,7 +15,7 @@ LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE.BSD3 RUN_DEPENDS= rubygem-debase-ruby_core_source>=3.2.1<3.2.1_99:devel/rubygem-debase-ruby_core_source \ rubygem-libdatadog>=3.0.0.1.0<3.0.0.2:devel/rubygem-libdatadog \ - rubygem-libddwaf>=1.9.0.0.0<1.9.0.1:devel/rubygem-libddwaf \ + rubygem-libddwaf>=1.11.0.0.0<1.11.0.1:devel/rubygem-libddwaf \ rubygem-msgpack>=0:devel/rubygem-msgpack USES= gem diff --git a/devel/rubygem-ddtrace/files/patch-libddwaf b/devel/rubygem-ddtrace/files/patch-libddwaf new file mode 100644 index 000000000000..6c5e6e3032f8 --- /dev/null +++ b/devel/rubygem-ddtrace/files/patch-libddwaf @@ -0,0 +1,84 @@ +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