jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: svn commit: r1538291 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/sampler/ src/protocol/http/org/apache/jmeter/protocol/http/util/ xdocs/
Date Thu, 07 Nov 2013 00:35:03 GMT
On 6 November 2013 02:11, Philippe Mouawad <philippe.mouawad@gmail.com> wrote:
> Is there something wrong or it's just a note ypu make ?
> Thanks for clarifying.

It may be something wrong. We should not change location URLs except
those that are supposed to be changed.

It would therefore be better (and simpler) to check the location URL
and fix up any that start with "/" - any others can be left alone.

> On Wednesday, November 6, 2013, sebb wrote:
>
>> On 2 November 2013 21:53,  <pmouawad@apache.org> wrote:
>> > Author: pmouawad
>> > Date: Sat Nov  2 21:53:49 2013
>> > New Revision: 1538291
>> >
>> > URL: http://svn.apache.org/r1538291
>> > Log:
>> > Bug 55717 - Bad handling of Redirect when URLs are in relative format by
>> HttpClient4 and HttpClient31
>> > Bugzilla Id: 55717
>> >
>> > 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/src/protocol/http/org/apache/jmeter/protocol/http/util/ConversionUtils.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=1538291&r1=1538290&r2=1538291&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
>> Sat Nov  2 21:53:49 2013
>> > @@ -321,7 +321,12 @@ public class HTTPHC3Impl extends HTTPHCA
>> >                      throw new IllegalArgumentException("Missing
>> location header");
>> >                  }
>> >                  try {
>> > -
>>  res.setRedirectLocation(ConversionUtils.sanitizeUrl(new
>> URL(headerLocation.getValue())).toString());
>> > +                    String redirectLocation = headerLocation.getValue();
>> > +                    if(!(redirectLocation.startsWith("http://
>> ")||redirectLocation.startsWith("https://"))) {
>> > +                        redirectLocation =
>> ConversionUtils.buildFullUrlFromRelative(url, redirectLocation);
>> > +                    }
>> > +
>> > +
>>  res.setRedirectLocation(ConversionUtils.sanitizeUrl(new
>> URL(redirectLocation)).toString());
>> >                  } catch (Exception e) {
>> >                      log.error("Error sanitizing
>> URL:"+headerLocation.getValue()+", message:"+e.getMessage());
>> >                  }
>> >
>> > Modified:
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java?rev=1538291&r1=1538290&r2=1538291&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> (original)
>> > +++
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> Sat Nov  2 21:53:49 2013
>> > @@ -332,7 +332,10 @@ public class HTTPHC4Impl extends HTTPHCA
>> >                  if (headerLocation == null) { // HTTP protocol
>> violation, but avoids NPE
>> >                      throw new IllegalArgumentException("Missing I
>> thought redirects did not allow relative references?
>>
>> > +            // A relative reference that does not begin with a
>> > +            // slash character is termed a relative-path reference
>> > +            // We need to merge a relative-path reference with the path
>> of the base URI
>> > +            // http://tools.ietf.org/html/rfc3986#section-5.2.3
>> > +            if(lastUrl.getPath().isEmpty()) {
>> > +                // If the base URI has a defined authority component
>> and an empty
>> > +                // path, then return a string consisting of "/"
>> concatenated with the
>> > +                // reference's path; otherwise,
>> > +                builder.append("/").append(redirectLocation);
>> > +            } else {
>> > +                // string consisting of the reference's path component
>> > +                // appended to all but the last segment of the base
>> URI's path (i.e.,
>> > +                // excluding any characters after the right-most "/" in
>> the base URI
>> > +                // path, or excluding the entire base URI path if it
>> does not contain
>> > +                // any "/" characters).
>> > +                String path = lastUrl.getPath();
>> > +                int index = path.lastIndexOf("/");
>> > +                if(index == -1) {
>> > +                    builder.append("/").append(redirectLocation);
>> > +                } else {
>> > +                    builder.append(path.substring(0, index+1))
>> > +                        .append(redirectLocation);
>> > +                }
>> > +            }
>> > +        }
>> > +        return builder.toString();
>> > +    }
>> >  }
>> >
>> > Modified: jmeter/trunk/xdocs/changes.xml
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1538291&r1=1538290&r2=1538291&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/xdocs/changes.xml (original)
>> > +++ jmeter/trunk/xdocs/changes.xml Sat Nov  2 21:53:49 2013
>> > @@ -128,6 +128,7 @@ A workaround is to use a Java 7 update 4
>> >
>> >  <h3>HTTP Samplers and Proxy</h3>
>> >  <ul>
>> > +<li><bugzilla>55717</bugzilla> - Bad handling of Redirect
when URLs are
>> in relative format by HttpClient4 and HttpClient31</li>
>> >  </ul>
>> >
>> >  <h3>Other Samplers</h3>
>> >
>> >
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.

Mime
View raw message