diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 00000000000..a86f0b144a5
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,48 @@
+name: "CodeQL"
+
+on:
+ push:
+ branches: [ "master" ]
+ pull_request:
+ branches: [ "master" ]
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ language: [ 'java' ]
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up JDK
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: 21
+
+ - name: Cache Maven packages
+ uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v1
+ with:
+ languages: ${{ matrix.language }}
+
+ - name: Build with Maven
+ run: mvn -B package --file extra/pom.xml
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v1
+ with:
+ category: "/language:${{ matrix.language }}"
diff --git a/extra/bundle/pom.xml b/extra/bundle/pom.xml
index eb64da6bd91..5f17d237be8 100644
--- a/extra/bundle/pom.xml
+++ b/extra/bundle/pom.xml
@@ -5,7 +5,7 @@
org.prebid
prebid-server-aggregator
- 3.14.0-SNAPSHOT
+ 3.15.0-SNAPSHOT
../../extra/pom.xml
diff --git a/extra/modules/confiant-ad-quality/pom.xml b/extra/modules/confiant-ad-quality/pom.xml
index 263056107ba..a4b77048c76 100644
--- a/extra/modules/confiant-ad-quality/pom.xml
+++ b/extra/modules/confiant-ad-quality/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.14.0-SNAPSHOT
+ 3.15.0-SNAPSHOT
confiant-ad-quality
diff --git a/extra/modules/fiftyone-devicedetection/pom.xml b/extra/modules/fiftyone-devicedetection/pom.xml
index 3d14e3e6b51..963b239763e 100644
--- a/extra/modules/fiftyone-devicedetection/pom.xml
+++ b/extra/modules/fiftyone-devicedetection/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.14.0-SNAPSHOT
+ 3.15.0-SNAPSHOT
fiftyone-devicedetection
diff --git a/extra/modules/ortb2-blocking/pom.xml b/extra/modules/ortb2-blocking/pom.xml
index d997a0dc4bd..90fe75bac96 100644
--- a/extra/modules/ortb2-blocking/pom.xml
+++ b/extra/modules/ortb2-blocking/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.14.0-SNAPSHOT
+ 3.15.0-SNAPSHOT
ortb2-blocking
diff --git a/extra/modules/ortb2-blocking/src/main/java/org/prebid/server/hooks/modules/ortb2/blocking/core/AccountConfigReader.java b/extra/modules/ortb2-blocking/src/main/java/org/prebid/server/hooks/modules/ortb2/blocking/core/AccountConfigReader.java
index 599be6e981c..a7ee0425135 100644
--- a/extra/modules/ortb2-blocking/src/main/java/org/prebid/server/hooks/modules/ortb2/blocking/core/AccountConfigReader.java
+++ b/extra/modules/ortb2-blocking/src/main/java/org/prebid/server/hooks/modules/ortb2/blocking/core/AccountConfigReader.java
@@ -18,6 +18,7 @@
import org.prebid.server.hooks.modules.ortb2.blocking.core.model.ResponseBlockingConfig;
import org.prebid.server.hooks.modules.ortb2.blocking.core.model.Result;
import org.prebid.server.hooks.modules.ortb2.blocking.core.util.MergeUtils;
+import org.prebid.server.spring.config.bidder.model.MediaType;
import org.prebid.server.util.ObjectUtil;
import org.prebid.server.util.StreamUtil;
@@ -51,7 +52,11 @@ public class AccountConfigReader {
private static final String ALLOWED_APP_FOR_DEALS_FIELD = "allowed-app-for-deals";
private static final String BLOCKED_BANNER_TYPE_FIELD = "blocked-banner-type";
private static final String BLOCKED_BANNER_ATTR_FIELD = "blocked-banner-attr";
+ private static final String BLOCKED_VIDEO_ATTR_FIELD = "blocked-video-attr";
+ private static final String BLOCKED_AUDIO_ATTR_FIELD = "blocked-audio-attr";
private static final String ALLOWED_BANNER_ATTR_FOR_DEALS = "allowed-banner-attr-for-deals";
+ private static final String ALLOWED_VIDEO_ATTR_FOR_DEALS = "allowed-video-attr-for-deals";
+ private static final String ALLOWED_AUDIO_ATTR_FOR_DEALS = "allowed-audio-attr-for-deals";
private static final String ACTION_OVERRIDES_FIELD = "action-overrides";
private static final String OVERRIDE_FIELD = "override";
private static final String CONDITIONS_FIELD = "conditions";
@@ -100,8 +105,14 @@ public Result blockedAttributesFor(BidRequest bidRequest) {
blockedAttribute(BAPP_FIELD, String.class, BLOCKED_APP_FIELD, requestMediaTypes);
final Result