jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Pokhilko <a...@ya.ru>
Subject Re: Progressive Migration from HttpClient 4.2.3 to 4.5
Date Tue, 27 Oct 2015 16:03:08 GMT
Thanks, that is most likely the exact reason for the changed behavior.
But it breaks existing scripts functioning, so isn't it a regression for
HTTPClient? Or for JMeter?

Andrey Pokhilko

On 10/27/2015 06:00 PM, Richard Friedman wrote:
> I believe this is because as of 4.4 they added support for RFC 6265 and
> deprecated (but kept as default) old policy.  Then in 4.5 dropped old.
>
> Specifically this change
> https://github.com/apache/httpclient/blob/70489c4bb03491b6ea0bec60904fc78782963a3a/httpclient/src/main/java/org/apache/http/impl/cookie/BasicDomainHandler.java#L121
>         if (domain.startsWith(".")) {
>             domain = domain.substring(1);
>         }
>
> Which means the returned domain name would be bt.com instead of .bt.com ?
>
> RFC 6256
> http://tools.ietf.org/html/rfc6265#section-5.2.3
>
>  If the first character of the attribute-value string is %x2E ("."):
>
>       Let cookie-domain be the attribute-value without the leading %x2E
>       (".") character.
>
>
>
>
> On Tue, Oct 27, 2015 at 11:32 AM, Andrey Pokhilko <apc4@ya.ru> wrote:
>
>> Hi,
>>
>> Today we've found an issue in using HTTPClient 4.5 in JMeter. If we just
>> replace the libraries with no change to JMeter code, it stops processing
>> wildcard domains for cookies. I've failed to understand if it is
>> regression in HTTPClient or something else.
>>
>> I've managed to write a unit test for it, I can commit it into trunk if
>> needed. Unit test works fine on old libraries, but fails with 4.5:
>>
>> package org.apache.jmeter.protocol.http.control;
>>
>> import org.apache.http.cookie.Cookie;
>> import org.apache.jmeter.testelement.property.CollectionProperty;
>> import org.junit.Assert;
>> import org.junit.Test;
>>
>> import java.net.URL;
>> import java.util.List;
>>
>> public class HC4CookieHandlerTest {
>>
>>     @Test public void testAddCookieFromHeader_wildcard() throws Exception {
>>         HC4CookieHandler obj = new HC4CookieHandler("compatibility");
>>         URL url = new URL("https://subdomain.bt.com/page");
>>         CookieManager mgr = new CookieManager();
>>         String headerLine = "SMTRYNO=1; path=/; domain=.bt.com";
>>         obj.addCookieFromHeader(mgr, true, headerLine, url);
>>         CollectionProperty cp = mgr.getCookies();
>>         List<Cookie> res = obj.getCookiesForUrl(cp, url, false);
>>         Assert.assertEquals(1, res.size());
>>         for (Cookie cookie : res) {
>>             Assert.assertEquals(".bt.com", cookie.getDomain());
>>         }
>>     }
>> }
>>
>>
>>
>> Andrey Pokhilko
>>
>> On 07/04/2015 05:35 PM, Philippe Mouawad wrote:
>>> Hello,
>>> HttpClient 4.3 introduced a new set of APIs which makes migration from
>>> 4.2.3 to 4.5 an important work.
>>>
>>> What are the risks and what do you think about the approach of
>> progressive
>>> migration:
>>>
>>>    - We upgrade to  4.5 HttpClient/Mime and 4.4.1 (HttpCore) jars which
>>>    show many deprecations but not broken compilation
>>>    - Once done, we move progressively (not always possible) to 4.5 the
>> code
>>> If this is feasible then it would allow us to fix :
>>>
>>>    - https://bz.apache.org/bugzilla/show_bug.cgi?id=57935
>>>
>>>
>>> Any trace of a migration documentation from 4.2.X to 4.3. ?
>>>
>>
>


Mime
View raw message