diff --git a/dd-java-agent/appsec/src/test/groovy/com/datadog/appsec/user/AppSecEventTrackerSpecification.groovy b/dd-java-agent/appsec/src/test/groovy/com/datadog/appsec/user/AppSecEventTrackerSpecification.groovy index 97106fad055..cecb3c2fc34 100644 --- a/dd-java-agent/appsec/src/test/groovy/com/datadog/appsec/user/AppSecEventTrackerSpecification.groovy +++ b/dd-java-agent/appsec/src/test/groovy/com/datadog/appsec/user/AppSecEventTrackerSpecification.groovy @@ -143,7 +143,7 @@ class AppSecEventTrackerSpecification extends DDSpecification { 1 * traceSegment.setTagTop('_dd.p.ts', ProductTraceSource.ASM) 0 * _ - assertAppSecSdkEvent(CUSTOM, V2) + assertAppSecSdkEvent(CUSTOM, V1) } def 'test track login success event V2 (SDK)'() { @@ -198,6 +198,8 @@ class AppSecEventTrackerSpecification extends DDSpecification { 1 * traceSegment.setTagTop('asm.keep', true) 1 * traceSegment.setTagTop('_dd.p.ts', ProductTraceSource.ASM) 0 * _ + + assertAppSecSdkEvent(CUSTOM, V2) } def 'test track user (SDK)'() { diff --git a/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerService.java b/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerService.java index 25a2f376bd4..3c49221ca1f 100644 --- a/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerService.java +++ b/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerService.java @@ -15,12 +15,13 @@ public void trackUserLoginFailure( final String login, final boolean exists, final Map metadata) {} @Override - public void trackCustomEvent(final String eventName, final Map metadata) {} + public void trackCustomEventV2( + final String eventName, final Map metadata) {} }; void trackUserLoginSuccess(String login, String userId, Map metadata); void trackUserLoginFailure(String login, boolean exists, Map metadata); - void trackCustomEvent(String eventName, Map metadata); + void trackCustomEventV2(String eventName, Map metadata); } diff --git a/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerV2.java b/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerV2.java index 2bc31a14159..8837c56243b 100644 --- a/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerV2.java +++ b/dd-trace-api/src/main/java/datadog/appsec/api/login/EventTrackerV2.java @@ -47,6 +47,6 @@ public static void trackUserLoginFailure( * @param metadata custom metadata data represented as key/value map */ public static void trackCustomEvent(String eventName, Map metadata) { - SERVICE.trackCustomEvent(eventName, metadata); + SERVICE.trackCustomEventV2(eventName, metadata); } } diff --git a/internal-api/src/main/java/datadog/trace/api/appsec/AppSecEventTracker.java b/internal-api/src/main/java/datadog/trace/api/appsec/AppSecEventTracker.java index 8bf939caccb..3a1a2a940eb 100644 --- a/internal-api/src/main/java/datadog/trace/api/appsec/AppSecEventTracker.java +++ b/internal-api/src/main/java/datadog/trace/api/appsec/AppSecEventTracker.java @@ -92,6 +92,18 @@ public final void trackLoginFailureEvent( } } + @SuppressWarnings("deprecation") + @Override + public final void trackCustomEvent(String eventName, Map metadata) { + if (eventName == null || eventName.isEmpty()) { + throw new IllegalArgumentException("eventName is null or empty"); + } + WafMetricCollector.get().appSecSdkEvent(CUSTOM, V1); + if (handleLoginEvent(V1, eventName, SDK, null, null, null, metadata)) { + throw new BlockingException("Blocked request (for custom event)"); + } + } + @Override public void trackUserLoginSuccess( final String login, final String userId, final Map metadata) { @@ -116,9 +128,8 @@ public void trackUserLoginFailure( } } - @SuppressWarnings("deprecation") @Override - public final void trackCustomEvent(String eventName, Map metadata) { + public final void trackCustomEventV2(final String eventName, final Map metadata) { if (eventName == null || eventName.isEmpty()) { throw new IllegalArgumentException("eventName is null or empty"); }