Upon updating to NRF SDK 2.4.2, big files can not be downloaded via https.
Not secure download, however, works.
Upon updating to NRF SDK 2.4.2, big files can not be downloaded via https.
Not secure download, however, works.
The reason turned out to be a combination of bugfix in mbedtls and incorrect default constant introduced in sdk-nrfxlib
Basically, unless explicitly set on both client and server side, or agreed upon during in advance, TLS maximum fragment Length should be maximum allowed, i.e. 16384 bytes.
Previously it was not properly checked (see. bugfix above) in mbedtls. Now it is, but the default constant was for a while wrong - 16380 bytes.
So if we server sends us something that in plain text is more that 16380 bytes (usually that would be 16384), download is terminated,
which in case of Zephyr would result in -EIO error on sockets_tls level.
P.S. I decided to post it here in hopes that it helps somebody.
P.P.S. Unfortunately the SDK-NRF repository on Github does not allow opening issues, so I added it here.
Are there any other proper channels for communication SDK issues?
Hi,
Thanks for the report. I have forwarded it to the team.
Regards,
Amanda H.