Skip to content

Commit 93a9c81

Browse files
Merge pull request #177 from IABTechLab/vse-UID2-4504-fix-unbounded-path-label-core
Fix unbounded path label
2 parents 6b4b6ab + f5ec720 commit 93a9c81

File tree

3 files changed

+58
-17
lines changed

3 files changed

+58
-17
lines changed

src/main/java/com/uid2/core/Main.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.uid2.core.service.AttestationService;
88
import com.uid2.core.service.OperatorJWTTokenProvider;
99
import com.uid2.core.vertx.CoreVerticle;
10+
import com.uid2.core.vertx.Endpoints;
1011
import com.uid2.shared.Const;
1112
import com.uid2.shared.Utils;
1213
import com.uid2.shared.attest.AttestationTokenService;
@@ -183,7 +184,8 @@ private static void setupMetrics(MicrometerMetricsOptions metricOptions) {
183184
.meterFilter(new PrometheusRenameFilter())
184185
.meterFilter(MeterFilter.replaceTagValues(Label.HTTP_PATH.toString(), actualPath -> {
185186
try {
186-
return HttpUtils.normalizePath(actualPath).split("\\?")[0];
187+
String normalized = HttpUtils.normalizePath(actualPath).split("\\?")[0];
188+
return Endpoints.pathSet().contains(normalized) ? normalized : "/unknown";
187189
} catch (IllegalArgumentException e) {
188190
return actualPath;
189191
}

src/main/java/com/uid2/core/vertx/CoreVerticle.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -176,26 +176,26 @@ private Router createRoutesSetup() {
176176
.allowedHeader("Content-Type"));
177177
router.route().failureHandler(new GenericFailureHandler());
178178

179-
router.post("/attest")
179+
router.post(Endpoints.ATTEST.toString())
180180
.handler(new AttestationFailureHandler())
181181
.handler(auth.handle(this::handleAttestAsync, Role.OPERATOR, Role.OPTOUT_SERVICE));
182-
router.get("/cloud_encryption_keys/retrieve").handler(auth.handle(attestationMiddleware.handle(this::handleCloudEncryptionKeysRetrieval), Role.OPERATOR));
183-
router.get("/sites/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleSiteRefresh), Role.OPERATOR));
184-
router.get("/key/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleKeyRefresh), Role.OPERATOR));
185-
router.get("/key/acl/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleKeyAclRefresh), Role.OPERATOR));
186-
router.get("/key/keyset/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleKeysetRefresh), Role.OPERATOR));
187-
router.get("/key/keyset-keys/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleKeysetKeyRefresh), Role.OPERATOR));
188-
router.get("/salt/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleSaltRefresh), Role.OPERATOR));
189-
router.get("/clients/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleClientRefresh), Role.OPERATOR));
190-
router.get("/client_side_keypairs/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleClientSideKeypairRefresh), Role.OPERATOR));
191-
router.get("/services/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleServiceRefresh), Role.OPERATOR));
192-
router.get("/service_links/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleServiceLinkRefresh), Role.OPERATOR));
193-
router.get("/operators/refresh").handler(auth.handle(attestationMiddleware.handle(this::handleOperatorRefresh), Role.OPTOUT_SERVICE));
194-
router.get("/partners/refresh").handler(auth.handle(attestationMiddleware.handle(this::handlePartnerRefresh), Role.OPTOUT_SERVICE));
195-
router.get("/ops/healthcheck").handler(this::handleHealthCheck);
182+
router.get(Endpoints.CLOUD_ENCRYPTION_KEYS_RETRIEVE.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleCloudEncryptionKeysRetrieval), Role.OPERATOR));
183+
router.get(Endpoints.SITES_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleSiteRefresh), Role.OPERATOR));
184+
router.get(Endpoints.KEY_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleKeyRefresh), Role.OPERATOR));
185+
router.get(Endpoints.KEY_ACL_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleKeyAclRefresh), Role.OPERATOR));
186+
router.get(Endpoints.KEY_KEYSET_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleKeysetRefresh), Role.OPERATOR));
187+
router.get(Endpoints.KEY_KEYSET_KEYS_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleKeysetKeyRefresh), Role.OPERATOR));
188+
router.get(Endpoints.SALT_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleSaltRefresh), Role.OPERATOR));
189+
router.get(Endpoints.CLIENTS_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleClientRefresh), Role.OPERATOR));
190+
router.get(Endpoints.CLIENT_SIDE_KEYPAIRS_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleClientSideKeypairRefresh), Role.OPERATOR));
191+
router.get(Endpoints.SERVICES_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleServiceRefresh), Role.OPERATOR));
192+
router.get(Endpoints.SERVICE_LINKS_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleServiceLinkRefresh), Role.OPERATOR));
193+
router.get(Endpoints.OPERATORS_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handleOperatorRefresh), Role.OPTOUT_SERVICE));
194+
router.get(Endpoints.PARTNERS_REFRESH.toString()).handler(auth.handle(attestationMiddleware.handle(this::handlePartnerRefresh), Role.OPTOUT_SERVICE));
195+
router.get(Endpoints.OPS_HEALTHCHECK.toString()).handler(this::handleHealthCheck);
196196

197197
if (Optional.ofNullable(ConfigStore.Global.getBoolean("enable_test_endpoints")).orElse(false)) {
198-
router.route("/attest/get_token").handler(auth.handle(this::handleTestGetAttestationToken, Role.OPERATOR));
198+
router.route(Endpoints.ATTEST_GET_TOKEN.toString()).handler(auth.handle(this::handleTestGetAttestationToken, Role.OPERATOR));
199199
}
200200

201201
return router;
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.uid2.core.vertx;
2+
3+
import java.util.Set;
4+
import java.util.stream.Collectors;
5+
import java.util.stream.Stream;
6+
7+
public enum Endpoints {
8+
OPS_HEALTHCHECK("/ops/healthcheck"),
9+
ATTEST("/attest"),
10+
ATTEST_GET_TOKEN("/attest/get_token"),
11+
CLOUD_ENCRYPTION_KEYS_RETRIEVE("/cloud_encryption_keys/retrieve"),
12+
SITES_REFRESH("/sites/refresh"),
13+
KEY_REFRESH("/key/refresh"),
14+
KEY_ACL_REFRESH("/key/acl/refresh"),
15+
KEY_KEYSET_REFRESH("/key/keyset/refresh"),
16+
KEY_KEYSET_KEYS_REFRESH("/key/keyset-keys/refresh"),
17+
SALT_REFRESH("/salt/refresh"),
18+
CLIENTS_REFRESH("/clients/refresh"),
19+
CLIENT_SIDE_KEYPAIRS_REFRESH("/client_side_keypairs/refresh"),
20+
SERVICES_REFRESH("/services/refresh"),
21+
SERVICE_LINKS_REFRESH("/service_links/refresh"),
22+
OPERATORS_REFRESH("/operators/refresh"),
23+
PARTNERS_REFRESH("/partners/refresh");
24+
25+
private final String path;
26+
27+
Endpoints(final String path) {
28+
this.path = path;
29+
}
30+
31+
public static Set<String> pathSet() {
32+
return Stream.of(Endpoints.values()).map(Endpoints::toString).collect(Collectors.toSet());
33+
}
34+
35+
@Override
36+
public String toString() {
37+
return path;
38+
}
39+
}

0 commit comments

Comments
 (0)