From 2d607c9cd19bec5d4a90cb4760fba3cf83bcf982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jeli=C5=84ski?= Date: Thu, 30 Mar 2023 05:15:19 +0000 Subject: [PATCH] 8262294: java/net/httpclient/ProxyAuthDisabledSchemes.java fails with HTTP/1.1 parser received no bytes Reviewed-by: dfuchs, jpai --- .../share/classes/jdk/internal/net/http/Exchange.java | 2 +- .../classes/jdk/internal/net/http/HttpRequestImpl.java | 6 +----- test/jdk/java/net/httpclient/DigestEchoServer.java | 1 + test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java | 2 +- 4 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java b/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java index 7b1a241d1c6..6f40e9e7051 100644 --- a/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java +++ b/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java @@ -533,7 +533,7 @@ final class Exchange { Function, CompletableFuture> after407Check; bodyIgnored = null; if (request.expectContinue()) { - request.addSystemHeader("Expect", "100-Continue"); + request.setSystemHeader("Expect", "100-Continue"); Log.logTrace("Sending Expect: 100-Continue"); // wait for 100-Continue before sending body after407Check = this::expectContinue; diff --git a/src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java b/src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java index 3e5da6d4c14..82425127f58 100644 --- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java +++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, 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 @@ -360,10 +360,6 @@ public class HttpRequestImpl extends HttpRequest implements WebSocketRequest { @Override public Optional version() { return version; } - void addSystemHeader(String name, String value) { - systemHeadersBuilder.addHeader(name, value); - } - @Override public void setSystemHeader(String name, String value) { systemHeadersBuilder.setHeader(name, value); diff --git a/test/jdk/java/net/httpclient/DigestEchoServer.java b/test/jdk/java/net/httpclient/DigestEchoServer.java index 6f87dc68cb1..970be335b82 100644 --- a/test/jdk/java/net/httpclient/DigestEchoServer.java +++ b/test/jdk/java/net/httpclient/DigestEchoServer.java @@ -699,6 +699,7 @@ public abstract class DigestEchoServer implements HttpServerAdapters { throw new InternalError(key + ": Invalid combination scheme=" + schemeType + " authType=" + authType); } + break; case NONE: // No authentication at all. ctxt.addFilter(new HttpNoAuthFilter(key, authType)); diff --git a/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java b/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java index 5776e240ba8..84b29449d67 100644 --- a/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java +++ b/test/jdk/java/net/httpclient/ProxyAuthDisabledSchemes.java @@ -27,7 +27,7 @@ * headers directly when connecting with a server, and * it verifies that the client honor the jdk.http.auth.*.disabledSchemes * net properties. - * @bug 8087112 + * @bug 8087112 8262294 * @library /test/lib /test/jdk/java/net/httpclient/lib * @build jdk.test.lib.net.SimpleSSLContext DigestEchoServer DigestEchoClient * ReferenceTracker ProxyAuthDisabledSchemes