mirror of
https://github.com/curl/curl.git
synced 2026-08-24 23:43:40 +03:00
mbedtls: add support for 4.0.0
After this patch libcurl requires (as already documented)
the `curl_global_init()` call when using the `curl_formadd()` API with
mbedTLS.
Note: NTLM is not supported with mbedTLS 4+, because it lacks
the necessary crypto primitive: DES.
Also:
- lib: de-dupe mbedTLS minimum version checks into `curl_setup.h`.
- lib: initialize PSA Crypto as part of `curl_global_init()`.
For MD5, SHA-256, `curl_formadd()`, and MultiSSL builds with mbedTLS
but where mbedTLS isn't the default backend.
- lib1308: fix to call `curl_global_init()` (for the Form API).
- curl_ntlm_core: disable with mbedTLS 4+.
- md4: disable mbedTLS implementation when building against 4.x.
- md5: use mbedTLS PSA Crypto API when available, otherwise use
the default local implementation.
- sha256: use mbedTLS PSA Crypto API when available, otherwise use
the default local implementation.
- vtls/mbedtls: drop PSA Crypto initialization in favor of
`curl_global_init()`.
- vtls/mbedtls: use PSA Crypto random API with all mbedTLS versions.
- vtls/mbedtls: do the same for the SHA-256 callback.
- autotools: detect mbedTLS 4+, and disable NTLM for 3.x.
- cmake: disable NTLM for mbedTLS 3.x.
- GHA/linux: keep building mbedTLS 3.x manually and use it in
an existing job, while also enabling pytest in it.
- GHA/linux: bump to mbedTLS 4.0.0.
Closes #19075
Closes #19074
Refs:
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-4.0.0
https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-4.0.0/docs/4.0-migration-guide.md
https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-4.0.0/tf-psa-crypto/docs/1.0-migration-guide.md [404]
https://github.com/Mbed-TLS/TF-PSA-Crypto/blob/tf-psa-crypto-1.0.0/docs/1.0-migration-guide.md
https://github.com/Mbed-TLS/TF-PSA-Crypto/blob/tf-psa-crypto-1.0.0/docs/psa-transition.md
627f727bbe/docs/4.0-migration-guide
Closes #19077
This commit is contained in:
parent
7e12139719
commit
3a305831d1
12 changed files with 218 additions and 106 deletions
|
|
@ -43,12 +43,15 @@ static CURLcode test_lib1308(const char *URL)
|
|||
{
|
||||
int errorcount = 0;
|
||||
CURLFORMcode rc;
|
||||
int res;
|
||||
CURLcode res = CURLE_OK;
|
||||
int formres = 0;
|
||||
struct curl_httppost *post = NULL;
|
||||
struct curl_httppost *last = NULL;
|
||||
size_t total_size = 0;
|
||||
char buffer[] = "test buffer";
|
||||
|
||||
global_init(CURL_GLOBAL_ALL);
|
||||
|
||||
rc = curl_formadd(&post, &last, CURLFORM_COPYNAME, "name",
|
||||
CURLFORM_COPYCONTENTS, "content", CURLFORM_END);
|
||||
t1308_fail_unless(rc == 0, "curl_formadd returned error");
|
||||
|
|
@ -66,8 +69,8 @@ static CURLcode test_lib1308(const char *URL)
|
|||
CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
|
||||
t1308_fail_unless(rc == 0, "curl_formadd returned error");
|
||||
|
||||
res = curl_formget(post, &total_size, print_httppost_callback);
|
||||
t1308_fail_unless(res == 0, "curl_formget returned error");
|
||||
formres = curl_formget(post, &total_size, print_httppost_callback);
|
||||
t1308_fail_unless(formres == 0, "curl_formget returned error");
|
||||
|
||||
t1308_fail_unless(total_size == 518, "curl_formget got wrong size back");
|
||||
|
||||
|
|
@ -83,12 +86,14 @@ static CURLcode test_lib1308(const char *URL)
|
|||
CURLFORM_END);
|
||||
t1308_fail_unless(rc == 0, "curl_formadd returned error");
|
||||
|
||||
res = curl_formget(post, &total_size, print_httppost_callback);
|
||||
formres = curl_formget(post, &total_size, print_httppost_callback);
|
||||
|
||||
t1308_fail_unless(res == 0, "curl_formget returned error");
|
||||
t1308_fail_unless(formres == 0, "curl_formget returned error");
|
||||
t1308_fail_unless(total_size == 899, "curl_formget got wrong size back");
|
||||
|
||||
curl_formfree(post);
|
||||
|
||||
curl_global_cleanup();
|
||||
|
||||
return errorcount ? TEST_ERR_FAILURE : CURLE_OK;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue