-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
3.6.0 fails in curl CI where 3.5.2 works #9210
Comments
The most prominent change in Mbed TLS 3.6.0 is that TLS 1.3 is now enabled by default. Is the failing connection now using TLS 1.3? |
It negotiates 0x304 with our test server. |
Thanks for checking! That's TLS 1.3 (TLS version encodings are weird). I've been checking, and unfortunately we have a regression in Mbed TLS 3.6.0 where if you use the default configuration, the library now tries to negotiate TLS 1.3 in a state where it can't. WorkaroundsCall or Call |
Thanks, but calling I found out that this error happens in the tests that have peer verification off. We seem to then not load any trust anchors into the |
We don't support disabling server authentication in TLS 1.3. That's a separate matter, which could be its own feature request. Does |
I believe this makes it the first TLS library that does this. What makes you think breaking applications that upgrade from 3.5 to 3.6 is an acceptable outcome?
The tests with verification seem to work without |
Ok, I managed to override the changed verification behaviour. I have all tests passing now except one. This one opens 50 HTTP/1.1 connections to a local server and the handshake fails with "(-0x7F00) SSL - Memory allocation failed". There is no way the process ran out of memory. Some bug lurking there probably. Related to my adaptions for 3.6.0: I get now |
So I conclude that you're already calling
This probably needs to be increased (edit
32 is a compromise between highly constrained platforms where it's a lot of memory, and high-end platforms where it's too small. I don't think it's a good default value though. (Yes, I picked 32 a long time ago, but this was in a proof-of-concept, we should have revised it before going to production.) |
Indeed we call that in our connection setup. Sorry for being not clear about it earlier. Interesting to know about |
Possibly related to #9134 and #8749
I think we have encountered this elsewhere in curl w/ mbedtls but I don't recall the issue. Why was this change made? |
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam codes, see curl/curl@0c4b4c1 and curl/curl@5f9017d This snapshot contains all the commits above. Fixes openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam codes, see curl/curl@0c4b4c1 and curl/curl@5f9017d This snapshot contains all the commits above. Fixes openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam code, see curl/curl@0c4b4c1 and curl/curl@5f9017d This commit includes patches generated from upstream commits. fix openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam code, see curl/curl@0c4b4c1 and curl/curl@5f9017d This commit includes patches generated from upstream commits. fix openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam code, see curl/curl@0c4b4c1 and curl/curl@5f9017d This commit includes patches generated from upstream commits. fix openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam code, see curl/curl@0c4b4c1 and curl/curl@5f9017d This commit includes patches generated from upstream commits. fix openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam code, see curl/curl@0c4b4c1 and curl/curl@5f9017d This commit includes patches generated from upstream commits. fix openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
tlsv1.3 support is broken in curl 8.8.0 with mbedtls 3.6.0. See curl/curl#13653 and Mbed-TLS/mbedtls#9210 for more details. A workaround was implemented in upsteam code, see curl/curl@0c4b4c1 and curl/curl@5f9017d This commit includes patches generated from upstream commits. fix openwrt#24365 openwrt#24386 Signed-off-by: Ryan Keane <the.ra2.ifv@gmail.com>
All the issues causing the failures mentioned here have been fixed in Mbed TLS 3.6.1, so I'm closing this issue. Please give the new version a try and let us know if it works for you! |
Summary
Building current curl master with mbedtls 3.6.0 shows many test failures where there were none with 3.5.2.
System information
Mbed TLS version: 3.6.0
Operating system and version: macOS
Configuration (if not default, please attach
mbedtls_config.h
): defaultCompiler and options (if you used a pre-built binary, please indicate how you obtained it): macos gcc
Additional environment information:
Expected behaviour
The curl test suite should succeed.
Actual behaviour
In the failed test cases, curl logs:
Steps to reproduce
Build curl master with mbedtls 3.6.0. Run
make test
in the curl checkout.Additional information
There is a curl issue open related to this: curl/curl#13653
The text was updated successfully, but these errors were encountered: