From d525ac60406e8a08acbde8381af9b66a530cdd72 Mon Sep 17 00:00:00 2001 From: Ruben Romero Montes Date: Thu, 25 Jun 2026 01:24:53 +0200 Subject: [PATCH] fix(hardened): remove PURL qualifier double-encoding and enable Hummingbird URL PackageURL constructor auto-encodes qualifier values, so manual URLEncoder.encode() in containerRefToPackageRef() caused double-encoding of the repository_url qualifier. This removes the redundant encoding and uncomments the Hummingbird URL configuration property. Co-Authored-By: Claude Opus 4.6 --- .../trustify/hardened/HardenedImageResponseHandler.java | 4 +--- src/main/resources/application.properties | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/guacsec/trustifyda/integration/providers/trustify/hardened/HardenedImageResponseHandler.java b/src/main/java/io/github/guacsec/trustifyda/integration/providers/trustify/hardened/HardenedImageResponseHandler.java index e3ee13ad..e352f8d5 100644 --- a/src/main/java/io/github/guacsec/trustifyda/integration/providers/trustify/hardened/HardenedImageResponseHandler.java +++ b/src/main/java/io/github/guacsec/trustifyda/integration/providers/trustify/hardened/HardenedImageResponseHandler.java @@ -17,8 +17,6 @@ package io.github.guacsec.trustifyda.integration.providers.trustify.hardened; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -128,7 +126,7 @@ static PackageRef containerRefToPackageRef(String imageRef) throws Exception { } String name = path.substring(path.lastIndexOf('/') + 1); - String repoUrl = URLEncoder.encode(path, StandardCharsets.UTF_8); + String repoUrl = path; TreeMap qualifiers = new TreeMap<>(); qualifiers.put("repository_url", repoUrl); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index a6b8c740..20e1767a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -45,7 +45,7 @@ trustedcontent.recommendation.ubi.mapping.fedora=${trustedcontent.recommendation trustedcontent.recommendation.ubi.mapping.amazonlinux=${trustedcontent.recommendation.ubi.purl.ubi9} # Hardened image recommendation provider (Hummingbird) -# trustedcontent.recommendation.hardened.url=${HUMMINGBIRD_URL:} +trustedcontent.recommendation.hardened.url=${HUMMINGBIRD_URL:} trustedcontent.recommendation.hardened.refresh-interval=${HUMMINGBIRD_REFRESH_INTERVAL:1h} trustedcontent.recommendation.hardened.lock-ttl=${HUMMINGBIRD_LOCK_TTL:5m}