|
|
@@ -61,53 +61,38 @@ |
|
|
|
|
|
|
|
/* Declarations for string types */ |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_INTEGER); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING); |
|
|
|
#define IMPLEMENT_ASN1_STRING_FUNCTIONS(sname) \ |
|
|
|
IMPLEMENT_ASN1_TYPE(sname) \ |
|
|
|
IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(sname, sname, sname) \ |
|
|
|
sname *sname##_new(void) \ |
|
|
|
{ \ |
|
|
|
return ASN1_STRING_type_new(V_##sname); \ |
|
|
|
} \ |
|
|
|
void sname##_free(sname *x) \ |
|
|
|
{ \ |
|
|
|
ASN1_STRING_free(x); \ |
|
|
|
} |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_OCTET_STRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_INTEGER) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_ENUMERATED) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_BIT_STRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_UTF8STRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_PRINTABLESTRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_T61STRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_IA5STRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_GENERALSTRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_UTCTIME) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_GENERALIZEDTIME) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_VISIBLESTRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_UNIVERSALSTRING) |
|
|
|
IMPLEMENT_ASN1_STRING_FUNCTIONS(ASN1_BMPSTRING) |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_NULL); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_OBJECT); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_T61STRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING); |
|
|
|
IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING); |
|
|
|
|
|
|
|
IMPLEMENT_ASN1_TYPE(ASN1_ANY); |
|
|
|
|
|
|
|
/* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */; |
|
|
|