You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ol...@apache.org on 2005/01/30 19:51:44 UTC
svn commit: r149137 - in jakarta/commons/proper/httpclient/trunk/src:
java/org/apache/commons/httpclient/cookie/
test/org/apache/commons/httpclient/
test/org/apache/commons/httpclient/cookie/
Author: olegk
Date: Sun Jan 30 10:51:43 2005
New Revision: 149137
URL: http://svn.apache.org/viewcvs?view=rev&rev=149137
Log:
PR #32833 (Cookie with domain .mydomain.com not sent to host mydomain.com)
Contributed by David D. Kilzer <ddkilzer at kilzer.net>
Reviewed by Oleg Kalnichevski, Michael Becke
Modified:
jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieSpecBase.java
jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/NetscapeDraftSpec.java
jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestWebappBase.java
jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieCompatibilitySpec.java
jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieRFC2109Spec.java
Modified: jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieSpecBase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieSpecBase.java?view=diff&r1=149136&r2=149137
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieSpecBase.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/CookieSpecBase.java Sun Jan 30 10:51:43 2005
@@ -1,7 +1,7 @@
/*
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/cookie/CookieSpecBase.java,v 1.28 2004/11/06 19:15:42 mbecke Exp $
* $Revision: 1.28 $
- * $Date: 2004/11/06 19:15:42 $
+ * $Date$
*
* ====================================================================
*
@@ -503,7 +503,8 @@
* @return true if the specified host matches the given domain.
*/
public boolean domainMatch(final String host, final String domain) {
- return host.endsWith(domain);
+ return host.endsWith(domain)
+ || (domain.startsWith(".") && host.endsWith(domain.substring(1)));
}
/**
Modified: jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/NetscapeDraftSpec.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/NetscapeDraftSpec.java?view=diff&r1=149136&r2=149137
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/NetscapeDraftSpec.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/cookie/NetscapeDraftSpec.java Sun Jan 30 10:51:43 2005
@@ -1,7 +1,7 @@
/*
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/cookie/NetscapeDraftSpec.java,v 1.11 2004/05/13 04:02:00 mbecke Exp $
* $Revision: 1.11 $
- * $Date: 2004/05/13 04:02:00 $
+ * $Date$
*
* ====================================================================
*
@@ -194,6 +194,16 @@
} else {
super.parseAttribute(attribute, cookie);
}
+ }
+
+ /**
+ * Performs domain-match as described in the Netscape draft.
+ * @param host The target host.
+ * @param domain The cookie domain attribute.
+ * @return true if the specified host matches the given domain.
+ */
+ public boolean domainMatch(final String host, final String domain) {
+ return host.endsWith(domain);
}
/**
Modified: jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestWebappBase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestWebappBase.java?view=diff&r1=149136&r2=149137
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestWebappBase.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestWebappBase.java Sun Jan 30 10:51:43 2005
@@ -1,7 +1,7 @@
/*
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/test/org/apache/commons/httpclient/TestWebappBase.java,v 1.7 2004/02/22 18:08:50 olegk Exp $
* $Revision: 1.7 $
- * $Date: 2004/02/22 18:08:50 $
+ * $Date$
* ====================================================================
*
* Copyright 1999-2004 The Apache Software Foundation
@@ -49,7 +49,9 @@
* "httpclient.test.webappContext" property.
*
* @author Rodney Waldhoff
- * @version $Id: TestWebappBase.java,v 1.7 2004/02/22 18:08:50 olegk Exp $
+ * @version $Id$
+ *
+ * @deprecated
*/
public abstract class TestWebappBase extends TestLocalHostBase {
Modified: jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieCompatibilitySpec.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieCompatibilitySpec.java?view=diff&r1=149136&r2=149137
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieCompatibilitySpec.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieCompatibilitySpec.java Sun Jan 30 10:51:43 2005
@@ -1,7 +1,7 @@
/*
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/test/org/apache/commons/httpclient/cookie/TestCookieCompatibilitySpec.java,v 1.7 2004/09/14 20:11:32 olegk Exp $
* $Revision: 1.7 $
- * $Date: 2004/09/14 20:11:32 $
+ * $Date$
* ====================================================================
*
* Copyright 1999-2004 The Apache Software Foundation
@@ -790,6 +790,15 @@
CookieSpec cookiespec = new CookieSpecBase();
cookiespec.validate("sourceforge.net", 80, "/", false, cookie);
+ }
+
+ public void testSecondDomainLevelCookieMatch() throws Exception {
+ Cookie cookie = new Cookie(".sourceforge.net", "name", null, "/", null, false);
+ cookie.setDomainAttributeSpecified(true);
+ cookie.setPathAttributeSpecified(true);
+
+ CookieSpec cookiespec = new CookieSpecBase();
+ assertTrue(cookiespec.match("sourceforge.net", 80, "/", false, cookie));
}
public void testMatchNullHost() throws Exception {
Modified: jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieRFC2109Spec.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieRFC2109Spec.java?view=diff&r1=149136&r2=149137
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieRFC2109Spec.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/cookie/TestCookieRFC2109Spec.java Sun Jan 30 10:51:43 2005
@@ -1,7 +1,7 @@
/*
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/test/org/apache/commons/httpclient/cookie/TestCookieRFC2109Spec.java,v 1.3 2004/06/05 16:49:20 olegk Exp $
* $Revision: 1.3 $
- * $Date: 2004/06/05 16:49:20 $
+ * $Date$
* ====================================================================
*
* Copyright 1999-2004 The Apache Software Foundation
@@ -222,6 +222,15 @@
}
}
+ public void testSecondDomainLevelCookieMatch() throws Exception {
+ Cookie cookie = new Cookie(".sourceforge.net", "name", null, "/", null, false);
+ cookie.setDomainAttributeSpecified(true);
+ cookie.setPathAttributeSpecified(true);
+
+ CookieSpec cookiespec = new RFC2109Spec();
+ assertFalse(cookiespec.match("sourceforge.net", 80, "/", false, cookie));
+ }
+
public void testParseWithWrongPath() throws Exception {
Header header = new Header("Set-Cookie",
"cookie-name=cookie-value; domain=127.0.0.1; path=/not/just/root");
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org