Author: markt
Date: Mon Nov 9 14:31:40 2009
New Revision: 834081
URL: http://svn.apache.org/viewvc?rev=834081&view=rev
Log:
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
Modified:
tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java
Modified: tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=834081&r1=834080&r2=834081&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java Mon Nov
9 14:31:40 2009
@@ -156,8 +156,8 @@
* </p>
* <code><pre>
* <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 @@
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
@@ -182,8 +182,8 @@
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
@@ -229,12 +229,12 @@
* <strong>Sample with trusted proxies</strong>
* </p>
* <p>
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
* </p>
* <code><pre>
* <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 @@
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
@@ -259,8 +259,8 @@
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
@@ -286,12 +286,12 @@
* <strong>Sample with internal and trusted proxies</strong>
* </p>
* <p>
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
* </p>
* <code><pre>
* <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 @@
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
@@ -316,8 +316,8 @@
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
@@ -344,12 +344,12 @@
* <strong>Sample with an untrusted proxy</strong>
* </p>
* <p>
- * XForwardedFilter configuration:
+ * RemoteIpFilter configuration:
* </p>
* <code><pre>
* <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 @@
* </filter>
*
* <filter-mapping>
- * <filter-name>XForwardedFilter</filter-name>
+ * <filter-name>RemoteIpFilter</filter-name>
* <url-pattern>/*</url-pattern>
* <dispatcher>REQUEST</dispatcher>
* </filter-mapping></pre></code>
@@ -374,8 +374,8 @@
* <table border="1">
* <tr>
* <th>property</th>
- * <th>Value Before XForwardedFilter</th>
- * <th>Value After XForwardedFilter</th>
+ * <th>Value Before RemoteIpFilter</th>
+ * <th>Value After RemoteIpFilter</th>
* </tr>
* <tr>
* <td>request.remoteAddr</td>
@@ -460,9 +460,8 @@
}
if (date == null) {
throw new IllegalArgumentException(value);
- } else {
- return date.getTime();
}
+ return date.getTime();
}
@Override
@@ -470,9 +469,8 @@
Map.Entry<String, List<String>> 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<String, List<String>> getHeaderEntry(String name) {
@@ -494,9 +492,8 @@
Map.Entry<String, List<String>> header = getHeaderEntry(name);
if (header == null || header.getValue() == null) {
return
Collections.enumeration(Collections.<String>emptyList());
- } else {
- return Collections.enumeration(header.getValue());
}
+ return Collections.enumeration(header.getValue());
}
@Override
@@ -504,9 +501,8 @@
String value = getHeader(name);
if (value == null) {
return -1;
- } else {
- return Integer.parseInt(value);
}
+ return Integer.parseInt(value);
}
@Override
@@ -580,7 +576,7 @@
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 @@
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 {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]