Skip to content

Commit 5b34008

Browse files
committed
registry: restore clarifying comments lost during refactoring
- OciRegistryClient: add back manifest size limit, digest validation, and Docker-Content-Digest fallback comments in extracted methods - BearerTokenExchange: rephrase split token field comment into single line
1 parent 8e779c4 commit 5b34008

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

registry/registry-client/src/main/java/com/salesforce/multicloudj/registry/driver/BearerTokenExchange.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ private String executeTokenRequest(HttpGet request) throws IOException {
9191
"Invalid JSON response from token endpoint: " + responseBody, e);
9292
}
9393

94-
// Token can be in "token" (Docker Hub, AWS ECR) or "access_token" (GCP Artifact Registry)
95-
// field
94+
// Token field is "token" (Docker Hub, AWS ECR) or "access_token" (GCP Artifact Registry)
9695
if (json.has(TOKEN_FIELD) && !json.get(TOKEN_FIELD).isJsonNull()) {
9796
return json.get(TOKEN_FIELD).getAsString();
9897
} else if (json.has(ACCESS_TOKEN_FIELD) && !json.get(ACCESS_TOKEN_FIELD).isJsonNull()) {

registry/registry-client/src/main/java/com/salesforce/multicloudj/registry/driver/OciRegistryClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ private Manifest executeFetchManifestRequest(
211211
throw new UnknownException("Failed to fetch manifest: empty response body");
212212
}
213213

214+
// Check manifest size limit to prevent resource exhaustion
214215
long contentLength = response.getEntity().getContentLength();
215216
if (contentLength > MAX_MANIFEST_SIZE_BYTES) {
216217
throw new UnknownException(
@@ -222,6 +223,7 @@ private Manifest executeFetchManifestRequest(
222223
String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
223224
String digestHeader = computeManifestDigest(response, responseBody);
224225

226+
// Validate digest if fetching by digest reference (e.g., repo@sha256:...)
225227
if (reference.startsWith(DIGEST_PREFIX) && !reference.equals(digestHeader)) {
226228
throw new UnknownException(
227229
String.format(
@@ -238,6 +240,7 @@ private String computeManifestDigest(CloseableHttpResponse response, String resp
238240
if (header != null) {
239241
return header.getValue();
240242
}
243+
// Docker-Content-Digest header may be absent (e.g., AWS ECR); calculate from response body
241244
try {
242245
MessageDigest md = MessageDigest.getInstance(DIGEST_ALGORITHM);
243246
byte[] hash = md.digest(responseBody.getBytes(StandardCharsets.UTF_8));

0 commit comments

Comments
 (0)