changeset 7498:257fd79cdef5 jdk7u66-b10

8034200: Test java/net/CookieHandler/LocalHostCookie.java fails after fix of JDK-7169142 Reviewed-by: michaelm
author dmeetry
date Wed, 09 Apr 2014 19:29:30 +0400
parents 86ff4a9d4269
children 326b98940638
files src/share/classes/java/net/CookieManager.java test/java/net/CookieHandler/LocalHostCookie.java
diffstat 2 files changed, 1 insertions(+), 128 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/java/net/CookieManager.java	Mon Apr 28 11:29:28 2014 -0700
+++ b/src/share/classes/java/net/CookieManager.java	Wed Apr 09 19:29:30 2014 +0400
@@ -310,10 +310,7 @@
                         // there is no dot at the beginning of effective request-host,
                         // the default Domain can only domain-match itself.)
                         if (cookie.getDomain() == null) {
-                            String host = uri.getHost();
-                            if (host != null && !host.contains("."))
-                                host += ".local";
-                            cookie.setDomain(host);
+                            cookie.setDomain(uri.getHost());
                         }
                         String ports = cookie.getPortlist();
                         if (ports != null) {
--- a/test/java/net/CookieHandler/LocalHostCookie.java	Mon Apr 28 11:29:28 2014 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-import com.sun.net.httpserver.*;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.*;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.Executors;
-
-/*
- * @test
- * @bug 7169142
- * @summary CookieHandler does not work with localhost
- * @run main/othervm LocalHostCookie
- */
-public class LocalHostCookie {
-
-    public static void main(String[] args) throws Exception {
-        new LocalHostCookie().runTest();
-    }
-
-    public void runTest() throws Exception {
-        Server s = null;
-        try {
-            s = new Server();
-            s.startServer();
-            URL url = new URL("http","localhost", s.getPort(), "/");
-            HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
-            urlConnection.setRequestMethod("GET");
-            urlConnection.setDoOutput(true);
-            urlConnection.connect();
-            urlConnection.getInputStream();
-
-            CookieHandler cookieHandler = CookieHandler.getDefault();
-            if (cookieHandler == null) {
-                cookieHandler = new java.net.CookieManager();
-                CookieHandler.setDefault(cookieHandler);
-            }
-            cookieHandler.put(urlConnection.getURL().toURI(),
-                    urlConnection.getHeaderFields());
-            Map<String, List<String>> map =
-                    cookieHandler.get(urlConnection.getURL().toURI(),
-                    urlConnection.getHeaderFields());
-            if (map.containsKey("Cookie")) {
-                List<String> list = map.get("Cookie");
-                // name-value list will be empty if ".local" is not appended
-                if (list == null || list.size() ==  0) {
-                    throw new RuntimeException("Test failed!");
-                }
-            }
-        } finally {
-            s.stopServer();
-        }
-    }
-
-    class Server {
-        HttpServer server;
-
-        public void startServer() {
-            InetSocketAddress addr = new InetSocketAddress(0);
-            try {
-                server = HttpServer.create(addr, 0);
-            } catch (IOException ioe) {
-                throw new RuntimeException("Server could not be created");
-            }
-
-            server.createContext("/", new MyCookieHandler());
-            server.start();
-        }
-
-        public int getPort() {
-            return server.getAddress().getPort();
-        }
-
-        public void stopServer() {
-            server.stop(0);
-        }
-    }
-
-    class MyCookieHandler implements HttpHandler {
-
-        @Override
-        public void handle(HttpExchange exchange) throws IOException {
-            String requestMethod = exchange.getRequestMethod();
-            if (requestMethod.equalsIgnoreCase("GET")){
-                Headers responseHeaders = exchange.getResponseHeaders();
-                responseHeaders.set("Content-Type", "text/plain");
-                responseHeaders.set("Date", "June 13th 2012");
-                // No domain value set
-                responseHeaders.set("Set-Cookie2", "name=value");
-                exchange.sendResponseHeaders(200, 0);
-                OutputStream os = exchange.getResponseBody();
-                String str = "This is what the server sent!";
-                os.write(str.getBytes());
-                os.flush();
-                os.close();
-            }
-        }
-    }
-}
-