diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 22890cc..384535a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -119,6 +119,7 @@ jobs: - name: Build Mbed TLS run: | cd mbedtls-${{ env.MBEDTLS_VERSION }} + git apply ../patches/0001-Allow-empty-x509-cert-issuer.patch mkdir build cd build cmake .. \ diff --git a/patches/0001-Allow-empty-x509-cert-issuer.patch b/patches/0001-Allow-empty-x509-cert-issuer.patch new file mode 100644 index 0000000..46c20a3 --- /dev/null +++ b/patches/0001-Allow-empty-x509-cert-issuer.patch @@ -0,0 +1,34 @@ +0001-Allow-empty-x509-cert-issuer.patchFrom a1c60b613c262e297eac27c449848ba01e446bae Mon Sep 17 00:00:00 2001 +From: Nick Chan +Date: Wed, 25 Jan 2023 01:11:02 +0800 +Subject: [PATCH] Allow empty x509 cert issuer + +--- + library/x509_crt.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/library/x509_crt.c b/library/x509_crt.c +index 033009797..a06a9fb82 100644 +--- a/library/x509_crt.c ++++ b/library/x509_crt.c +@@ -1220,13 +1220,13 @@ static int x509_crt_parse_der_core(mbedtls_x509_crt *crt, + + if ((ret = mbedtls_asn1_get_tag(&p, end, &len, + MBEDTLS_ASN1_CONSTRUCTED | MBEDTLS_ASN1_SEQUENCE)) != 0) { +- mbedtls_x509_crt_free(crt); +- return MBEDTLS_ERROR_ADD(MBEDTLS_ERR_X509_INVALID_FORMAT, ret); ++ // mbedtls_x509_crt_free(crt); ++ // return MBEDTLS_ERROR_ADD(MBEDTLS_ERR_X509_INVALID_FORMAT, ret); + } + + if ((ret = mbedtls_x509_get_name(&p, p + len, &crt->issuer)) != 0) { +- mbedtls_x509_crt_free(crt); +- return ret; ++ // mbedtls_x509_crt_free(crt); ++ // return ret; + } + + crt->issuer_raw.len = p - crt->issuer_raw.p; +-- +2.39.1 +