I commited property addition and change mention. Not sure naming is good feel free to change it.
On Thu, Dec 5, 2013 at 5:19 PM, sebb <[email protected]> wrote: > On 5 December 2013 12:52, Philippe Mouawad <[email protected]> > wrote: > > Hello sebb, > > I missed the fact it was a draft , thanks for pointing at this. > > > > How come Java implementation handles it ? > > Do you think we should rollback this or documenting it is enough ? > > > > Can you point me to the paragraph in RFC2616 that talks about Location , > is > > it this one: > > http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 > > Yes; that says: > > Location = "Location" ":" absoluteURI > > > So it means we didn't have a bug ? just a change in behaviour as we > handled > > it according to draft in previous versions < 2.10? > > Depends how you class a bug. > > Unfortunately servers don't always follow the specs - or the specs may > take a while to be updated. > > So sometimes JMeter may need to be more lenient than should be necessary. > > As I already wrote, we need to ensure that the code and documentation > is clear on what we are trying to support. > In this case, if a server keeps to RFC 2616 JMeter will still behave > correctly. > The additional processing for non-absolute URLs does not affect this, > but it does mean that JMeter should be able to cope better with the de > facto behaviour of some servers. > > We could perhaps make the new processing depend on a property, so that > users could switch it off in order to revert to strict RFC2616 mode. > In this case I think it makes sense to allow the relaxed behaviour by > default, as it does not affect well-behaved servers. > > > > Regards > > Philippe > > > > > > On Mon, Dec 2, 2013 at 1:07 AM, sebb <[email protected]> wrote: > > > >> I've just looked again at this. > >> > >> RFC 2616 only allows Location to be an absolute URL. > >> > >> There does not seem to be a current RFC that allows any other kind of > URL. > >> > >> The latest version of draft-ietf-httpbis-p2-semantics [1] has yet to > >> be ratified. > >> > >> At the very least I think we need to document the code to say that the > >> behaviour follows a document that has yet to be ratified. > >> > >> [1] http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-25 > >> > >> On 30 November 2013 09:24, Philippe Mouawad <[email protected] > > > >> wrote: > >> > Hello, > >> > Any feedback? > >> > Thanks > >> > > >> > On Sunday, November 10, 2013, Philippe Mouawad wrote: > >> > > >> >> Did you look at the rfc I pointed at in bugzilla? > >> >> It is allowed to have relative references . > >> >> Or I misunderstand the issue you are pointing at. > >> >> > >> >> With fix we behave like java implementation. > >> >> > >> >> Regards > >> >> > >> >> On Thursday, November 7, 2013, sebb wrote: > >> >> > >> >>> On 6 November 2013 02:11, Philippe Mouawad < > [email protected] > >> > > >> >>> 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, <[email protected]> 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/ > >> >> > >> >> > >> >> > >> >> -- > >> >> Cordialement. > >> >> Philippe Mouawad. > >> >> > >> >> > >> >> > >> >> > >> > > >> > -- > >> > Cordialement. > >> > Philippe Mouawad. > >> > > > > > > > > -- > > Cordialement. > > Philippe Mouawad. > -- Cordialement. Philippe Mouawad.
