You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2007/10/11 19:13:54 UTC

svn commit: r583886 - /jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/cookie/RFC2965Spec.java

Author: olegk
Date: Thu Oct 11 10:13:53 2007
New Revision: 583886

URL: http://svn.apache.org/viewvc?rev=583886&view=rev
Log:
Test if the host name appears to be a fully qualified DNS name, IPv4 address or IPv6 address

Modified:
    jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/cookie/RFC2965Spec.java

Modified: jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/cookie/RFC2965Spec.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/cookie/RFC2965Spec.java?rev=583886&r1=583885&r2=583886&view=diff
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/cookie/RFC2965Spec.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/cookie/RFC2965Spec.java Thu Oct 11 10:13:53 2007
@@ -212,11 +212,22 @@
      * @return
      */
     private static CookieOrigin adjustEffectiveHost(final CookieOrigin origin) {
-        String effectiveHost = origin.getHost();
-        if (effectiveHost.indexOf('.') < 0) {
-            effectiveHost += ".local";
+        String host = origin.getHost();
+        
+        // Test if the host name appears to be a fully qualified DNS name, 
+        // IPv4 address or IPv6 address
+        boolean isLocalHost = true;
+        for (int i = 0; i < host.length(); i++) {
+            char ch = host.charAt(i);
+            if (ch == '.' || ch == ':') {
+                isLocalHost = false;
+                break;
+            }
+        }
+        if (isLocalHost) {
+            host += ".local";
             return new CookieOrigin(
-                    effectiveHost, 
+                    host, 
                     origin.getPort(), 
                     origin.getPath(), 
                     origin.isSecure());