From 86dc08599bf0dc99b41cb497ae5c865a4f5d42a1 Mon Sep 17 00:00:00 2001 From: Agathiyan Bragadeesh Date: Mon, 4 Sep 2023 14:53:30 +0100 Subject: [PATCH] Add asn1 write tag and len to x509 use c config Signed-off-by: Agathiyan Bragadeesh --- include/mbedtls/asn1write.h | 5 +++++ library/asn1write.c | 4 +++- library/x509.c | 6 ------ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/mbedtls/asn1write.h b/include/mbedtls/asn1write.h index 3c5072c01..6fe57c8f0 100644 --- a/include/mbedtls/asn1write.h +++ b/include/mbedtls/asn1write.h @@ -48,6 +48,7 @@ extern "C" { #endif +#if defined(MBEDTLS_ASN1_WRITE_C) || defined(MBEDTLS_X509_USE_C) /** * \brief Write a length field in ASN.1 format. * @@ -76,7 +77,9 @@ int mbedtls_asn1_write_len(unsigned char **p, const unsigned char *start, */ int mbedtls_asn1_write_tag(unsigned char **p, const unsigned char *start, unsigned char tag); +#endif /* MBEDTLS_ASN1_WRITE_C || MBEDTLS_X509_USE_C */ +#if defined(MBEDTLS_ASN1_WRITE_C) /** * \brief Write raw buffer data. * @@ -393,4 +396,6 @@ mbedtls_asn1_named_data *mbedtls_asn1_store_named_data(mbedtls_asn1_named_data * } #endif +#endif /* MBEDTLS_ASN1_WRITE_C */ + #endif /* MBEDTLS_ASN1_WRITE_H */ diff --git a/library/asn1write.c b/library/asn1write.c index c65d9370e..4123ac3c1 100644 --- a/library/asn1write.c +++ b/library/asn1write.c @@ -19,7 +19,7 @@ #include "common.h" -#if defined(MBEDTLS_ASN1_WRITE_C) +#if defined(MBEDTLS_ASN1_WRITE_C) || defined(MBEDTLS_X509_USE_C) #include "mbedtls/asn1write.h" #include "mbedtls/error.h" @@ -102,7 +102,9 @@ int mbedtls_asn1_write_tag(unsigned char **p, const unsigned char *start, unsign return 1; } +#endif /* MBEDTLS_ASN1_WRITE_C || MBEDTLS_X509_USE_C */ +#if defined(MBEDTLS_ASN1_WRITE_C) int mbedtls_asn1_write_raw_buffer(unsigned char **p, const unsigned char *start, const unsigned char *buf, size_t size) { diff --git a/library/x509.c b/library/x509.c index 40da61d06..c1d6bd485 100644 --- a/library/x509.c +++ b/library/x509.c @@ -43,9 +43,7 @@ #include "mbedtls/pem.h" #endif -#if defined(MBEDTLS_ASN1_WRITE_C) #include "mbedtls/asn1write.h" -#endif #include "mbedtls/platform.h" @@ -874,7 +872,6 @@ int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name *dn) MBEDTLS_X509_SAFE_SNPRINTF; if (print_hexstring) { -#if defined(MBEDTLS_ASN1_WRITE_C) s[0] = '#'; asn1_len_p = asn1_tag_len_buf + 10; @@ -907,9 +904,6 @@ int mbedtls_x509_dn_gets(char *buf, size_t size, const mbedtls_x509_name *dn) s[j++] = nibble_to_hex_digit(highbits); s[j++] = nibble_to_hex_digit(lowbits); } -#else - return MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE; -#endif } else { for (i = 0, j = 0; i < name->val.len; i++, j++) { if (j >= sizeof(s) - 1) {