225 Commits

Author SHA1 Message Date
Daniel Fuchs
f40220f578 8238990: java/net/httpclient/HandshakeFailureTest.java failed against TLSv1.3 on Windows
The SSLTube and SSLFlowDelegate are improved to wrap any non-SSL exception that occur during the handshake in an SSLHandshakeException.

Reviewed-by: chegar
2020-02-20 20:04:15 +00:00
John Jiang
446f59a26c 8234718: java/net/httpclient tests should cover TLSv1.3
Reviewed-by: dfuchs
2020-02-13 21:42:31 +08:00
John Jiang
fbca3fa710 8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version
Reviewed-by: dfuchs
2020-02-11 08:36:02 +08:00
Mikael Vidstedt
3318314c7c 8237589: Fix copyright header formatting
Reviewed-by: jjg, serb, iris, jwilhelm
2020-01-21 14:23:01 -08:00
Daniel Fuchs
c6da6681d4 8236859: WebSocket over authenticating proxy fails with NPE
This change fixes several issues with WebSocket and proxy authentication. The AuthenticationFilter is changed to support an authenticating server accessed through an authenticating proxy. MultiExchange is fixed to close the previous connection if a new connection is necessary to establish the websocket (websocket connections are not cached and must be closed in that case). WebSocket OpeningHandshake is fixed to close the connection (without creating the RawChannel) if the opening handshake doesn't result in 101 upgrade protocol.

Reviewed-by: prappo, chegar
2020-01-17 17:55:06 +00:00
Julia Boes
d948bfd584 8232853: AuthenticationFilter.Cache::remove may throw ConcurrentModificationException
Change implementation to use iterator instead of plain LinkedList

Reviewed-by: dfuchs, vtewari
2019-11-08 11:15:16 +00:00
Daniel Fuchs
eaba9fe23b 8233403: Improve verbosity of some httpclient tests
Improve the verbosity of some httpclient tests to help diagnosis of intermittent failures. Also fixes ShortRequestBody test.

Reviewed-by: chegar
2019-11-07 16:18:02 +00:00
Chris Hegarty
9f6af13f9d 8232367: Update the jdk/java/net/httpclient tests to RS TCK 1.0.3
Reviewed-by: dfuchs
2019-11-04 10:06:59 +00:00
Daniel Fuchs
b3477399d0 8232625: HttpClient redirect policy should be more conservative
When enabled, HttpClient redirect is fixed to drop the body when the request method is changed, and to relay any redirection code it does not understand to the caller.

Reviewed-by: chegar
2019-10-23 15:54:39 +01:00
Daniel Fuchs
ecde34ee35 8231449: HttpClient’s client ssl certificate authentication seems to be broken
SSLFlowDelegate.Reader and SubscriberWrapper are changed to better cooperate on when more demand should be requested from upstream. The issue encountered in this scenario was triggered by a large certificate which caused the SSLFlowDelegate to stop requesting data from upstream during the handshake although the engine handshake status was NEED_UNWRAP.

Reviewed-by: chegar
2019-10-16 14:50:53 +01:00
Daniel Fuchs
8e98ce54bf 8231506: Fix some instabilities in a few networking tests
Reviewed-by: alanb, chegar, msheppar
2019-10-01 12:10:33 +01:00
Chris Hegarty
0b881387f2 8231504: Update networking tests to avoid implicit dependency on the system proxies
Reviewed-by: dfuchs
2019-09-27 09:55:35 +01:00
Patrick Concannon
11d43732bc 8217825: Verify @AfterTest is used correctly in WebSocket tests
Remove @AfterTest tags; added in explicit closing of resources e.g. httpServer, webSocket, etc

Reviewed-by: dfuchs, prappo
2019-09-23 16:53:16 +01:00
Daniel Fuchs
10e4fd4b95 8230526: jdk.internal.net.http.PlainProxyConnection is never reused by HttpClient
Fixed the PlainProxyConnection lookup key.

