Skip to content

Commit

Permalink
Use createUnresolved for forwarded header address
Browse files Browse the repository at this point in the history
Avoid DNS resolution.

See spring-projectsgh-26748
  • Loading branch information
rstoyanchev authored and Zoran0104 committed Aug 20, 2021
1 parent 145a51c commit 9e821b0
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
Expand Up @@ -371,14 +371,14 @@ public static InetSocketAddress parseForwardedFor(
"Failed to parse a port from \"forwarded\"-type header value: " + value);
}
}
return new InetSocketAddress(host, port);
return InetSocketAddress.createUnresolved(host, port);
}
}

String forHeader = request.getHeaders().getFirst("X-Forwarded-For");
if (StringUtils.hasText(forHeader)) {
String host = StringUtils.tokenizeToStringArray(forHeader, ",")[0];
return new InetSocketAddress(host, port);
return InetSocketAddress.createUnresolved(host, port);
}

return null;
Expand Down
Expand Up @@ -441,7 +441,7 @@ public void forwardedForIpV6Identifier() throws Exception {
request.addHeader(FORWARDED, "for=\"[2001:db8:cafe::17]\"");
HttpServletRequest actual = filterAndGetWrappedRequest();

assertThat(actual.getRemoteAddr()).isEqualTo(actual.getRemoteHost()).isEqualTo("2001:db8:cafe:0:0:0:0:17");
assertThat(actual.getRemoteAddr()).isEqualTo(actual.getRemoteHost()).isEqualTo("[2001:db8:cafe::17]");
assertThat(actual.getRemotePort()).isEqualTo(MockHttpServletRequest.DEFAULT_SERVER_PORT);
}

Expand All @@ -459,7 +459,7 @@ public void forwardedForIpV6IdentifierWithPort() throws Exception {
request.addHeader(FORWARDED, "For=\"[2001:db8:cafe::17]:47011\"");
HttpServletRequest actual = filterAndGetWrappedRequest();

assertThat(actual.getRemoteAddr()).isEqualTo(actual.getRemoteHost()).isEqualTo("2001:db8:cafe:0:0:0:0:17");
assertThat(actual.getRemoteAddr()).isEqualTo(actual.getRemoteHost()).isEqualTo("[2001:db8:cafe::17]");
assertThat(actual.getRemotePort()).isEqualTo(47011);
}

Expand Down

0 comments on commit 9e821b0

Please sign in to comment.