Add preprocessor config guards
Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
diff --git a/library/x509.c b/library/x509.c
index 5298693..87f4820 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -876,12 +876,15 @@
}
if(is_numericoid) {
+ #if defined(MBEDTLS_ASN1_WRITE_C)
s[0] = '#';
+
c = name->val.tag;
char lowbits = (c & 0x0F);
char highbits = c>>4;
s[1] = nibble_to_hex_digit(highbits);
s[2] = nibble_to_hex_digit(lowbits);
+
asn1_len_p = asn1_len_buf+5;
asn1_len_size = mbedtls_asn1_write_len(&asn1_len_p,asn1_len_buf,name->val.len);
asn1_len_start = 5 - asn1_len_size;
@@ -900,6 +903,9 @@
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) {
diff --git a/library/x509_create.c b/library/x509_create.c
index b2b6bcd..59f1905 100644
--- a/library/x509_create.c
+++ b/library/x509_create.c
@@ -209,6 +209,7 @@
return 0;
}
+#if defined(MBEDTLS_ASN1_PARSE_C)
static int parse_attribute_value_ber_encoded(const char *s, int len, unsigned char *data, size_t *data_len, int *tag)
{
const char *c = s;
@@ -247,6 +248,7 @@
return 0;
}
+#endif
int mbedtls_x509_string_to_names(mbedtls_asn1_named_data **head, const char *name)
{
@@ -290,10 +292,14 @@
tag = attr_descr->default_tag;
}
if (numericoid) {
+ #if defined(MBEDTLS_ASN1_PARSE_C)
if ((parse_ret =
parse_attribute_value_ber_encoded(s, c - s, data, &data_len, &tag)) != 0) {
return parse_ret;
}
+ #else
+ return MBEDTLS_ERR_X509_INVALID_NAME;
+ #endif
}
mbedtls_asn1_named_data *cur =
mbedtls_asn1_store_named_data(head, oid, strlen(oid),