-
Notifications
You must be signed in to change notification settings - Fork 442
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
Make lwip to work on u-boot and mbedtl v3.6 #47
base: master
Are you sure you want to change the base?
Conversation
A minimal set of changes to make the LWIP mbedtls app compatible with the latest mbedTLS 3.6.x branch. Only TLS 1.2 with LWIP http client app, and OS_SYS=0 (U-Boot) have been tested. More changes might be required in other setup combinations. Signed-off-by: Javier Tia <[email protected]>
When using the http-client LWIP app in U-Boot (OS_SYS=0), the handshake fails because LWIP doesn't send TCP packets after it initiates. Signed-off-by: Javier Tia <[email protected]>
SNI, or Server Name Indication, is an addition to the TLS encryption protocol that enables a client device to specify the domain name it is trying to reach in the first step of the TLS handshake, preventing common name mismatch errors and not reaching to HTTPS server that enforce this condition. Signed-off-by: Javier Tia <[email protected]>
The current code support mbedTLS 2.28. Since we are using a newer version in U-Boot, update the necessary accessors and the lwIP codebase to work with mbedTLS 3.6.0. It's worth noting that the patches are already sent to lwIP [0] While at it enable LWIP_ALTCP_TLS and enable TLS support in lwIP [0] lwip-tcpip/lwip#47 Signed-off-by: Javier Tia <[email protected]> Acked-by: Jerome Forissier <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
SNI, or Server Name Indication, is an addition to the TLS encryption protocol that enables a client device to specify the domain name it is trying to reach in the first step of the TLS handshake, preventing common name mismatch errors and not reaching to HTTPS server that enforce this condition. Since most of the websites require it nowadays add support for it. It's worth noting that this is already sent to lwIP [0] [0] lwip-tcpip/lwip#47 Signed-off-by: Javier Tia <[email protected]> Reviewed-by: Jerome Forissier <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
This is a known missing feature; * [lwip-tcpip#47][gh-lwip-pr] * [lwip-tcpip/lwip@c53c9d020][gh-lwip-commit] Added here again for compatibility with [pico-sdk][gh-pico] v1.5.x. See discussion in [marceloalcocer/picohttps#1][gh-issue] for more details. [gh-lwip-pr]: lwip-tcpip#47 [gh-lwip-commit] lwip-tcpip@c53c9d0 [gh-pico]: https://github.com/raspberrypi/pico-sdk [gh-issue]: marceloalcocer/picohttps#1 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Javier,
please see the 3 review comments.
Regards, Simon
Hi Simon, These changes are old, and they have changed a lot since this PR. As there was no review here or GNU savanath, all the changes were reviewed and merged in U-Boot. I could discuss with the U-Boot community to bring back those changes plus more others if you're interested. |
While adding
https://
support to U-Boot, several issues were found while using http client app from lwip with SSL support from mbedtls. Further details are in the commit messages.