Reviewed-by: chegar
2019-09-09 18:23:39 +01:00
Julia Boes
fb3b0ab1fb 8230000: some httpclients testng tests run zero test
Two tests needed to declared their test methods public, the last one was a simple abstract framework for subclasses and needed its @test keyword removed.

Reviewed-by: chegar, aefimov, dfuchs
2019-08-26 14:48:12 +01:00
Aleksei Efimov
b4a7fb856b 8228508: [TESTBUG] java/net/httpclient/SmokeTest.java fails on Windows7
Reviewed-by: dfuchs, chegar
2019-08-13 16:11:28 +01:00
Patrick Concannon
9f7cbf60e4 8228970: AssertionError in ResponseSubscribers$HttpResponseInputStream
HttpResponseInputStream::read(byte[],int,int) now implements the same check than the InputStream::read(byte[],int,int).

Reviewed-by: prappo, chegar, dfuchs
2019-08-08 18:44:11 +01:00
Pavel Rappo
3395bb591b 8226602: Test convenience reactive primitives from java.net.http with RS TCK
Reviewed-by: chegar, dfuchs
2019-07-02 13:25:51 +01:00
Michael McMahon
faea44aec3 8222968: ByteArrayPublisher is not thread-safe resulting in broken re-use of HttpRequests
Reviewed-by: chegar, dfuchs
2019-06-28 11:26:07 +01:00
Pavel Rappo
b870874d22 Merge 2019-06-19 12:17:22 +01:00
Pavel Rappo
d49e648148 8226303: Examine the HttpRequest.BodyPublishers for exception handling
Reviewed-by: chegar
2019-06-18 14:12:06 +01:00
Chris Hegarty
d577d9c678 8226319: Add forgotten test/jdk/java/net/httpclient/BodySubscribersTest.java
Reviewed-by: dfuchs, prappo
2019-06-18 18:38:53 +01:00
Jaikiran Pai
a92f0016f3 8217705: HttpClient - wrong exception type when bad status line is received
Throw a ProtocolException if the status code in the HTTP response's status line isn't a 3-digit integer

Reviewed-by: dfuchs
2019-06-14 10:19:04 +05:30
Daniel Fuchs
853da81cfe 8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy
HttpClient no longer filters out system host header when sending tunelling CONNECT request to proxy

Reviewed-by: michaelm
2019-04-18 17:56:46 +01:00
Daniel Fuchs
47b9d898ab 8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends
When a non WebSocket connection is not returned to the pool, it needs to be closed even if HttpConnection::isOpen yields false.

Reviewed-by: chegar, michaelm
2019-03-28 12:16:36 +00:00
Arthur Eubanks
0c2b7c4fc3 8220575: Replace hardcoded 127.0.0.1 in URLs with new URI builder
Reviewed-by: dfuchs, chegar
2019-03-27 09:06:43 -07:00
Arthur Eubanks
ef9ce3be1e 8220083: Use InetAddress.getLoopbackAddress() in place of 127.0.0.1 for some tests
Tests that hardcode "127.0.0.1" fail in an environment where only IPv6 is available and IPv4 is not.

Reviewed-by: chegar, dfuchs, michaelm
2019-02-27 13:34:40 -08:00
Chris Hegarty
ac5daa7a22 Merge 2019-02-08 13:07:44 +00:00
Chris Hegarty
bba5ddd08f Merge 2019-02-08 12:44:16 +00:00
Chris Hegarty
fb05ae21bb 8218662: Allow 204 responses with Content-Length:0
Reviewed-by: michaelm
2019-02-08 12:23:16 +00:00
Chris Hegarty
10a281c485 8218546: Unable to connect to https://google.com using java.net.HttpClient
Reviewed-by: dfuchs
2019-02-08 11:26:21 +00:00
Daniel Fuchs
6e04e7659a 8216562: UnknownBodyLength sometimes fails due to "Connection reset by peer"
Uses a longer linger time and avoids closing socket too early.

Reviewed-by: chegar
2019-01-30 18:21:06 +00:00
Chris Hegarty
02924f478b 8217976: test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java fails intermittently
Reviewed-by: dfuchs
2019-01-29 16:12:12 +00:00
Daniel Fuchs
6dcfd0f93a 8217882: java/net/httpclient/MaxStreams.java failed once
Added some more traces to help diagnosis

