Handle ASN1_SET_OF and PKCS12_STACK_OF using function
casts in the same way as STACK_OF.
This commit is contained in:
parent
438fa2fdc1
commit
7ef8206859
4
CHANGES
4
CHANGES
@ -13,8 +13,8 @@
|
||||
then the non typesafe macros are used instead. Also modified the
|
||||
mkstack.pl script to handle the new form. Needs testing to see
|
||||
if which (if any) compilers it chokes and maybe make DEBUG_SAFESTACK
|
||||
the default if no major problems. Also need analagous stuff for
|
||||
ASN1_SET_OF etc.
|
||||
the default if no major problems. Similar behaviour for ASN1_SET_OF
|
||||
and PKCS12_STACK_OF.
|
||||
[Steve Henson]
|
||||
|
||||
*) When some versions of IIS use the 'NET' form of private key the
|
||||
|
@ -145,49 +145,8 @@ extern "C" {
|
||||
|
||||
struct X509_algor_st;
|
||||
|
||||
#define DECLARE_ASN1_SET_OF(type) \
|
||||
int i2d_ASN1_SET_OF_##type(STACK_OF(type) *a,unsigned char **pp, \
|
||||
int (*func)(type *,unsigned char **), int ex_tag, \
|
||||
int ex_class, int is_set); \
|
||||
STACK_OF(type) *d2i_ASN1_SET_OF_##type(STACK_OF(type) **a,unsigned char **pp, \
|
||||
long length, \
|
||||
type *(*func)(type **, \
|
||||
unsigned char **,long), \
|
||||
void (*free_func)(type *), \
|
||||
int ex_tag,int ex_class); \
|
||||
unsigned char *ASN1_seq_pack_##type(STACK_OF(type) *st, \
|
||||
int (*i2d)(type *,unsigned char **), \
|
||||
unsigned char **buf,int *len); \
|
||||
STACK_OF(type) *ASN1_seq_unpack_##type(unsigned char *buf,int len, \
|
||||
type *(*d2i)(type **,unsigned char **, \
|
||||
long), \
|
||||
void (*free_func)(type *));
|
||||
|
||||
#define IMPLEMENT_ASN1_SET_OF(type) \
|
||||
int i2d_ASN1_SET_OF_##type(STACK_OF(type) *a,unsigned char **pp, \
|
||||
int (*func)(type *,unsigned char **), int ex_tag, \
|
||||
int ex_class, int is_set) \
|
||||
{ return i2d_ASN1_SET((STACK *)a,pp,func,ex_tag,ex_class,is_set); } \
|
||||
STACK_OF(type) *d2i_ASN1_SET_OF_##type(STACK_OF(type) **a,unsigned char **pp, \
|
||||
long length, \
|
||||
type *(*func)(type **, \
|
||||
unsigned char **,long), \
|
||||
void (*free_func)(type *), \
|
||||
int ex_tag,int ex_class) \
|
||||
{ return (STACK_OF(type) *)d2i_ASN1_SET((STACK **)a,pp,length, \
|
||||
(char *(*)())func, \
|
||||
(void (*)())free_func, \
|
||||
ex_tag,ex_class); } \
|
||||
unsigned char *ASN1_seq_pack_##type(STACK_OF(type) *st, \
|
||||
int (*i2d)(type *,unsigned char **), \
|
||||
unsigned char **buf,int *len) \
|
||||
{ return ASN1_seq_pack((STACK *)st,i2d,buf,len); } \
|
||||
STACK_OF(type) *ASN1_seq_unpack_##type(unsigned char *buf,int len, \
|
||||
type *(*d2i)(type **,unsigned char **, \
|
||||
long), \
|
||||
void (*free_func)(type *)) \
|
||||
{ return (STACK_OF(type) *)ASN1_seq_unpack(buf,len,(char *(*)())d2i, \
|
||||
(void(*)(void *))free_func); }
|
||||
#define DECLARE_ASN1_SET_OF(type) /* filled in by mkstack.pl */
|
||||
#define IMPLEMENT_ASN1_SET_OF(type) /* nothing, no longer needed */
|
||||
|
||||
typedef struct asn1_ctx_st
|
||||
{
|
||||
|
@ -66,8 +66,8 @@
|
||||
static double SSLeay_MSVC5_hack=0.0; /* and for VC1.5 */
|
||||
#endif
|
||||
|
||||
DECLARE_STACK_OF(CRYPTO_dynlock);
|
||||
IMPLEMENT_STACK_OF(CRYPTO_dynlock);
|
||||
DECLARE_STACK_OF(CRYPTO_dynlock)
|
||||
IMPLEMENT_STACK_OF(CRYPTO_dynlock)
|
||||
|
||||
/* real #defines in crypto.h, keep these upto date */
|
||||
static const char* lock_names[CRYPTO_NUM_LOCKS] =
|
||||
@ -175,7 +175,7 @@ int CRYPTO_get_new_dynlockid(void)
|
||||
}
|
||||
CRYPTO_w_lock(CRYPTO_LOCK_DYNLOCK);
|
||||
if ((dyn_locks == NULL)
|
||||
&& ((dyn_locks=sk_new_null()) == NULL))
|
||||
&& ((dyn_locks=sk_CRYPTO_dynlock_new_null()) == NULL))
|
||||
{
|
||||
CRYPTO_w_unlock(CRYPTO_LOCK_DYNLOCK);
|
||||
CRYPTOerr(CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID,ERR_R_MALLOC_FAILURE);
|
||||
|
@ -135,9 +135,9 @@ int PKCS12_parse (PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
|
||||
|
||||
err:
|
||||
|
||||
if (pkey && *pkey) EVP_PKEY_free (*pkey);
|
||||
if (cert && *cert) X509_free (*cert);
|
||||
if (ca) sk_X509_pop_free (*ca, X509_free);
|
||||
if (pkey && *pkey) EVP_PKEY_free(*pkey);
|
||||
if (cert && *cert) X509_free(*cert);
|
||||
if (ca) sk_X509_pop_free(*ca, X509_free);
|
||||
return 0;
|
||||
|
||||
}
|
||||
@ -159,12 +159,12 @@ static int parse_pk12 (PKCS12 *p12, const char *pass, int passlen,
|
||||
p7 = sk_PKCS7_value (asafes, i);
|
||||
bagnid = OBJ_obj2nid (p7->type);
|
||||
if (bagnid == NID_pkcs7_data) {
|
||||
bags = M_PKCS12_unpack_p7data (p7);
|
||||
bags = M_PKCS12_unpack_p7data(p7);
|
||||
} else if (bagnid == NID_pkcs7_encrypted) {
|
||||
bags = M_PKCS12_unpack_p7encdata (p7, pass, passlen);
|
||||
bags = M_PKCS12_unpack_p7encdata(p7, pass, passlen);
|
||||
} else continue;
|
||||
if (!bags) {
|
||||
sk_PKCS7_pop_free (asafes, PKCS7_free);
|
||||
sk_PKCS7_pop_free(asafes, PKCS7_free);
|
||||
return 0;
|
||||
}
|
||||
if (!parse_bags(bags, pass, passlen, pkey, cert, ca,
|
||||
|
@ -146,24 +146,24 @@ union {
|
||||
#define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type
|
||||
|
||||
#define M_PKCS12_x5092certbag(x509) \
|
||||
PKCS12_pack_safebag ((char *)(x509), i2d_X509, NID_x509Certificate, NID_certBag)
|
||||
PKCS12_pack_safebag((char *)(x509), i2d_X509, NID_x509Certificate, NID_certBag)
|
||||
|
||||
#define M_PKCS12_x509crl2certbag(crl) \
|
||||
PKCS12_pack_safebag ((char *)(crl), i2d_X509CRL, NID_x509Crl, NID_crlBag)
|
||||
PKCS12_pack_safebag((char *)(crl), i2d_X509CRL, NID_x509Crl, NID_crlBag)
|
||||
|
||||
#define M_PKCS12_certbag2x509(bg) \
|
||||
(X509 *) ASN1_unpack_string ((bg)->value.bag->value.octet, \
|
||||
(X509 *) ASN1_unpack_string((bg)->value.bag->value.octet, \
|
||||
(char *(*)())d2i_X509)
|
||||
|
||||
#define M_PKCS12_certbag2x509crl(bg) \
|
||||
(X509CRL *) ASN1_unpack_string ((bg)->value.bag->value.octet, \
|
||||
(X509CRL *) ASN1_unpack_string((bg)->value.bag->value.octet, \
|
||||
(char *(*)())d2i_X509CRL)
|
||||
|
||||
/*#define M_PKCS12_pkcs82rsa(p8) \
|
||||
(RSA *) ASN1_unpack_string ((p8)->pkey, (char *(*)())d2i_RSAPrivateKey)*/
|
||||
(RSA *) ASN1_unpack_string((p8)->pkey, (char *(*)())d2i_RSAPrivateKey)*/
|
||||
|
||||
#define M_PKCS12_unpack_p7data(p7) \
|
||||
ASN1_seq_unpack_PKCS12_SAFEBAG ((p7)->d.data->data, p7->d.data->length, \
|
||||
ASN1_seq_unpack_PKCS12_SAFEBAG((p7)->d.data->data, p7->d.data->length, \
|
||||
d2i_PKCS12_SAFEBAG, PKCS12_SAFEBAG_free)
|
||||
|
||||
#define M_PKCS12_pack_authsafes(p12, safes) \
|
||||
@ -175,19 +175,19 @@ ASN1_seq_unpack_PKCS7((p12)->authsafes->d.data->data, \
|
||||
(p12)->authsafes->d.data->length, d2i_PKCS7, PKCS7_free)
|
||||
|
||||
#define M_PKCS12_unpack_p7encdata(p7, pass, passlen) \
|
||||
PKCS12_decrypt_d2i_PKCS12_SAFEBAG ((p7)->d.encrypted->enc_data->algorithm,\
|
||||
PKCS12_decrypt_d2i_PKCS12_SAFEBAG((p7)->d.encrypted->enc_data->algorithm,\
|
||||
d2i_PKCS12_SAFEBAG, PKCS12_SAFEBAG_free, \
|
||||
(pass), (passlen), \
|
||||
(p7)->d.encrypted->enc_data->enc_data, 3)
|
||||
|
||||
#define M_PKCS12_decrypt_skey(bag, pass, passlen) \
|
||||
(PKCS8_PRIV_KEY_INFO *) PKCS12_decrypt_d2i ((bag)->value.shkeybag->algor, \
|
||||
(PKCS8_PRIV_KEY_INFO *) PKCS12_decrypt_d2i((bag)->value.shkeybag->algor, \
|
||||
(char *(*)())d2i_PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free, \
|
||||
(pass), (passlen), \
|
||||
(bag)->value.shkeybag->digest, 2)
|
||||
|
||||
#define M_PKCS8_decrypt(p8, pass, passlen) \
|
||||
(PKCS8_PRIV_KEY_INFO *) PKCS12_decrypt_d2i ((p8)->algor, \
|
||||
(PKCS8_PRIV_KEY_INFO *) PKCS12_decrypt_d2i((p8)->algor, \
|
||||
(char *(*)())d2i_PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free,\
|
||||
(pass), (passlen), (p8)->digest, 2)
|
||||
|
||||
|
@ -114,6 +114,33 @@ STACK_OF(type) \
|
||||
#define SKM_sk_sort(type, st) \
|
||||
((void (*)(STACK_OF(type) *))sk_sort)(st)
|
||||
|
||||
#define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
((STACK_OF(type) * (*) (STACK_OF(type) **,unsigned char **, long , \
|
||||
type *(*)(type **, unsigned char **,long), \
|
||||
void (*)(type *), int ,int )) d2i_ASN1_SET) \
|
||||
(st,pp,length, d2i_func, free_func, ex_tag,ex_class)
|
||||
#define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
((int (*)(STACK_OF(type) *,unsigned char **, \
|
||||
int (*)(type *,unsigned char **), int , int , int)) i2d_ASN1_SET) \
|
||||
(st,pp,i2d_func,ex_tag,ex_class,is_set)
|
||||
|
||||
#define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \
|
||||
((unsigned char *(*)(STACK_OF(type) *, \
|
||||
int (*)(type *,unsigned char **), unsigned char **,int *)) ASN1_seq_pack) \
|
||||
(st, i2d_func, buf, len)
|
||||
#define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \
|
||||
((STACK_OF(type) * (*)(unsigned char *,int, \
|
||||
type *(*)(type **,unsigned char **, long), \
|
||||
void (*)(type *)))ASN1_seq_unpack) \
|
||||
(buf,len,d2i_func, free_func)
|
||||
|
||||
#define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \
|
||||
((STACK_OF(type) * (*)(X509_ALGOR *, \
|
||||
type *(*)(type **, unsigned char **, long), void (*)(type *), \
|
||||
const char *, int, \
|
||||
ASN1_STRING *, int))PKCS12_decrypt_d2i) \
|
||||
(algor,d2i_func,free_func,pass,passlen,oct,seq)
|
||||
|
||||
#else
|
||||
|
||||
#define STACK_OF(type) STACK
|
||||
@ -161,6 +188,19 @@ STACK_OF(type) \
|
||||
#define SKM_sk_sort(type, st) \
|
||||
sk_sort(st)
|
||||
|
||||
#define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
d2i_ASN1_SET(st,pp,length, (char *(*)())d2i_func, (void (*)())free_func, ex_tag,ex_class)
|
||||
#define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
i2d_ASN1_SET(st,pp,i2d_func,ex_tag,ex_class,is_set)
|
||||
|
||||
#define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \
|
||||
ASN1_seq_pack(st, i2d_func, buf, len)
|
||||
#define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \
|
||||
ASN1_seq_unpack(buf,len,(char *(*)())d2i_func, (void(*)(void *))free_func)
|
||||
|
||||
#define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \
|
||||
((STACK *)PKCS12_decrypt_d2i(algor,(char *(*)())d2i_func, (void(*)(void *))free_func,pass,passlen,oct,seq))
|
||||
|
||||
#endif
|
||||
|
||||
/* This block of defines is updated by util/mkstack.pl, please do not touch! */
|
||||
@ -284,6 +324,86 @@ STACK_OF(type) \
|
||||
#define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st))
|
||||
|
||||
#define sk_ASN1_STRING_TABLE_new(st) SKM_sk_new(ASN1_STRING_TABLE, (st))
|
||||
#define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE)
|
||||
#define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st))
|
||||
#define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st))
|
||||
#define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i))
|
||||
#define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val))
|
||||
#define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st))
|
||||
#define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val))
|
||||
#define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val))
|
||||
#define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val))
|
||||
#define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i))
|
||||
#define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr))
|
||||
#define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i))
|
||||
#define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp))
|
||||
#define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st)
|
||||
#define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func))
|
||||
#define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st))
|
||||
#define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st))
|
||||
#define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st))
|
||||
|
||||
#define sk_ASN1_INTEGER_new(st) SKM_sk_new(ASN1_INTEGER, (st))
|
||||
#define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER)
|
||||
#define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st))
|
||||
#define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st))
|
||||
#define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i))
|
||||
#define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val))
|
||||
#define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st))
|
||||
#define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val))
|
||||
#define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val))
|
||||
#define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val))
|
||||
#define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i))
|
||||
#define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr))
|
||||
#define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i))
|
||||
#define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp))
|
||||
#define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st)
|
||||
#define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func))
|
||||
#define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st))
|
||||
#define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st))
|
||||
#define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st))
|
||||
|
||||
#define sk_ASN1_TYPE_new(st) SKM_sk_new(ASN1_TYPE, (st))
|
||||
#define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE)
|
||||
#define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st))
|
||||
#define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st))
|
||||
#define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i))
|
||||
#define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val))
|
||||
#define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st))
|
||||
#define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val))
|
||||
#define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val))
|
||||
#define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val))
|
||||
#define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i))
|
||||
#define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr))
|
||||
#define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i))
|
||||
#define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp))
|
||||
#define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st)
|
||||
#define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func))
|
||||
#define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st))
|
||||
#define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st))
|
||||
#define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st))
|
||||
|
||||
#define sk_ASN1_OBJECT_new(st) SKM_sk_new(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT)
|
||||
#define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i))
|
||||
#define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val))
|
||||
#define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val))
|
||||
#define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val))
|
||||
#define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val))
|
||||
#define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i))
|
||||
#define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr))
|
||||
#define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i))
|
||||
#define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp))
|
||||
#define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st)
|
||||
#define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func))
|
||||
#define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st))
|
||||
#define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st))
|
||||
|
||||
#define sk_BIO_new(st) SKM_sk_new(BIO, (st))
|
||||
#define sk_BIO_new_null() SKM_sk_new_null(BIO)
|
||||
#define sk_BIO_free(st) SKM_sk_free(BIO, (st))
|
||||
@ -883,6 +1003,219 @@ STACK_OF(type) \
|
||||
#define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st))
|
||||
#define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st))
|
||||
#define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \
|
||||
SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \
|
||||
SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \
|
||||
SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \
|
||||
SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func))
|
||||
|
||||
#define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \
|
||||
SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
|
||||
|
||||
#define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \
|
||||
SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
|
||||
/* End of util/mkstack.pl block, you may now edit :-) */
|
||||
|
||||
#endif /* !defined HEADER_SAFESTACK_H */
|
||||
|
@ -102,26 +102,8 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */
|
||||
#define DECLARE_PKCS12_STACK_OF(type) \
|
||||
STACK_OF(type) *PKCS12_decrypt_d2i_##type(struct X509_algor_st *algor, \
|
||||
type *(*d2i)(type **, \
|
||||
unsigned char **, \
|
||||
long), \
|
||||
void (*free_func)(type *), \
|
||||
const char *pass, int passlen, \
|
||||
ASN1_STRING *oct, int seq);
|
||||
|
||||
#define IMPLEMENT_PKCS12_STACK_OF(type) \
|
||||
STACK_OF(type) *PKCS12_decrypt_d2i_##type(struct X509_algor_st *algor, \
|
||||
type *(*d2i)(type **, \
|
||||
unsigned char **, \
|
||||
long), \
|
||||
void (*free_func)(type *), \
|
||||
const char *pass, int passlen, \
|
||||
ASN1_STRING *oct, int seq) \
|
||||
{ return (STACK_OF(type) *)PKCS12_decrypt_d2i(algor,(char *(*)())d2i, \
|
||||
(void(*)(void *))free_func, \
|
||||
pass,passlen,oct,seq); }
|
||||
#define DECLARE_PKCS12_STACK_OF(type) /* Nothing */
|
||||
#define IMPLEMENT_PKCS12_STACK_OF(type) /* Nothing */
|
||||
|
||||
#define X509_FILETYPE_PEM 1
|
||||
#define X509_FILETYPE_ASN1 2
|
||||
|
@ -31,12 +31,17 @@ foreach $file (@source) {
|
||||
while(<IN>) {
|
||||
if (/^DECLARE_STACK_OF\(([^)]+)\)/) {
|
||||
push @stacklst, $1;
|
||||
} if (/^DECLARE_ASN1_SET_OF\(([^)]+)\)/) {
|
||||
push @asn1setlst, $1;
|
||||
} if (/^DECLARE_PKCS12_STACK_OF\(([^)]+)\)/) {
|
||||
push @p12stklst, $1;
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
}
|
||||
|
||||
|
||||
|
||||
my $old_stackfile = "";
|
||||
my $new_stackfile = "";
|
||||
my $inside_block = 0;
|
||||
@ -79,6 +84,26 @@ while(<IN>) {
|
||||
#define sk_${type_thing}_shift(st) SKM_sk_shift($type_thing, (st))
|
||||
#define sk_${type_thing}_pop(st) SKM_sk_pop($type_thing, (st))
|
||||
#define sk_${type_thing}_sort(st) SKM_sk_sort($type_thing, (st))
|
||||
EOF
|
||||
}
|
||||
foreach $type_thing (@asn1setlst) {
|
||||
$new_stackfile .= <<EOF;
|
||||
|
||||
#define d2i_ASN1_SET_OF_${type_thing}(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \\
|
||||
SKM_ASN1_SET_OF_d2i($type_thing, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class))
|
||||
#define i2d_ASN1_SET_OF_${type_thing}(st, pp, i2d_func, ex_tag, ex_class, is_set) \\
|
||||
SKM_ASN1_SET_OF_i2d($type_thing, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set))
|
||||
#define ASN1_seq_pack_${type_thing}(st, i2d_func, buf, len) \\
|
||||
SKM_ASN1_seq_pack($type_thing, (st), (i2d_func), (buf), (len))
|
||||
#define ASN1_seq_unpack_${type_thing}(buf, len, d2i_func, free_func) \\
|
||||
SKM_ASN1_seq_unpack($type_thing, (buf), (len), (d2i_func), (free_func))
|
||||
EOF
|
||||
}
|
||||
foreach $type_thing (@p12stklst) {
|
||||
$new_stackfile .= <<EOF;
|
||||
|
||||
#define PKCS12_decrypt_d2i_${type_thing}(algor, d2i_func, free_func, pass, passlen, oct, seq) \\
|
||||
SKM_PKCS12_decrypt_d2i($type_thing, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))
|
||||
EOF
|
||||
}
|
||||
$new_stackfile .= "/* End of util/mkstack.pl block, you may now edit :-) */\n";
|
||||
|
Loading…
x
Reference in New Issue
Block a user