[wicket] branch master updated: Remove unused logger
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/wicket.git The following commit(s) were added to refs/heads/master by this push: new c633aca Remove unused logger c633aca is described below commit c633acac3c645b9ea1f41623b204dd1fb2cd02d5 Author: Emond Papegaaij AuthorDate: Fri Mar 5 16:01:20 2021 +0100 Remove unused logger --- .../java/org/apache/wicket/protocol/http/request/WebClientInfo.java | 4 1 file changed, 4 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index dc3d2c4..cc4df9b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -23,8 +23,6 @@ import org.apache.wicket.markup.html.pages.BrowserInfoPage; import org.apache.wicket.protocol.http.ClientProperties; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -36,8 +34,6 @@ public class WebClientInfo extends ClientInfo { private static final long serialVersionUID = 1L; - private static final Logger log = LoggerFactory.getLogger(WebClientInfo.class); - /** * The user agent string from the User-Agent header, app. Theoretically, this might differ from * {@link org.apache.wicket.protocol.http.ClientProperties#isNavigatorJavaEnabled()} property, which is
[wicket] 02/02: Cleanup code and updated tests for new getRemoteAddr behavior
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch wicket-7.x in repository https://gitbox.apache.org/repos/asf/wicket.git commit 7580540f9321dffe4bfb18f0ddb523a410f9ad8a Author: Emond Papegaaij AuthorDate: Fri Mar 5 14:02:39 2021 +0100 Cleanup code and updated tests for new getRemoteAddr behavior --- .../protocol/http/request/WebClientInfo.java | 5 -- .../protocol/http/request/WebClientInfoTest.java | 65 +- 2 files changed, 2 insertions(+), 68 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index c7ce9ee..0127c5e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -16,21 +16,16 @@ */ package org.apache.wicket.protocol.http.request; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.servlet.http.HttpServletRequest; - import org.apache.wicket.core.request.ClientInfo; import org.apache.wicket.markup.html.pages.BrowserInfoPage; import org.apache.wicket.protocol.http.ClientProperties; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.util.string.StringValue; -import org.apache.wicket.util.string.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java index 10ed68d..de44888 100644 --- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java @@ -32,9 +32,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; -import org.mockito.Mockito; /** * Tests the WebClientInfo class @@ -885,39 +883,6 @@ public class WebClientInfoTest } } - - /** -* Test X-Forwarded-For ip address extraction. -*/ - @Test - public void testExtractFromXForwardedForHeader() - { - String expected = "127.0.0.1"; - when(webRequest.getHeader("X-Forwarded-For")).thenReturn(expected); - WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); - String actual = clientInfo.getRemoteAddr(requestCycleMock); - assertThat(actual, is(equalTo(expected))); - Mockito.verifyZeroInteractions(servletRequest); - } - - /** -* Test X-Forwarded-For ip address extraction with fallback when no ip is contained. -* -* Note mgrigorov: this test could fail in network setups where unknown addresses, like "blah", -* will resolve to some DNS service saying "'blah' domain is free. Buy it." -*/ - @Test - @Ignore - public void testExtractFromContainerRequestUnknownXForwardedFor() - { - String expected = "10.17.37.8"; - when(servletRequest.getRemoteAddr()).thenReturn(expected); - when(webRequest.getHeader("X-Forwarded-For")).thenReturn("unknown"); - WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); - String actual = clientInfo.getRemoteAddr(requestCycleMock); - assertThat(actual, is(equalTo(expected))); - } - /** * Test default ip address extraction for container request. */ @@ -925,37 +890,11 @@ public class WebClientInfoTest public void testExtractFromContainerRequestNoXForwardedFor() { String expected = "10.17.37.8"; + String invalid = "10.17.9.55"; when(servletRequest.getRemoteAddr()).thenReturn(expected); + when(webRequest.getHeader("X-Forwarded-For")).thenReturn(invalid); WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); String actual = clientInfo.getRemoteAddr(requestCycleMock); assertThat(actual, is(equalTo(expected))); } - - /** -* Test X-Forwarded-For ip address extraction when proxy chain is given. -*/ - @Test - public void testExtractFromXForwardedForHeaderChainedIps() - { - String expected = "10.17.37.156"; -
[wicket] branch wicket-7.x updated (6716a4e -> 7580540)
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a change to branch wicket-7.x in repository https://gitbox.apache.org/repos/asf/wicket.git. from 6716a4e Update Spotify Dockerfile Maven plugin version to 1.4.13 new 9963d7d Do not try to resolve X-Forwarded-For header new 7580540 Cleanup code and updated tests for new getRemoteAddr behavior The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../protocol/http/request/WebClientInfo.java | 45 ++- .../protocol/http/request/WebClientInfoTest.java | 65 +- 2 files changed, 6 insertions(+), 104 deletions(-)
[wicket] 01/02: Do not try to resolve X-Forwarded-For header
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch wicket-7.x in repository https://gitbox.apache.org/repos/asf/wicket.git commit 9963d7d6a7c737b73fcd11a30659a8d0136ab407 Author: Emond Papegaaij AuthorDate: Fri Mar 5 13:28:15 2021 +0100 Do not try to resolve X-Forwarded-For header The remote address is reported by HttpServletRequest. Configuration of this property is normally done via the application server. If this is somehow not possible, use XForwardedRequestWrapperFactory. --- .../protocol/http/request/WebClientInfo.java | 40 +++--- 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index c00dc47..c7ce9ee 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -145,49 +145,17 @@ public class WebClientInfo extends ClientInfo } /** -* When using ProxyPass, requestCycle().getHttpServletRequest(). getRemoteAddr() returns the IP -* of the machine forwarding the request. In order to maintain the clients ip address, the -* server places it in the http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers;>X-Forwarded-For -* Header. -* -* Proxies may also mask the original client IP with tokens like "hidden" or "unknown". -* If so, the last proxy ip address is returned. +* Returns the IP address from {@code HttpServletRequest.getRemoteAddr()}. * * @param requestCycle *the request cycle -* @return remoteAddr IP address of the client, using the X-Forwarded-For header and defaulting -* to: getHttpServletRequest().getRemoteAddr() +* @return remoteAddr IP address of the client, using +* {@code getHttpServletRequest().getRemoteAddr()} */ protected String getRemoteAddr(RequestCycle requestCycle) { ServletWebRequest request = (ServletWebRequest)requestCycle.getRequest(); - HttpServletRequest req = request.getContainerRequest(); - String remoteAddr = request.getHeader("X-Forwarded-For"); - - if (remoteAddr != null) - { - if (remoteAddr.contains(",")) - { - // sometimes the header is of form client ip,proxy 1 ip,proxy 2 ip,...,proxy n ip, - // we just want the client - remoteAddr = Strings.split(remoteAddr, ',')[0].trim(); - } - try - { - // If ip4/6 address string handed over, simply does pattern validation. - InetAddress.getByName(remoteAddr); - } - catch (UnknownHostException e) - { - remoteAddr = req.getRemoteAddr(); - } - } - else - { - remoteAddr = req.getRemoteAddr(); - } - return remoteAddr; + return request.getContainerRequest().getRemoteAddr(); } /**
[wicket] 02/02: Cleanup code and updated tests for new getRemoteAddr behavior
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch wicket-8.x in repository https://gitbox.apache.org/repos/asf/wicket.git commit af6dfbdff02b5f7e8a4e67d13893aa9866d211f0 Author: Emond Papegaaij AuthorDate: Fri Mar 5 14:02:39 2021 +0100 Cleanup code and updated tests for new getRemoteAddr behavior --- .../protocol/http/request/WebClientInfo.java | 5 -- .../protocol/http/request/WebClientInfoTest.java | 65 +- 2 files changed, 2 insertions(+), 68 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index c7ce9ee..0127c5e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -16,21 +16,16 @@ */ package org.apache.wicket.protocol.http.request; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.servlet.http.HttpServletRequest; - import org.apache.wicket.core.request.ClientInfo; import org.apache.wicket.markup.html.pages.BrowserInfoPage; import org.apache.wicket.protocol.http.ClientProperties; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.util.string.StringValue; -import org.apache.wicket.util.string.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java index 10ed68d..de44888 100644 --- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java @@ -32,9 +32,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; -import org.mockito.Mockito; /** * Tests the WebClientInfo class @@ -885,39 +883,6 @@ public class WebClientInfoTest } } - - /** -* Test X-Forwarded-For ip address extraction. -*/ - @Test - public void testExtractFromXForwardedForHeader() - { - String expected = "127.0.0.1"; - when(webRequest.getHeader("X-Forwarded-For")).thenReturn(expected); - WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); - String actual = clientInfo.getRemoteAddr(requestCycleMock); - assertThat(actual, is(equalTo(expected))); - Mockito.verifyZeroInteractions(servletRequest); - } - - /** -* Test X-Forwarded-For ip address extraction with fallback when no ip is contained. -* -* Note mgrigorov: this test could fail in network setups where unknown addresses, like "blah", -* will resolve to some DNS service saying "'blah' domain is free. Buy it." -*/ - @Test - @Ignore - public void testExtractFromContainerRequestUnknownXForwardedFor() - { - String expected = "10.17.37.8"; - when(servletRequest.getRemoteAddr()).thenReturn(expected); - when(webRequest.getHeader("X-Forwarded-For")).thenReturn("unknown"); - WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); - String actual = clientInfo.getRemoteAddr(requestCycleMock); - assertThat(actual, is(equalTo(expected))); - } - /** * Test default ip address extraction for container request. */ @@ -925,37 +890,11 @@ public class WebClientInfoTest public void testExtractFromContainerRequestNoXForwardedFor() { String expected = "10.17.37.8"; + String invalid = "10.17.9.55"; when(servletRequest.getRemoteAddr()).thenReturn(expected); + when(webRequest.getHeader("X-Forwarded-For")).thenReturn(invalid); WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); String actual = clientInfo.getRemoteAddr(requestCycleMock); assertThat(actual, is(equalTo(expected))); } - - /** -* Test X-Forwarded-For ip address extraction when proxy chain is given. -*/ - @Test - public void testExtractFromXForwardedForHeaderChainedIps() - { - String expected = "10.17.37.156"; -
[wicket] branch wicket-8.x updated (24c67b3 -> af6dfbd)
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a change to branch wicket-8.x in repository https://gitbox.apache.org/repos/asf/wicket.git. from 24c67b3 WICKET-6868 ajax submit allow trigger submit on form new c2da3ad Do not try to resolve X-Forwarded-For header new af6dfbd Cleanup code and updated tests for new getRemoteAddr behavior The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../protocol/http/request/WebClientInfo.java | 45 ++- .../protocol/http/request/WebClientInfoTest.java | 65 +- 2 files changed, 6 insertions(+), 104 deletions(-)
[wicket] 01/02: Do not try to resolve X-Forwarded-For header
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch wicket-8.x in repository https://gitbox.apache.org/repos/asf/wicket.git commit c2da3ade7f93abc5ec4c502401e9a6d639eb9331 Author: Emond Papegaaij AuthorDate: Fri Mar 5 13:28:15 2021 +0100 Do not try to resolve X-Forwarded-For header The remote address is reported by HttpServletRequest. Configuration of this property is normally done via the application server. If this is somehow not possible, use XForwardedRequestWrapperFactory. --- .../protocol/http/request/WebClientInfo.java | 40 +++--- 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index c00dc47..c7ce9ee 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -145,49 +145,17 @@ public class WebClientInfo extends ClientInfo } /** -* When using ProxyPass, requestCycle().getHttpServletRequest(). getRemoteAddr() returns the IP -* of the machine forwarding the request. In order to maintain the clients ip address, the -* server places it in the http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers;>X-Forwarded-For -* Header. -* -* Proxies may also mask the original client IP with tokens like "hidden" or "unknown". -* If so, the last proxy ip address is returned. +* Returns the IP address from {@code HttpServletRequest.getRemoteAddr()}. * * @param requestCycle *the request cycle -* @return remoteAddr IP address of the client, using the X-Forwarded-For header and defaulting -* to: getHttpServletRequest().getRemoteAddr() +* @return remoteAddr IP address of the client, using +* {@code getHttpServletRequest().getRemoteAddr()} */ protected String getRemoteAddr(RequestCycle requestCycle) { ServletWebRequest request = (ServletWebRequest)requestCycle.getRequest(); - HttpServletRequest req = request.getContainerRequest(); - String remoteAddr = request.getHeader("X-Forwarded-For"); - - if (remoteAddr != null) - { - if (remoteAddr.contains(",")) - { - // sometimes the header is of form client ip,proxy 1 ip,proxy 2 ip,...,proxy n ip, - // we just want the client - remoteAddr = Strings.split(remoteAddr, ',')[0].trim(); - } - try - { - // If ip4/6 address string handed over, simply does pattern validation. - InetAddress.getByName(remoteAddr); - } - catch (UnknownHostException e) - { - remoteAddr = req.getRemoteAddr(); - } - } - else - { - remoteAddr = req.getRemoteAddr(); - } - return remoteAddr; + return request.getContainerRequest().getRemoteAddr(); } /**
buildbot success in on wicket-master
The Buildbot has detected a restored build on builder wicket-master while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master/builds/1427 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-commit' triggered this build Build Source Stamp: [branch master] a9adfe62931c97dde55ccf21c4c91e1992aecf08 Blamelist: Emond Papegaaij Build succeeded! Sincerely, -The Buildbot
buildbot success in on wicket-master-java15
The Buildbot has detected a restored build on builder wicket-master-java15 while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master-java15/builds/169 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-java15-commit' triggered this build Build Source Stamp: [branch master] a9adfe62931c97dde55ccf21c4c91e1992aecf08 Blamelist: Emond Papegaaij Build succeeded! Sincerely, -The Buildbot
buildbot success in on wicket-master-java14
The Buildbot has detected a restored build on builder wicket-master-java14 while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master-java14/builds/303 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-java14-commit' triggered this build Build Source Stamp: [branch master] a9adfe62931c97dde55ccf21c4c91e1992aecf08 Blamelist: Emond Papegaaij Build succeeded! Sincerely, -The Buildbot
buildbot success in on wicket-master-java13
The Buildbot has detected a restored build on builder wicket-master-java13 while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master-java13/builds/383 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-java13-commit' triggered this build Build Source Stamp: [branch master] a9adfe62931c97dde55ccf21c4c91e1992aecf08 Blamelist: Emond Papegaaij Build succeeded! Sincerely, -The Buildbot
[wicket] branch master updated: Cleanup code and updated tests for new getRemoteAddr behavior
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/wicket.git The following commit(s) were added to refs/heads/master by this push: new a9adfe6 Cleanup code and updated tests for new getRemoteAddr behavior a9adfe6 is described below commit a9adfe62931c97dde55ccf21c4c91e1992aecf08 Author: Emond Papegaaij AuthorDate: Fri Mar 5 14:02:39 2021 +0100 Cleanup code and updated tests for new getRemoteAddr behavior --- .../protocol/http/request/WebClientInfo.java | 5 -- .../protocol/http/request/WebClientInfoTest.java | 64 +- 2 files changed, 2 insertions(+), 67 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index d8e552c..dc3d2c4 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -16,18 +16,13 @@ */ package org.apache.wicket.protocol.http.request; -import java.net.InetAddress; -import java.net.UnknownHostException; import java.util.Locale; -import javax.servlet.http.HttpServletRequest; - import org.apache.wicket.core.request.ClientInfo; import org.apache.wicket.markup.html.pages.BrowserInfoPage; import org.apache.wicket.protocol.http.ClientProperties; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; -import org.apache.wicket.util.string.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java index 2c01d91..02b0b10 100644 --- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/WebClientInfoTest.java @@ -25,9 +25,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.apache.wicket.request.cycle.RequestCycle; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; -import org.mockito.Mockito; /** * Tests the WebClientInfo class @@ -54,75 +52,17 @@ class WebClientInfoTest } /** -* Test X-Forwarded-For ip address extraction. -*/ - @Test - void testExtractFromXForwardedForHeader() - { - String expected = "127.0.0.1"; - when(webRequest.getHeader("X-Forwarded-For")).thenReturn(expected); - WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); - String actual = clientInfo.getRemoteAddr(requestCycleMock); - assertEquals(expected, actual); - Mockito.verifyNoInteractions(servletRequest); - } - - /** -* Test X-Forwarded-For ip address extraction with fallback when no ip is contained. -* -* Note mgrigorov: this test could fail in network setups where unknown addresses, like "blah", -* will resolve to some DNS service saying "'blah' domain is free. Buy it." -*/ - @Test - @Disabled - void testExtractFromContainerRequestUnknownXForwardedFor() - { - String expected = "10.17.37.8"; - when(servletRequest.getRemoteAddr()).thenReturn(expected); - when(webRequest.getHeader("X-Forwarded-For")).thenReturn("unknown"); - WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); - String actual = clientInfo.getRemoteAddr(requestCycleMock); - assertEquals(expected, actual); - } - - /** * Test default ip address extraction for container request. */ @Test void testExtractFromContainerRequestNoXForwardedFor() { String expected = "10.17.37.8"; + String invalid = "10.17.9.55"; when(servletRequest.getRemoteAddr()).thenReturn(expected); + when(webRequest.getHeader("X-Forwarded-For")).thenReturn(invalid); WebClientInfo clientInfo = new WebClientInfo(requestCycleMock, "No user agent"); String actual = clientInfo.getRemoteAddr(requestCycleMock); assertEquals(expected, actual); } - - /** -* Test X-Forwarded-For ip address extraction when proxy chain is given. -*/ - @Test - void testExtractFromXForwardedForHeaderChainedIps() - { - String expected = "10.17.37.156"; -
buildbot failure in on wicket-master
The Buildbot has detected a new failure on builder wicket-master while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master/builds/1426 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-commit' triggered this build Build Source Stamp: [branch master] 84f62a5cff462eaa3bfaf171b0638c7e7feea30d Blamelist: Emond Papegaaij BUILD FAILED: failed compile Sincerely, -The Buildbot
buildbot failure in on wicket-master-java15
The Buildbot has detected a new failure on builder wicket-master-java15 while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master-java15/builds/168 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-java15-commit' triggered this build Build Source Stamp: [branch master] 84f62a5cff462eaa3bfaf171b0638c7e7feea30d Blamelist: Emond Papegaaij BUILD FAILED: failed compile Sincerely, -The Buildbot
buildbot failure in on wicket-master-java14
The Buildbot has detected a new failure on builder wicket-master-java14 while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master-java14/builds/302 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-java14-commit' triggered this build Build Source Stamp: [branch master] 84f62a5cff462eaa3bfaf171b0638c7e7feea30d Blamelist: Emond Papegaaij BUILD FAILED: failed compile Sincerely, -The Buildbot
buildbot failure in on wicket-master-java13
The Buildbot has detected a new failure on builder wicket-master-java13 while building wicket. Full details are available at: https://ci.apache.org/builders/wicket-master-java13/builds/382 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: bb_slave6_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-wicket-master-java13-commit' triggered this build Build Source Stamp: [branch master] 84f62a5cff462eaa3bfaf171b0638c7e7feea30d Blamelist: Emond Papegaaij BUILD FAILED: failed compile Sincerely, -The Buildbot
[wicket] branch master updated: Do not try to resolve X-Forwarded-For header
This is an automated email from the ASF dual-hosted git repository. papegaaij pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/wicket.git The following commit(s) were added to refs/heads/master by this push: new 84f62a5 Do not try to resolve X-Forwarded-For header 84f62a5 is described below commit 84f62a5cff462eaa3bfaf171b0638c7e7feea30d Author: Emond Papegaaij AuthorDate: Fri Mar 5 13:28:15 2021 +0100 Do not try to resolve X-Forwarded-For header The remote address is reported by HttpServletRequest. Configuration of this property is normally done via the application server. If this is somehow not possible, use XForwardedRequestWrapperFactory. --- .../protocol/http/request/WebClientInfo.java | 40 +++--- 1 file changed, 4 insertions(+), 36 deletions(-) diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java index b5d0544..d8e552c 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/WebClientInfo.java @@ -140,48 +140,16 @@ public class WebClientInfo extends ClientInfo } /** -* When using ProxyPass, requestCycle().getHttpServletRequest(). getRemoteAddr() returns the IP -* of the machine forwarding the request. In order to maintain the clients ip address, the -* server places it in the http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers;>X-Forwarded-For -* Header. -* -* Proxies may also mask the original client IP with tokens like "hidden" or "unknown". -* If so, the last proxy ip address is returned. +* Returns the IP address from {@code HttpServletRequest.getRemoteAddr()}. * * @param requestCycle *the request cycle -* @return remoteAddr IP address of the client, using the X-Forwarded-For header and defaulting -* to: getHttpServletRequest().getRemoteAddr() +* @return remoteAddr IP address of the client, using +* {@code getHttpServletRequest().getRemoteAddr()} */ protected String getRemoteAddr(RequestCycle requestCycle) { ServletWebRequest request = (ServletWebRequest)requestCycle.getRequest(); - HttpServletRequest req = request.getContainerRequest(); - String remoteAddr = request.getHeader("X-Forwarded-For"); - - if (remoteAddr != null) - { - if (remoteAddr.contains(",")) - { - // sometimes the header is of form client ip,proxy 1 ip,proxy 2 ip,...,proxy n ip, - // we just want the client - remoteAddr = Strings.split(remoteAddr, ',')[0].trim(); - } - try - { - // If ip4/6 address string handed over, simply does pattern validation. - InetAddress.getByName(remoteAddr); - } - catch (UnknownHostException e) - { - remoteAddr = req.getRemoteAddr(); - } - } - else - { - remoteAddr = req.getRemoteAddr(); - } - return remoteAddr; + return request.getContainerRequest().getRemoteAddr(); } }