From: markt
Date: Mon, 9 Nov 2009 14:31:40 +0000 (+0000)
Subject: Patch provided by Cyrille Le Clerc
X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=84b59fc120c0d707a9f5197e0daf6ec77b0ba9e7;p=tomcat7.0
Patch provided by Cyrille Le Clerc
* fix NPE in log statement if protocolHeader has not been defined and the servlet container does not support request.getHeader(null)
* fix mismatch between javadoc and code for filter parameter name "allowedInternalProxies" -> "internalProxies"
* finish javadoc refactoring "XForwardedFilter" -> "RemoteIpFilter"
Also fix some Eclipse warnings
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@834081 13f79535-47bb-0310-9956-ffa450edef68
---
diff --git a/java/org/apache/catalina/filters/RemoteIpFilter.java b/java/org/apache/catalina/filters/RemoteIpFilter.java
index ef34340e8..7710febf9 100644
--- a/java/org/apache/catalina/filters/RemoteIpFilter.java
+++ b/java/org/apache/catalina/filters/RemoteIpFilter.java
@@ -156,8 +156,8 @@ import org.apache.juli.logging.LogFactory;
*
*
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
@@ -173,7 +173,7 @@ import org.apache.juli.logging.LogFactory;
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping>
@@ -182,8 +182,8 @@ import org.apache.juli.logging.LogFactory;
*
*
* | property |
- * Value Before XForwardedFilter |
- * Value After XForwardedFilter |
+ * Value Before RemoteIpFilter |
+ * Value After RemoteIpFilter |
*
*
* | request.remoteAddr |
@@ -229,12 +229,12 @@ import org.apache.juli.logging.LogFactory;
* Sample with trusted proxies
*
*
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
*
*
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
@@ -250,7 +250,7 @@ import org.apache.juli.logging.LogFactory;
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping>
@@ -259,8 +259,8 @@ import org.apache.juli.logging.LogFactory;
*
*
* | property |
- * Value Before XForwardedFilter |
- * Value After XForwardedFilter |
+ * Value Before RemoteIpFilter |
+ * Value After RemoteIpFilter |
*
*
* | request.remoteAddr |
@@ -286,12 +286,12 @@ import org.apache.juli.logging.LogFactory;
* Sample with internal and trusted proxies
*
*
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
*
*
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
@@ -307,7 +307,7 @@ import org.apache.juli.logging.LogFactory;
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping>
@@ -316,8 +316,8 @@ import org.apache.juli.logging.LogFactory;
*
*
* | property |
- * Value Before XForwardedFilter |
- * Value After XForwardedFilter |
+ * Value Before RemoteIpFilter |
+ * Value After RemoteIpFilter |
*
*
* | request.remoteAddr |
@@ -344,12 +344,12 @@ import org.apache.juli.logging.LogFactory;
* Sample with an untrusted proxy
*
*
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
*
*
* <filter>
- * <filter-name>XForwardedFilter</filter-name>
- * <filter-class>fr.xebia.servlet.filter.XForwardedFilter</filter-class>
+ * <filter-name>RemoteIpFilter</filter-name>
+ * <filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
* <init-param>
* <param-name>internalProxies</param-name><param-value>192\.168\.0\.10, 192\.168\.0\.11</param-value>
* </init-param>
@@ -365,7 +365,7 @@ import org.apache.juli.logging.LogFactory;
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping>
@@ -374,8 +374,8 @@ import org.apache.juli.logging.LogFactory;
*
*
* | property |
- * Value Before XForwardedFilter |
- * Value After XForwardedFilter |
+ * Value Before RemoteIpFilter |
+ * Value After RemoteIpFilter |
*
*
* | request.remoteAddr |
@@ -460,9 +460,8 @@ public class RemoteIpFilter implements Filter {
}
if (date == null) {
throw new IllegalArgumentException(value);
- } else {
- return date.getTime();
}
+ return date.getTime();
}
@Override
@@ -470,9 +469,8 @@ public class RemoteIpFilter implements Filter {
Map.Entry> header = getHeaderEntry(name);
if (header == null || header.getValue() == null || header.getValue().isEmpty()) {
return null;
- } else {
- return header.getValue().get(0);
}
+ return header.getValue().get(0);
}
protected Map.Entry> getHeaderEntry(String name) {
@@ -494,9 +492,8 @@ public class RemoteIpFilter implements Filter {
Map.Entry> header = getHeaderEntry(name);
if (header == null || header.getValue() == null) {
return Collections.enumeration(Collections.emptyList());
- } else {
- return Collections.enumeration(header.getValue());
}
+ return Collections.enumeration(header.getValue());
}
@Override
@@ -504,9 +501,8 @@ public class RemoteIpFilter implements Filter {
String value = getHeader(name);
if (value == null) {
return -1;
- } else {
- return Integer.parseInt(value);
}
+ return Integer.parseInt(value);
}
@Override
@@ -580,7 +576,7 @@ public class RemoteIpFilter implements Filter {
protected static final String HTTPS_SERVER_PORT_PARAMETER = "httpsServerPort";
- protected static final String INTERNAL_PROXIES_PARAMETER = "allowedInternalProxies";
+ protected static final String INTERNAL_PROXIES_PARAMETER = "internalProxies";
/**
* Logger
@@ -756,13 +752,13 @@ public class RemoteIpFilter implements Filter {
if (log.isDebugEnabled()) {
log.debug("Incoming request " + request.getRequestURI() + " with originalRemoteAddr '" + request.getRemoteAddr()
- + "', originalRemoteHost='" + request.getRemoteHost() + "', originalSecure='" + request.isSecure()
- + "', originalScheme='" + request.getScheme() + "', original[" + remoteIPHeader + "]='"
- + request.getHeader(remoteIPHeader) + ", original[" + protocolHeader + "]='"
- + request.getHeader(protocolHeader) + "' will be seen as newRemoteAddr='" + xRequest.getRemoteAddr()
- + "', newRemoteHost='" + xRequest.getRemoteHost() + "', newScheme='" + xRequest.getScheme() + "', newSecure='"
- + xRequest.isSecure() + "', new[" + remoteIPHeader + "]='" + xRequest.getHeader(remoteIPHeader) + ", new["
- + proxiesHeader + "]='" + xRequest.getHeader(proxiesHeader) + "'");
+ + "', originalRemoteHost='" + request.getRemoteHost() + "', originalSecure='" + request.isSecure()
+ + "', originalScheme='" + request.getScheme() + "', original[" + remoteIPHeader + "]='"
+ + request.getHeader(remoteIPHeader) + ", original[" + protocolHeader + "]='"
+ + (protocolHeader == null ? null : request.getHeader(protocolHeader)) + "' will be seen as newRemoteAddr='"
+ + xRequest.getRemoteAddr() + "', newRemoteHost='" + xRequest.getRemoteHost() + "', newScheme='"
+ + xRequest.getScheme() + "', newSecure='" + xRequest.isSecure() + "', new[" + remoteIPHeader + "]='"
+ + xRequest.getHeader(remoteIPHeader) + ", new[" + proxiesHeader + "]='" + xRequest.getHeader(proxiesHeader) + "'");
}
chain.doFilter(xRequest, response);
} else {