Reviewed-by: bpb
2019-01-28 18:49:34 +00:00
Daniel Fuchs
6b64f80be4 8217903: java/net/httpclient/Response204.java fails with 404
Fixed test to use loopback address - this looks like a port reuse issue.

Reviewed-by: chegar
2019-01-28 18:45:34 +00:00
Daniel Fuchs
8faf2074b1 8210130: java/net/httpclient/UnknownBodyLengthTest.java failed
The fix improves the test robustness by making it retry once in case of IO/Connect exception.

Reviewed-by: chegar
2019-01-28 15:24:41 +00:00
Chris Hegarty
46f4ab603b 8217429: WebSocket over authenticating proxy fails to send Upgrade headers
Reviewed-by: dfuchs, prappo
2019-01-28 13:51:16 +00:00
Daniel Fuchs
7f10cbedd5 8217627: HttpClient: The API documentation of BodySubscribers::mapping promotes bad behavior
The API documentation is updated to steer away from blocking in the mapper function, and an alternative is suggested.

Reviewed-by: chegar
2019-01-25 18:13:25 +00:00
Daniel Fuchs
a8ae1c1332 8217264: HttpClient: Blocking operations in mapper function do not work as documented
Ensures that a new task is spawned when calling getBody() on a mapping BodySubscriber.

Reviewed-by: chegar
2019-01-24 12:32:42 +00:00
Michael McMahon
d089a4ae51 8217237: HttpClient does not deal well with multi-valued WWW-Authenticate challenge headers
Reviewed-by: chegar, dfuchs
2019-01-17 15:24:20 +00:00
Daniel Fuchs
3b68bb2960 8217094: HttpClient SSL race if a socket IOException is raised before ALPN is available
The patch makes suer that the SSLFlowDelegate's ALPN CF is always completed

Reviewed-by: chegar
2019-01-16 19:09:16 +00:00
Daniel Fuchs
ca77adf19f 8216974: HttpConnection not returned to the pool after 204 response
MultiExchange now call nullBody() on Exchange after receiving 204

Reviewed-by: chegar
2019-01-15 11:34:20 +00:00
Daniel Fuchs
6627b03332 8216498: Confusing and unneeded wrapping of SSLHandshakeException
[httpclient] Avoid wrapping SSLHandshakeException in plain IOException

Reviewed-by: chegar
2019-01-11 14:48:19 +00:00
Roger Riggs
48d68d182a 8214014: Remove vestiges of gopher: protocol proxy support
Reviewed-by: lancea, alanb
2018-11-28 16:04:36 -05:00
Michael McMahon
028f2e14b3 8213189: Make restricted headers in HTTP Client configurable and remove Date by default
Reviewed-by: dfuchs
2018-11-14 14:23:21 +00:00
Chris Hegarty
84d6099da9 8213296: Fix legal headers in test/jdk/java/net
Reviewed-by: alanb, dfuchs
2018-11-02 16:11:29 +00:00
Michael McMahon
ae21c81dd7 8212926: HttpClient does not retrieve files with large sizes over HTTP/1.1
Reviewed-by: chegar, dfuchs
2018-10-25 12:09:41 +01:00
Chris Hegarty
cea4eef60a 8212695: Add explicit timeout to several HTTP Client tests
Reviewed-by: dfuchs, michaelm
2018-10-22 12:25:31 +01:00
Michael McMahon
b9279ef850 8211437: java.net.http.HttpClient hangs on 204 reply without Content-length 0
Reviewed-by: chegar, dfuchs
2018-10-19 14:23:43 +01:00
John Jiang
4fe2edae59 8211978: Move testlibrary/jdk/testlibrary/SimpleSSLContext.java and testkeys to network testlibrary
Move SimpleSSLContext.java and testkeys to test/lib/jdk/test/lib/net

Reviewed-by: chegar
2018-10-15 22:47:03 +08:00