From c87602f09e53fb9de085488c60a32e5d3b3638b0 Mon Sep 17 00:00:00 2001 From: Olga MaciaszekSharma Date: Fri, 2 Jul 2021 19:03:05 +0200 Subject: [PATCH] Revert "Fix 2214 hoxton (#2285)" This reverts commit 907119dfa38ffc1734a6e898935c63b389d995f7. --- .../config/GatewayRedisAutoConfiguration.java | 3 ++- .../headers/ForwardedHeadersFilter.java | 15 ++---------- .../headers/ForwardedHeadersFilterTests.java | 24 ------------------- 3 files changed, 4 insertions(+), 38 deletions(-) diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayRedisAutoConfiguration.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayRedisAutoConfiguration.java index e912d1c9..78ee06ad 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayRedisAutoConfiguration.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayRedisAutoConfiguration.java @@ -44,7 +44,8 @@ import org.springframework.web.reactive.DispatcherHandler; @AutoConfigureBefore(GatewayAutoConfiguration.class) @ConditionalOnBean(ReactiveRedisTemplate.class) @ConditionalOnClass({ RedisTemplate.class, DispatcherHandler.class }) -@ConditionalOnProperty(name = "spring.cloud.gateway.redis.enabled", matchIfMissing = true) +@ConditionalOnProperty(name = "spring.cloud.gateway.redis.enabled", + matchIfMissing = true) class GatewayRedisAutoConfiguration { @Bean diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilter.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilter.java index 04592e28..6f24c512 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilter.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilter.java @@ -16,8 +16,6 @@ package org.springframework.cloud.gateway.filter.headers; -import java.net.Inet6Address; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.URI; import java.util.ArrayList; @@ -122,17 +120,8 @@ public class ForwardedHeadersFilter implements HttpHeadersFilter, Ordered { if (remoteAddress != null) { // If remoteAddress is unresolved, calling getHostAddress() would cause a // NullPointerException. - String forValue; - if (remoteAddress.isUnresolved()) { - forValue = remoteAddress.getHostName(); - } - else { - InetAddress address = remoteAddress.getAddress(); - forValue = remoteAddress.getAddress().getHostAddress(); - if (address instanceof Inet6Address) { - forValue = "[" + forValue + "]"; - } - } + String forValue = remoteAddress.isUnresolved() ? remoteAddress.getHostName() + : remoteAddress.getAddress().getHostAddress(); int port = remoteAddress.getPort(); if (port >= 0) { forValue = forValue + ":" + port; diff --git a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java index 4d6b0104..c7e8e9e4 100644 --- a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java +++ b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilterTests.java @@ -131,30 +131,6 @@ public class ForwardedHeadersFilterTests { .containsEntry("for", "\"10.0.0.1:80\""); } - @Test - public void correctIPv6RemoteAddressMapping() throws UnknownHostException { - MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost/get") - .remoteAddress(new InetSocketAddress( - InetAddress.getByName("2001:db8:cafe:0:0:0:0:17"), 80)) - .header(HttpHeaders.HOST, "myhost").build(); - - ForwardedHeadersFilter filter = new ForwardedHeadersFilter(); - - HttpHeaders headers = filter.filter(request.getHeaders(), - MockServerWebExchange.from(request)); - - assertThat(headers.get(FORWARDED_HEADER)).hasSize(1); - - List forwardeds = ForwardedHeadersFilter - .parse(headers.get(FORWARDED_HEADER)); - - assertThat(forwardeds).hasSize(1); - Forwarded forwarded = forwardeds.get(0); - - assertThat(forwarded.getValues()).containsEntry("for", - "\"[2001:db8:cafe:0:0:0:0:17]:80\""); - } - @Test public void unresolvedRemoteAddressFallsBackToHostName() throws UnknownHostException { MockServerHttpRequest request = MockServerHttpRequest.get("http://localhost/get")