jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: svn commit: r1511125 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC3Impl.java src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java xdocs/changes.xml
Date Wed, 07 Aug 2013 14:37:33 GMT
could you give me an example ?
thanks

On Wednesday, August 7, 2013, sebb wrote:

> On 7 August 2013 13:56, Philippe Mouawad <philippe.mouawad@gmail.com<javascript:;>>
> wrote:
> > Hello sebb,
> >
> > I don't think so as for example:
> >
> > http://localhost:8080/?%5B%5D!@$%^*()#
> > Result => http://localhost:8080/?%5B%5D%21%40%24%25%5E*%28%29
> >
> >
> > http://localhost:8080/?%25%5B%5D!@$%^*()#
> > Result => http://localhost:8080/?%25%5B%5D%21%40%24%25%5E*%28%29
> >
>
> These examples only use % after the ? i.e. as part of the query string.
> AFAIK query strings are allowed to contain % characters, so they don't
> get double-encoded by the HC UriBuilder / URLEncodedUtils
>
> If % occurs elsewhere, it will be double-encoded.
>
> > As you can see no double encode or am I missing something ?
> >
> > On Wed, Aug 7, 2013 at 12:44 AM, sebb <sebbaz@gmail.com> wrote:
> >
> >> On 6 August 2013 22:30,  <pmouawad@apache.org> wrote:
> >> > Author: pmouawad
> >> > Date: Tue Aug  6 21:30:55 2013
> >> > New Revision: 1511125
> >> >
> >> > URL: http://svn.apache.org/r1511125
> >> > Log:
> >> > Bug 54482 - HC fails to follow redirects with non-encoded chars
> >> > Bugzilla Id: 54482
> >>
> >> -1
> >>
> >> I don't think this is the solution.
> >>
> >> The method  ConversionUtils.sanitizeUrl(URL) only works for URLs that
> >> are not encoded.
> >>
> >> For example, if the URL contains %25 as the encoded version of %, this
> >> will be re-encoded as %2525.
> >>
> >> See also comments on the Bugzilla issue.
> >>
> >> > Modified:
> >> >
> >>
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC3Impl.java
> >> >
> >>
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
> >> >     jmeter/trunk/xdocs/changes.xml
> >> >
> >> > Modified:
> >>
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC3Impl.java
> >> > URL:
> >>
> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC3Impl.java?rev=1511125&r1=1511124&r2=1511125&view=diff
> >> >
> >>
> ==============================================================================
> >> > ---
> >>
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC3Impl.java
> >> (original)
> >> > +++
> >>
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC3Impl.java
> >> Tue Aug  6 21:30:55 2013
> >> > @@ -23,6 +23,7 @@ import java.io.IOException;
> >> >  import java.io.InputStream;
> >> >  import java.io.OutputStream;
> >> >  import java.net.InetAddress;
> >> > +import java.net.URISyntaxException;
> >> >  import java.net.URL;
> >> >  import java.net.URLDecoder;
> >> >  import java.util.ArrayList;
> >> > @@ -69,6 +70,7 @@ import org.apache.jmeter.protocol.http.c
> >> >  import org.apache.jmeter.protocol.http.control.CacheManager;
> >> >  import org.apache.jmeter.protocol.http.control.CookieManager;
> >> >  import org.apache.jmeter.protocol.http.control.HeaderManager;
> >> > +import org.apache.jmeter.protocol.http.util.ConversionUtils;
> >> >  import org.apache.jmeter.protocol.http.util.EncoderCache;
> >> >  import org.apache.jmeter.protocol.http.util.HTTPArgument;
> >> >  import org.apache.jmeter.protocol.http.util.HTTPConstants;
> >> > @@ -314,7 +316,11 @@ public class HTTPHC3Impl extends HTTPHCA
> >> >                  if (headerLocation == null) { // HTTP protocol
> >> violation, but avoids NPE
> >> >                      throw new IllegalArgumentException("Missing
> >> location header");
> >> >                  }
> >> > -                res.setRedirectLocation(headerLocation.getValue());
> >> > +                try {
> >> > +
> >>  res.setRedirectLocation(ConversionUtils.sanitizeUrl(new
> >> URL(headerLocation.getValue())).toString());
> >> > +                } catch (URISyntaxException e) {
> >> > +                    log.er



-- 
Cordialement.
Philippe Mouawad.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message