Skip to content

Commit

Permalink
endpoints-control: strip brackets of IPv6 addresses for check API.
Browse files Browse the repository at this point in the history
  • Loading branch information
UweTrottmann committed Aug 24, 2023
1 parent 1e84f80 commit 973d803
Showing 1 changed file with 6 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
* Copyright 2016 Google Inc. All Rights Reserved.
* Copyright 2023 Uwe Trottmann
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -370,6 +371,10 @@ private CheckRequestInfo createCheckInfo(HttpServletRequest request, String uri,
apiKey = findDefaultApiKeyParam(request);
}

// The Service Control check API expects IPv6 addresses formatted without brackets ('[' and ']'), so strip them.
String ipAddress = request.getRemoteAddr();
String strippedIpAddress = ipAddress.replace("[", "").replace("]", "");

return new CheckRequestInfo(new OperationInfo()
.setApiKey(apiKey)
.setApiKeyValid(!Strings.isNullOrEmpty(apiKey))
Expand All @@ -378,7 +383,7 @@ private CheckRequestInfo createCheckInfo(HttpServletRequest request, String uri,
.setOperationId(nextOperationId())
.setOperationName(info.getSelector())
.setServiceName(serviceName))
.setClientIp(request.getRemoteAddr())
.setClientIp(strippedIpAddress)
.setAndroidPackageName(request.getHeader(X_ANDROID_PACKAGE))
.setAndroidCertificateFingerprint(request.getHeader(X_ANDROID_CERT))
.setIosBundleId(request.getHeader(X_IOS_BUNDLE_ID));
Expand Down

0 comments on commit 973d803

Please sign in to comment.