Allocate string types directly.
Allocate and free ASN.1 string types directly instead of going through the ASN.1 item code. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
ffa75828dd
commit
3d6aa6d441
@ -62,54 +62,38 @@
|
||||
|
||||
/* Declarations for string types */
|
||||
|
||||
#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_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)
|
||||
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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user