Skip to content

Commit c3dca9c

Browse files
Enable Pekko HTTP forked tests (#12310)
fix(feature-flags): constrain direct EVP intake origin (#12299) Add proxy-aware feature flag intake authentication Route direct feature flag intake through standard HTTPS proxy settings and attach the canonical fixed-width API key fingerprint. Environment: Datadog workspace Separate direct intake proxying from API key fingerprinting Keep this PR focused on proxy-aware direct Event Platform intake and leave fingerprinting to an independent change. Environment: Datadog workspace Merge live Java master after EVP split Restore Java formatting after the fingerprint split Keep the direct-intake diff free of fingerprint-only formatting artifacts. Environment: Datadog workspace Update direct-intake tests after fingerprint removal Use the original two-argument direct intake factory now that the unrelated fingerprint header plumbing has moved out of this PR. Environment: Datadog workspace Remove unnecessary Groovy imports fix(feature-flags): handle ambiguous EVP failures safely fix(feature-flags): validate direct EVP intake site Reject URL authority confusion before adding DD-API-KEY. Environment: Datadog workspace fix(config): align proxy configuration validation Read standard proxy environment variables without registering them as Datadog configuration aliases, and use the existing non-regex parser for no-proxy hosts. Environment: Datadog workspace fix(feature-flags): reject direct intake redirects Disable HTTP and HTTPS redirects for Feature Flags direct EVP intake so DD-API-KEY remains bound to the configured origin. Environment: Datadog workspace fix(feature-flags): harden proxy configuration Preserve one-character NO_PROXY entries and prevent HTTPS proxy URLs from exposing credentials through configuration telemetry. Environment: Datadog workspace Merge remote-tracking branch 'origin/master' into leo.romanovsky/ffe-agentless-evp-java-hardening # Conflicts: # utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java # utils/config-utils/src/test/java/datadog/trace/api/ConfigSettingTest.java refactor(feature-flags): narrow direct intake hardening Keep direct intake origin and redirect protections while removing proxy and runtime failover changes. Environment: Datadog workspace Merge branch 'master' into leo.romanovsky/ffe-agentless-evp-java-hardening\n\nEnvironment: Datadog workspace Co-authored-by: devflow.devflow-routing-intake <devflow.devflow-routing-intake@kubernetes.us1.ddbuild.io> Enable Pekko HTTP forked tests Minor reshuffle. Remove direct Pekko advice test Co-authored-by: leoromanovsky <leo.romanovsky@datadoghq.com> Co-authored-by: alexey.kuznetsov <alexey.kuznetsov@datadoghq.com>
1 parent fbf390f commit c3dca9c

3 files changed

Lines changed: 12 additions & 3 deletions

File tree

dd-java-agent/instrumentation/pekko/pekko-http-1.0/build.gradle

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@ plugins {
88
// we put the test classes in the baseTest test set so that the scala
99
// version is not inherited
1010
addTestSuite('baseTest')
11+
addForkedTestTask('baseTest')
12+
1113
addTestSuite('latestDepTest')
14+
addForkedTestTask('latestDepTest')
15+
1216
addTestSuiteForDir('latestPekko10Test', 'latestDepTest')
17+
addForkedTestTask('latestPekko10Test')
18+
1319
addTestSuite('iastTest')
14-
addTestSuiteForDir 'latestDepIastTest', 'iastTest'
20+
addTestSuiteForDir('latestDepIastTest', 'iastTest')
1521

1622
muzzle {
1723
pass {

dd-java-agent/instrumentation/pekko/pekko-http-1.0/src/baseTest/groovy/PekkoHttpClientInstrumentationTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,14 @@ abstract class PekkoHttpClientInstrumentationTest extends HttpClientTest {
7373
span {
7474
parent()
7575
operationName operation()
76-
resourceName "pekko-http.client.request"
76+
resourceName operation() // resource name is not set so defaults to operationName
7777
spanType DDSpanTypes.HTTP_CLIENT
7878
errored true
7979
tags {
8080
"$Tags.COMPONENT" "pekko-http-client"
8181
"$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT
8282
errorTags(exception)
83-
defaultTags()
83+
defaultTags(false, false)
8484
}
8585
}
8686
}

dd-java-agent/instrumentation/pekko/pekko-http-1.0/src/main/java/datadog/trace/instrumentation/pekkohttp/PekkoHttpSingleRequestInstrumentation.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ public static class SingleRequestContextPropagationAdvice {
115115
@Advice.OnMethodEnter(suppress = Throwable.class)
116116
public static void methodEnter(
117117
@Advice.Argument(value = 0, readOnly = false) HttpRequest request) {
118+
if (request == null) {
119+
return;
120+
}
118121
final PekkoHttpHeaders headers = new PekkoHttpHeaders(request);
119122
DECORATE.injectContext(currentContext(), request, headers);
120123
request = headers.getRequest();

0 commit comments

Comments
 (0)