-
Notifications
You must be signed in to change notification settings - Fork 763
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JDK11 support: FetchHTTPTest: ssl handshake_failure #268
Comments
Looks like the server is not sending a certificate:
failing server side with:
There is a JDK bug mentioning that this occurs with TLSv1.3 when only a DSA certificate is in the keystore. However it looks like we're using an RSA certificate. Applying the suggested workaround of downgrading to TLSv1.2 results in a different exception but seemingly also due to no the server having no certificate.
|
According to the release announcement:
I tested upgrading the unit tests to 9.4.12 and it does indeed appear to solve this issue. |
Fixes the ssl handshake_failure. Support for jdk11 was added in jetty 9.4.14 but we may as well bump to the latest stable version. In jetty 9 it appears the request is logged after the response is sent. Thus it was racing with the assertions that check the client IP. So to fix this rather stashing the 'lastRequest' we just make the server echo the client's IP in a response header. We also have to disable some of the check for testLaxUrlEncoding() as jetty 9 now rejects such requests with a 400 error. The actual request line encoding is still covered though which is the important thing.
Fixes the ssl handshake_failure. Support for jdk11 was added in jetty 9.4.14 but we may as well bump to the latest stable version. In Jetty 9 it appears the request is logged after the response is sent. Thus it was racing with the assertions that check the client IP. So to fix this rather stashing the 'lastRequest' we just make the server echo the client's IP in a response header. Some other minor tweaks were needed due to changes in Jetty behaviour: - We stop checking the length of the raw response. It doesn't tell us anything and easily varies. - Jetty now generates Set-Cookie with a space after the ; - Jetty now lowercases the word "basic" in WWW-Authenticate header - testLaxUrlEncoding(): Jetty now rejects bad paths with a 400 error so we disable the response checks. The actual request line is still checked which is the important thing.
Fixes the ssl handshake_failure. Support for jdk11 was added in jetty 9.4.14 but we may as well bump to the latest stable version. In Jetty 9 it appears the request is logged after the response is sent. Thus it was racing with the assertions that check the client IP. So to fix this rather stashing the 'lastRequest' we just make the server echo the client's IP in a response header. Some other minor tweaks were needed due to changes in Jetty behaviour: - We stop checking the length of the raw response. It doesn't tell us anything and easily varies. - Jetty now generates Set-Cookie with a space after the ; - Jetty now lowercases the word "basic" in WWW-Authenticate header - testLaxUrlEncoding(): Jetty now rejects bad paths with a 400 error so we disable the response checks. The actual request line is still checked which is the important thing.
The assertion is failing because the recorded request is from a previous test case. The actual fetch attempt is failing with an SSL handshake failure. Uncertain yet as to whether the problem is the client or the server (the embedded jetty which the tests run against).
The text was updated successfully, but these errors were encountered: