On 7 January 2011 18:28,  <ma...@apache.org> wrote:
> Author: markt
> Date: Fri Jan  7 18:28:40 2011
> New Revision: 1056445
>
> URL: http://svn.apache.org/viewvc?rev=1056445&view=rev
> Log:
> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50453
> Correctly handle multiple X-Forwarded-For headers in RemoteIpValve
> Patch provided by Jim Riggs
>
> Modified:
>    tomcat/tc6.0.x/trunk/STATUS.txt
>    tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteIpValve.java
>    tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
>
> Modified: tomcat/tc6.0.x/trunk/STATUS.txt
> URL: 
> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1056445&r1=1056444&r2=1056445&view=diff
> ==============================================================================
> --- tomcat/tc6.0.x/trunk/STATUS.txt (original)
> +++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Jan  7 18:28:40 2011
> @@ -201,12 +201,6 @@ PATCHES PROPOSED TO BACKPORT:
>   +1: fhanik - fix indentation
>   -1:
>
> -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50453
> -  Correct handle multiple X-Forwarded-For headers in RemoteIpValve
> -  
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java?r1=1055482&r2=1055481&pathrev=1055482
> -  +1: markt, fhanik, funkman
> -  -1:
> -
>  * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50550
>   Requests for a newly created directory using MKCOL should not result in a 
> 404
>   http://svn.apache.org/viewvc?rev=1055975&view=rev
>
> Modified: 
> tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteIpValve.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteIpValve.java?rev=1056445&r1=1056444&r2=1056445&view=diff
> ==============================================================================
> --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteIpValve.java 
> (original)
> +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteIpValve.java 
> Fri Jan  7 18:28:40 2011
> @@ -19,6 +19,7 @@ package org.apache.catalina.valves;
>
>  import java.io.IOException;
>  import java.util.ArrayList;
> +import java.util.Enumeration;
>  import java.util.Iterator;
>  import java.util.LinkedList;
>  import java.util.List;
> @@ -558,8 +559,17 @@ public class RemoteIpValve extends Valve
>             String remoteIp = null;
>             // In java 6, proxiesHeaderValue should be declared as a 
> java.util.Deque
>             LinkedList<String> proxiesHeaderValue = new LinkedList<String>();
> +            StringBuffer concatRemoteIpHeaderValue = new StringBuffer();

Surely could use StringBuilder here?

> -            String[] remoteIpHeaderValue = 
> commaDelimitedListToStringArray(request.getHeader(remoteIpHeader));
> +            for (Enumeration<String> e = request.getHeaders(remoteIpHeader); 
> e.hasMoreElements();) {
> +                if (concatRemoteIpHeaderValue.length() > 0) {
> +                    concatRemoteIpHeaderValue.append(", ");
> +                }
> +
> +                concatRemoteIpHeaderValue.append(e.nextElement());
> +            }
> +
> +            String[] remoteIpHeaderValue = 
> commaDelimitedListToStringArray(concatRemoteIpHeaderValue.toString());
>             int idx;
>             // loop on remoteIpHeaderValue to find the first trusted remote 
> ip and to build the proxies chain
>             for (idx = remoteIpHeaderValue.length - 1; idx >= 0; idx--) {
>
> Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
> URL: 
> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1056445&r1=1056444&r2=1056445&view=diff
> ==============================================================================
> --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
> +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Fri Jan  7 18:28:40 2011
> @@ -185,6 +185,10 @@
>         exceptions. (markt)
>       </add>
>       <fix>
> +        <bug>50453</bug>: Correctly handle multiple 
> <code>X-Forwarded-For</code>
> +        headers in the RemoteIpValve. Patch provided by Jim Riggs. (markt)
> +      </fix>
> +      <fix>
>         <bug>50459</bug>: Fix thread/classloader binding issues in
>         StandardContext. (slaurent)
>       </fix>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to