提交 3aceb94b 编写于 作者: D Dr. Stephen Henson

Safe stack reorganisation in terms of function casts.

After some messing around this seems to work but needs
a few more tests. Working out the syntax for sk_set_cmp_func()
(cast it to a function that itself returns a function pointer)
was painful :-(

Needs some testing to see what other compilers think of this
syntax.

Also needs similar stuff for ASN1_SET_OF etc etc.
上级 fb3e1eeb
......@@ -4,6 +4,19 @@
Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
*) Reorganisation of the stack code. The macros are now all
collected in safestack.h . Each macro is defined in terms of
a "stack macro" of the form SKM_<name>(type, a, b). The
DEBUG_SAFESTACK is now handled in terms of function casts,
this has the advantage of retaining type safety without the
use of additional functions. If DEBUG_SAFESTACK is not defined
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.
[Steve Henson]
*) When some versions of IIS use the 'NET' form of private key the
key derivation algorithm is different. Normally MD5(password) is
used as a 128 bit RC4 key. In the modified case
......
......@@ -248,37 +248,6 @@ typedef struct asn1_string_table_st {
} ASN1_STRING_TABLE;
DECLARE_STACK_OF(ASN1_STRING_TABLE)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_ASN1_STRING_TABLE_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_ASN1_STRING_TABLE_new_null() sk_new_null()
#define sk_ASN1_STRING_TABLE_free(a) sk_free(a)
#define sk_ASN1_STRING_TABLE_num(a) sk_num(a)
#define sk_ASN1_STRING_TABLE_value(a,b) ((ASN1_STRING_TABLE *) \
sk_value((a),(b)))
#define sk_ASN1_STRING_TABLE_set(a,b,c) ((ASN1_STRING_TABLE *) \
sk_set((a),(b),(char *)(c)))
#define sk_ASN1_STRING_TABLE_zero(a) sk_zero(a)
#define sk_ASN1_STRING_TABLE_push(a,b) sk_push((a),(char *)(b))
#define sk_ASN1_STRING_TABLE_unshift(a,b) sk_unshift((a),(b))
#define sk_ASN1_STRING_TABLE_find(a,b) sk_find((a), (char *)(b))
#define sk_ASN1_STRING_TABLE_delete(a,b) ((ASN1_STRING_TABLE *) \
sk_delete((a),(b)))
#define sk_ASN1_STRING_TABLE_delete_ptr(a,b) ((ASN1_STRING_TABLE *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_ASN1_STRING_TABLE_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_ASN1_STRING_TABLE_set_cmp_func(a,b) ((int (*) \
(const ASN1_STRING_TABLE * const *,const ASN1_STRING_TABLE * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_ASN1_STRING_TABLE_dup(a) sk_dup(a)
#define sk_ASN1_STRING_TABLE_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_ASN1_STRING_TABLE_shift(a) ((ASN1_STRING_TABLE *)sk_shift(a))
#define sk_ASN1_STRING_TABLE_pop(a) ((ASN1_STRING_TABLE *)sk_pop(a))
#define sk_ASN1_STRING_TABLE_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
/* size limits: this stuff is taken straight from RFC2459 */
......@@ -328,37 +297,6 @@ typedef struct asn1_string_st ASN1_UTF8STRING;
typedef int ASN1_NULL;
DECLARE_STACK_OF(ASN1_INTEGER)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_ASN1_INTEGER_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_ASN1_INTEGER_new_null() sk_new_null()
#define sk_ASN1_INTEGER_free(a) sk_free(a)
#define sk_ASN1_INTEGER_num(a) sk_num(a)
#define sk_ASN1_INTEGER_value(a,b) ((ASN1_INTEGER *) \
sk_value((a),(b)))
#define sk_ASN1_INTEGER_set(a,b,c) ((ASN1_INTEGER *) \
sk_set((a),(b),(char *)(c)))
#define sk_ASN1_INTEGER_zero(a) sk_zero(a)
#define sk_ASN1_INTEGER_push(a,b) sk_push((a),(char *)(b))
#define sk_ASN1_INTEGER_unshift(a,b) sk_unshift((a),(b))
#define sk_ASN1_INTEGER_find(a,b) sk_find((a), (char *)(b))
#define sk_ASN1_INTEGER_delete(a,b) ((ASN1_INTEGER *) \
sk_delete((a),(b)))
#define sk_ASN1_INTEGER_delete_ptr(a,b) ((ASN1_INTEGER *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_ASN1_INTEGER_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_ASN1_INTEGER_set_cmp_func(a,b) ((int (*) \
(const ASN1_INTEGER * const *,const ASN1_INTEGER * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_ASN1_INTEGER_dup(a) sk_dup(a)
#define sk_ASN1_INTEGER_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_ASN1_INTEGER_shift(a) ((ASN1_INTEGER *)sk_shift(a))
#define sk_ASN1_INTEGER_pop(a) ((ASN1_INTEGER *)sk_pop(a))
#define sk_ASN1_INTEGER_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(ASN1_INTEGER)
typedef struct asn1_type_st
......@@ -390,37 +328,6 @@ typedef struct asn1_type_st
} ASN1_TYPE;
DECLARE_STACK_OF(ASN1_TYPE)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_ASN1_TYPE_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_ASN1_TYPE_new_null() sk_new_null()
#define sk_ASN1_TYPE_free(a) sk_free(a)
#define sk_ASN1_TYPE_num(a) sk_num(a)
#define sk_ASN1_TYPE_value(a,b) ((ASN1_TYPE *) \
sk_value((a),(b)))
#define sk_ASN1_TYPE_set(a,b,c) ((ASN1_TYPE *) \
sk_set((a),(b),(char *)(c)))
#define sk_ASN1_TYPE_zero(a) sk_zero(a)
#define sk_ASN1_TYPE_push(a,b) sk_push((a),(char *)(b))
#define sk_ASN1_TYPE_unshift(a,b) sk_unshift((a),(b))
#define sk_ASN1_TYPE_find(a,b) sk_find((a), (char *)(b))
#define sk_ASN1_TYPE_delete(a,b) ((ASN1_TYPE *) \
sk_delete((a),(b)))
#define sk_ASN1_TYPE_delete_ptr(a,b) ((ASN1_TYPE *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_ASN1_TYPE_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_ASN1_TYPE_set_cmp_func(a,b) ((int (*) \
(const ASN1_TYPE * const *,const ASN1_TYPE * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_ASN1_TYPE_dup(a) sk_dup(a)
#define sk_ASN1_TYPE_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_ASN1_TYPE_shift(a) ((ASN1_TYPE *)sk_shift(a))
#define sk_ASN1_TYPE_pop(a) ((ASN1_TYPE *)sk_pop(a))
#define sk_ASN1_TYPE_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(ASN1_TYPE)
typedef struct asn1_method_st
......@@ -642,37 +549,6 @@ ASN1_OBJECT * d2i_ASN1_OBJECT(ASN1_OBJECT **a,unsigned char **pp,
long length);
DECLARE_STACK_OF(ASN1_OBJECT)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_ASN1_OBJECT_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_ASN1_OBJECT_new_null() sk_new_null()
#define sk_ASN1_OBJECT_free(a) sk_free(a)
#define sk_ASN1_OBJECT_num(a) sk_num(a)
#define sk_ASN1_OBJECT_value(a,b) ((ASN1_OBJECT *) \
sk_value((a),(b)))
#define sk_ASN1_OBJECT_set(a,b,c) ((ASN1_OBJECT *) \
sk_set((a),(b),(char *)(c)))
#define sk_ASN1_OBJECT_zero(a) sk_zero(a)
#define sk_ASN1_OBJECT_push(a,b) sk_push((a),(char *)(b))
#define sk_ASN1_OBJECT_unshift(a,b) sk_unshift((a),(b))
#define sk_ASN1_OBJECT_find(a,b) sk_find((a), (char *)(b))
#define sk_ASN1_OBJECT_delete(a,b) ((ASN1_OBJECT *) \
sk_delete((a),(b)))
#define sk_ASN1_OBJECT_delete_ptr(a,b) ((ASN1_OBJECT *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_ASN1_OBJECT_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_ASN1_OBJECT_set_cmp_func(a,b) ((int (*) \
(const ASN1_OBJECT * const *,const ASN1_OBJECT * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_ASN1_OBJECT_dup(a) sk_dup(a)
#define sk_ASN1_OBJECT_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_ASN1_OBJECT_shift(a) ((ASN1_OBJECT *)sk_shift(a))
#define sk_ASN1_OBJECT_pop(a) ((ASN1_OBJECT *)sk_pop(a))
#define sk_ASN1_OBJECT_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(ASN1_OBJECT)
ASN1_STRING * ASN1_STRING_new(void);
......
......@@ -264,37 +264,6 @@ struct bio_st
};
DECLARE_STACK_OF(BIO)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_BIO_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_BIO_new_null() sk_new_null()
#define sk_BIO_free(a) sk_free(a)
#define sk_BIO_num(a) sk_num(a)
#define sk_BIO_value(a,b) ((BIO *) \
sk_value((a),(b)))
#define sk_BIO_set(a,b,c) ((BIO *) \
sk_set((a),(b),(char *)(c)))
#define sk_BIO_zero(a) sk_zero(a)
#define sk_BIO_push(a,b) sk_push((a),(char *)(b))
#define sk_BIO_unshift(a,b) sk_unshift((a),(b))
#define sk_BIO_find(a,b) sk_find((a), (char *)(b))
#define sk_BIO_delete(a,b) ((BIO *) \
sk_delete((a),(b)))
#define sk_BIO_delete_ptr(a,b) ((BIO *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_BIO_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_BIO_set_cmp_func(a,b) ((int (*) \
(const BIO * const *,const BIO * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_BIO_dup(a) sk_dup(a)
#define sk_BIO_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_BIO_shift(a) ((BIO *)sk_shift(a))
#define sk_BIO_pop(a) ((BIO *)sk_pop(a))
#define sk_BIO_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
typedef struct bio_f_buffer_ctx_struct
{
......
......@@ -77,37 +77,6 @@ typedef struct
} CONF_VALUE;
DECLARE_STACK_OF(CONF_VALUE)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_CONF_VALUE_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_CONF_VALUE_new_null() sk_new_null()
#define sk_CONF_VALUE_free(a) sk_free(a)
#define sk_CONF_VALUE_num(a) sk_num(a)
#define sk_CONF_VALUE_value(a,b) ((CONF_VALUE *) \
sk_value((a),(b)))
#define sk_CONF_VALUE_set(a,b,c) ((CONF_VALUE *) \
sk_set((a),(b),(char *)(c)))
#define sk_CONF_VALUE_zero(a) sk_zero(a)
#define sk_CONF_VALUE_push(a,b) sk_push((a),(char *)(b))
#define sk_CONF_VALUE_unshift(a,b) sk_unshift((a),(b))
#define sk_CONF_VALUE_find(a,b) sk_find((a), (char *)(b))
#define sk_CONF_VALUE_delete(a,b) ((CONF_VALUE *) \
sk_delete((a),(b)))
#define sk_CONF_VALUE_delete_ptr(a,b) ((CONF_VALUE *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_CONF_VALUE_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_CONF_VALUE_set_cmp_func(a,b) ((int (*) \
(const CONF_VALUE * const *,const CONF_VALUE * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_CONF_VALUE_dup(a) sk_dup(a)
#define sk_CONF_VALUE_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_CONF_VALUE_shift(a) ((CONF_VALUE *)sk_shift(a))
#define sk_CONF_VALUE_pop(a) ((CONF_VALUE *)sk_pop(a))
#define sk_CONF_VALUE_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
struct conf_st;
typedef struct conf_st CONF;
......
......@@ -201,37 +201,6 @@ typedef struct crypto_ex_data_func_st
} CRYPTO_EX_DATA_FUNCS;
DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_CRYPTO_EX_DATA_FUNCS_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_CRYPTO_EX_DATA_FUNCS_new_null() sk_new_null()
#define sk_CRYPTO_EX_DATA_FUNCS_free(a) sk_free(a)
#define sk_CRYPTO_EX_DATA_FUNCS_num(a) sk_num(a)
#define sk_CRYPTO_EX_DATA_FUNCS_value(a,b) ((CRYPTO_EX_DATA_FUNCS *) \
sk_value((a),(b)))
#define sk_CRYPTO_EX_DATA_FUNCS_set(a,b,c) ((CRYPTO_EX_DATA_FUNCS *) \
sk_set((a),(b),(char *)(c)))
#define sk_CRYPTO_EX_DATA_FUNCS_zero(a) sk_zero(a)
#define sk_CRYPTO_EX_DATA_FUNCS_push(a,b) sk_push((a),(char *)(b))
#define sk_CRYPTO_EX_DATA_FUNCS_unshift(a,b) sk_unshift((a),(b))
#define sk_CRYPTO_EX_DATA_FUNCS_find(a,b) sk_find((a), (char *)(b))
#define sk_CRYPTO_EX_DATA_FUNCS_delete(a,b) ((CRYPTO_EX_DATA_FUNCS *) \
sk_delete((a),(b)))
#define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(a,b) ((CRYPTO_EX_DATA_FUNCS *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_CRYPTO_EX_DATA_FUNCS_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(a,b) ((int (*) \
(const CRYPTO_EX_DATA_FUNCS * const *,const CRYPTO_EX_DATA_FUNCS * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_CRYPTO_EX_DATA_FUNCS_dup(a) sk_dup(a)
#define sk_CRYPTO_EX_DATA_FUNCS_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_CRYPTO_EX_DATA_FUNCS_shift(a) ((CRYPTO_EX_DATA_FUNCS *)sk_shift(a))
#define sk_CRYPTO_EX_DATA_FUNCS_pop(a) ((CRYPTO_EX_DATA_FUNCS *)sk_pop(a))
#define sk_CRYPTO_EX_DATA_FUNCS_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
/* Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA
* entry.
......
......@@ -20,37 +20,6 @@ typedef struct name_funcs_st
} NAME_FUNCS;
DECLARE_STACK_OF(NAME_FUNCS)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_NAME_FUNCS_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_NAME_FUNCS_new_null() sk_new_null()
#define sk_NAME_FUNCS_free(a) sk_free(a)
#define sk_NAME_FUNCS_num(a) sk_num(a)
#define sk_NAME_FUNCS_value(a,b) ((NAME_FUNCS *) \
sk_value((a),(b)))
#define sk_NAME_FUNCS_set(a,b,c) ((NAME_FUNCS *) \
sk_set((a),(b),(char *)(c)))
#define sk_NAME_FUNCS_zero(a) sk_zero(a)
#define sk_NAME_FUNCS_push(a,b) sk_push((a),(char *)(b))
#define sk_NAME_FUNCS_unshift(a,b) sk_unshift((a),(b))
#define sk_NAME_FUNCS_find(a,b) sk_find((a), (char *)(b))
#define sk_NAME_FUNCS_delete(a,b) ((NAME_FUNCS *) \
sk_delete((a),(b)))
#define sk_NAME_FUNCS_delete_ptr(a,b) ((NAME_FUNCS *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_NAME_FUNCS_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_NAME_FUNCS_set_cmp_func(a,b) ((int (*) \
(const NAME_FUNCS * const *,const NAME_FUNCS * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_NAME_FUNCS_dup(a) sk_dup(a)
#define sk_NAME_FUNCS_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_NAME_FUNCS_shift(a) ((NAME_FUNCS *)sk_shift(a))
#define sk_NAME_FUNCS_pop(a) ((NAME_FUNCS *)sk_pop(a))
#define sk_NAME_FUNCS_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
IMPLEMENT_STACK_OF(NAME_FUNCS)
static STACK_OF(NAME_FUNCS) *name_funcs_stack;
......
......@@ -124,37 +124,6 @@ ASN1_TYPE *rest;
} PKCS12_SAFEBAG;
DECLARE_STACK_OF(PKCS12_SAFEBAG)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_PKCS12_SAFEBAG_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_PKCS12_SAFEBAG_new_null() sk_new_null()
#define sk_PKCS12_SAFEBAG_free(a) sk_free(a)
#define sk_PKCS12_SAFEBAG_num(a) sk_num(a)
#define sk_PKCS12_SAFEBAG_value(a,b) ((PKCS12_SAFEBAG *) \
sk_value((a),(b)))
#define sk_PKCS12_SAFEBAG_set(a,b,c) ((PKCS12_SAFEBAG *) \
sk_set((a),(b),(char *)(c)))
#define sk_PKCS12_SAFEBAG_zero(a) sk_zero(a)
#define sk_PKCS12_SAFEBAG_push(a,b) sk_push((a),(char *)(b))
#define sk_PKCS12_SAFEBAG_unshift(a,b) sk_unshift((a),(b))
#define sk_PKCS12_SAFEBAG_find(a,b) sk_find((a), (char *)(b))
#define sk_PKCS12_SAFEBAG_delete(a,b) ((PKCS12_SAFEBAG *) \
sk_delete((a),(b)))
#define sk_PKCS12_SAFEBAG_delete_ptr(a,b) ((PKCS12_SAFEBAG *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_PKCS12_SAFEBAG_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_PKCS12_SAFEBAG_set_cmp_func(a,b) ((int (*) \
(const PKCS12_SAFEBAG * const *,const PKCS12_SAFEBAG * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_PKCS12_SAFEBAG_dup(a) sk_dup(a)
#define sk_PKCS12_SAFEBAG_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_PKCS12_SAFEBAG_shift(a) ((PKCS12_SAFEBAG *)sk_shift(a))
#define sk_PKCS12_SAFEBAG_pop(a) ((PKCS12_SAFEBAG *)sk_pop(a))
#define sk_PKCS12_SAFEBAG_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG)
DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG)
......
......@@ -75,37 +75,6 @@ char *param_value; /* Param value e.g. "sha1" */
} MIME_PARAM;
DECLARE_STACK_OF(MIME_PARAM)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_MIME_PARAM_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_MIME_PARAM_new_null() sk_new_null()
#define sk_MIME_PARAM_free(a) sk_free(a)
#define sk_MIME_PARAM_num(a) sk_num(a)
#define sk_MIME_PARAM_value(a,b) ((MIME_PARAM *) \
sk_value((a),(b)))
#define sk_MIME_PARAM_set(a,b,c) ((MIME_PARAM *) \
sk_set((a),(b),(char *)(c)))
#define sk_MIME_PARAM_zero(a) sk_zero(a)
#define sk_MIME_PARAM_push(a,b) sk_push((a),(char *)(b))
#define sk_MIME_PARAM_unshift(a,b) sk_unshift((a),(b))
#define sk_MIME_PARAM_find(a,b) sk_find((a), (char *)(b))
#define sk_MIME_PARAM_delete(a,b) ((MIME_PARAM *) \
sk_delete((a),(b)))
#define sk_MIME_PARAM_delete_ptr(a,b) ((MIME_PARAM *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_MIME_PARAM_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_MIME_PARAM_set_cmp_func(a,b) ((int (*) \
(const MIME_PARAM * const *,const MIME_PARAM * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_MIME_PARAM_dup(a) sk_dup(a)
#define sk_MIME_PARAM_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_MIME_PARAM_shift(a) ((MIME_PARAM *)sk_shift(a))
#define sk_MIME_PARAM_pop(a) ((MIME_PARAM *)sk_pop(a))
#define sk_MIME_PARAM_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
IMPLEMENT_STACK_OF(MIME_PARAM)
typedef struct {
......@@ -115,37 +84,6 @@ STACK_OF(MIME_PARAM) *params; /* Zero or more parameters */
} MIME_HEADER;
DECLARE_STACK_OF(MIME_HEADER)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_MIME_HEADER_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_MIME_HEADER_new_null() sk_new_null()
#define sk_MIME_HEADER_free(a) sk_free(a)
#define sk_MIME_HEADER_num(a) sk_num(a)
#define sk_MIME_HEADER_value(a,b) ((MIME_HEADER *) \
sk_value((a),(b)))
#define sk_MIME_HEADER_set(a,b,c) ((MIME_HEADER *) \
sk_set((a),(b),(char *)(c)))
#define sk_MIME_HEADER_zero(a) sk_zero(a)
#define sk_MIME_HEADER_push(a,b) sk_push((a),(char *)(b))
#define sk_MIME_HEADER_unshift(a,b) sk_unshift((a),(b))
#define sk_MIME_HEADER_find(a,b) sk_find((a), (char *)(b))
#define sk_MIME_HEADER_delete(a,b) ((MIME_HEADER *) \
sk_delete((a),(b)))
#define sk_MIME_HEADER_delete_ptr(a,b) ((MIME_HEADER *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_MIME_HEADER_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_MIME_HEADER_set_cmp_func(a,b) ((int (*) \
(const MIME_HEADER * const *,const MIME_HEADER * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_MIME_HEADER_dup(a) sk_dup(a)
#define sk_MIME_HEADER_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_MIME_HEADER_shift(a) ((MIME_HEADER *)sk_shift(a))
#define sk_MIME_HEADER_pop(a) ((MIME_HEADER *)sk_pop(a))
#define sk_MIME_HEADER_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
IMPLEMENT_STACK_OF(MIME_HEADER)
static int B64_write_PKCS7(BIO *bio, PKCS7 *p7);
......
......@@ -104,37 +104,6 @@ typedef struct pkcs7_signer_info_st
} PKCS7_SIGNER_INFO;
DECLARE_STACK_OF(PKCS7_SIGNER_INFO)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_PKCS7_SIGNER_INFO_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_PKCS7_SIGNER_INFO_new_null() sk_new_null()
#define sk_PKCS7_SIGNER_INFO_free(a) sk_free(a)
#define sk_PKCS7_SIGNER_INFO_num(a) sk_num(a)
#define sk_PKCS7_SIGNER_INFO_value(a,b) ((PKCS7_SIGNER_INFO *) \
sk_value((a),(b)))
#define sk_PKCS7_SIGNER_INFO_set(a,b,c) ((PKCS7_SIGNER_INFO *) \
sk_set((a),(b),(char *)(c)))
#define sk_PKCS7_SIGNER_INFO_zero(a) sk_zero(a)
#define sk_PKCS7_SIGNER_INFO_push(a,b) sk_push((a),(char *)(b))
#define sk_PKCS7_SIGNER_INFO_unshift(a,b) sk_unshift((a),(b))
#define sk_PKCS7_SIGNER_INFO_find(a,b) sk_find((a), (char *)(b))
#define sk_PKCS7_SIGNER_INFO_delete(a,b) ((PKCS7_SIGNER_INFO *) \
sk_delete((a),(b)))
#define sk_PKCS7_SIGNER_INFO_delete_ptr(a,b) ((PKCS7_SIGNER_INFO *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_PKCS7_SIGNER_INFO_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_PKCS7_SIGNER_INFO_set_cmp_func(a,b) ((int (*) \
(const PKCS7_SIGNER_INFO * const *,const PKCS7_SIGNER_INFO * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_PKCS7_SIGNER_INFO_dup(a) sk_dup(a)
#define sk_PKCS7_SIGNER_INFO_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_PKCS7_SIGNER_INFO_shift(a) ((PKCS7_SIGNER_INFO *)sk_shift(a))
#define sk_PKCS7_SIGNER_INFO_pop(a) ((PKCS7_SIGNER_INFO *)sk_pop(a))
#define sk_PKCS7_SIGNER_INFO_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO)
typedef struct pkcs7_recip_info_st
......@@ -147,37 +116,6 @@ typedef struct pkcs7_recip_info_st
} PKCS7_RECIP_INFO;
DECLARE_STACK_OF(PKCS7_RECIP_INFO)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_PKCS7_RECIP_INFO_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_PKCS7_RECIP_INFO_new_null() sk_new_null()
#define sk_PKCS7_RECIP_INFO_free(a) sk_free(a)
#define sk_PKCS7_RECIP_INFO_num(a) sk_num(a)
#define sk_PKCS7_RECIP_INFO_value(a,b) ((PKCS7_RECIP_INFO *) \
sk_value((a),(b)))
#define sk_PKCS7_RECIP_INFO_set(a,b,c) ((PKCS7_RECIP_INFO *) \
sk_set((a),(b),(char *)(c)))
#define sk_PKCS7_RECIP_INFO_zero(a) sk_zero(a)
#define sk_PKCS7_RECIP_INFO_push(a,b) sk_push((a),(char *)(b))
#define sk_PKCS7_RECIP_INFO_unshift(a,b) sk_unshift((a),(b))
#define sk_PKCS7_RECIP_INFO_find(a,b) sk_find((a), (char *)(b))
#define sk_PKCS7_RECIP_INFO_delete(a,b) ((PKCS7_RECIP_INFO *) \
sk_delete((a),(b)))
#define sk_PKCS7_RECIP_INFO_delete_ptr(a,b) ((PKCS7_RECIP_INFO *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_PKCS7_RECIP_INFO_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_PKCS7_RECIP_INFO_set_cmp_func(a,b) ((int (*) \
(const PKCS7_RECIP_INFO * const *,const PKCS7_RECIP_INFO * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_PKCS7_RECIP_INFO_dup(a) sk_dup(a)
#define sk_PKCS7_RECIP_INFO_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_PKCS7_RECIP_INFO_shift(a) ((PKCS7_RECIP_INFO *)sk_shift(a))
#define sk_PKCS7_RECIP_INFO_pop(a) ((PKCS7_RECIP_INFO *)sk_pop(a))
#define sk_PKCS7_RECIP_INFO_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO)
typedef struct pkcs7_signed_st
......@@ -276,37 +214,6 @@ typedef struct pkcs7_st
} PKCS7;
DECLARE_STACK_OF(PKCS7)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_PKCS7_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_PKCS7_new_null() sk_new_null()
#define sk_PKCS7_free(a) sk_free(a)
#define sk_PKCS7_num(a) sk_num(a)
#define sk_PKCS7_value(a,b) ((PKCS7 *) \
sk_value((a),(b)))
#define sk_PKCS7_set(a,b,c) ((PKCS7 *) \
sk_set((a),(b),(char *)(c)))
#define sk_PKCS7_zero(a) sk_zero(a)
#define sk_PKCS7_push(a,b) sk_push((a),(char *)(b))
#define sk_PKCS7_unshift(a,b) sk_unshift((a),(b))
#define sk_PKCS7_find(a,b) sk_find((a), (char *)(b))
#define sk_PKCS7_delete(a,b) ((PKCS7 *) \
sk_delete((a),(b)))
#define sk_PKCS7_delete_ptr(a,b) ((PKCS7 *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_PKCS7_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_PKCS7_set_cmp_func(a,b) ((int (*) \
(const PKCS7 * const *,const PKCS7 * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_PKCS7_dup(a) sk_dup(a)
#define sk_PKCS7_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_PKCS7_shift(a) ((PKCS7 *)sk_shift(a))
#define sk_PKCS7_pop(a) ((PKCS7 *)sk_pop(a))
#define sk_PKCS7_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(PKCS7)
DECLARE_PKCS12_STACK_OF(PKCS7)
......
此差异已折叠。
......@@ -109,6 +109,11 @@ err:
return(NULL);
}
STACK *sk_new_null(void)
{
return sk_new((int (*)(const char * const *, const char * const *))NULL);
}
STACK *sk_new(int (*c)(const char * const *, const char * const *))
{
STACK *ret;
......
......@@ -73,9 +73,6 @@ typedef struct stack_st
int (*comp)(const char * const *, const char * const *);
} STACK;
#define sk_new_null() sk_new((int (*)(const char * const *, \
const char * const *))NULL)
#define M_sk_num(sk) ((sk) ? (sk)->num:-1)
#define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL)
......@@ -85,6 +82,7 @@ char *sk_value(const STACK *, int);
char *sk_set(STACK *, int, char *);
STACK *sk_new(int (*cmp)(const char * const *, const char * const *));
STACK *sk_new_null(void);
void sk_free(STACK *);
void sk_pop_free(STACK *st, void (*func)(void *));
int sk_insert(STACK *sk,char *data,int where);
......
......@@ -152,37 +152,6 @@ typedef struct X509_algor_st
} X509_ALGOR;
DECLARE_STACK_OF(X509_ALGOR)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_ALGOR_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_ALGOR_new_null() sk_new_null()
#define sk_X509_ALGOR_free(a) sk_free(a)
#define sk_X509_ALGOR_num(a) sk_num(a)
#define sk_X509_ALGOR_value(a,b) ((X509_ALGOR *) \
sk_value((a),(b)))
#define sk_X509_ALGOR_set(a,b,c) ((X509_ALGOR *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_ALGOR_zero(a) sk_zero(a)
#define sk_X509_ALGOR_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_ALGOR_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_ALGOR_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_ALGOR_delete(a,b) ((X509_ALGOR *) \
sk_delete((a),(b)))
#define sk_X509_ALGOR_delete_ptr(a,b) ((X509_ALGOR *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_ALGOR_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_ALGOR_set_cmp_func(a,b) ((int (*) \
(const X509_ALGOR * const *,const X509_ALGOR * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_ALGOR_dup(a) sk_dup(a)
#define sk_X509_ALGOR_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_ALGOR_shift(a) ((X509_ALGOR *)sk_shift(a))
#define sk_X509_ALGOR_pop(a) ((X509_ALGOR *)sk_pop(a))
#define sk_X509_ALGOR_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509_ALGOR)
typedef struct X509_val_st
......@@ -213,37 +182,6 @@ typedef struct X509_name_entry_st
} X509_NAME_ENTRY;
DECLARE_STACK_OF(X509_NAME_ENTRY)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_NAME_ENTRY_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_NAME_ENTRY_new_null() sk_new_null()
#define sk_X509_NAME_ENTRY_free(a) sk_free(a)
#define sk_X509_NAME_ENTRY_num(a) sk_num(a)
#define sk_X509_NAME_ENTRY_value(a,b) ((X509_NAME_ENTRY *) \
sk_value((a),(b)))
#define sk_X509_NAME_ENTRY_set(a,b,c) ((X509_NAME_ENTRY *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_NAME_ENTRY_zero(a) sk_zero(a)
#define sk_X509_NAME_ENTRY_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_NAME_ENTRY_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_NAME_ENTRY_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_NAME_ENTRY_delete(a,b) ((X509_NAME_ENTRY *) \
sk_delete((a),(b)))
#define sk_X509_NAME_ENTRY_delete_ptr(a,b) ((X509_NAME_ENTRY *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_NAME_ENTRY_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_NAME_ENTRY_set_cmp_func(a,b) ((int (*) \
(const X509_NAME_ENTRY * const *,const X509_NAME_ENTRY * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_NAME_ENTRY_dup(a) sk_dup(a)
#define sk_X509_NAME_ENTRY_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_NAME_ENTRY_shift(a) ((X509_NAME_ENTRY *)sk_shift(a))
#define sk_X509_NAME_ENTRY_pop(a) ((X509_NAME_ENTRY *)sk_pop(a))
#define sk_X509_NAME_ENTRY_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509_NAME_ENTRY)
/* we always keep X509_NAMEs in 2 forms. */
......@@ -260,37 +198,6 @@ typedef struct X509_name_st
} X509_NAME;
DECLARE_STACK_OF(X509_NAME)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_NAME_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_NAME_new_null() sk_new_null()
#define sk_X509_NAME_free(a) sk_free(a)
#define sk_X509_NAME_num(a) sk_num(a)
#define sk_X509_NAME_value(a,b) ((X509_NAME *) \
sk_value((a),(b)))
#define sk_X509_NAME_set(a,b,c) ((X509_NAME *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_NAME_zero(a) sk_zero(a)
#define sk_X509_NAME_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_NAME_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_NAME_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_NAME_delete(a,b) ((X509_NAME *) \
sk_delete((a),(b)))
#define sk_X509_NAME_delete_ptr(a,b) ((X509_NAME *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_NAME_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_NAME_set_cmp_func(a,b) ((int (*) \
(const X509_NAME * const *,const X509_NAME * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_NAME_dup(a) sk_dup(a)
#define sk_X509_NAME_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_NAME_shift(a) ((X509_NAME *)sk_shift(a))
#define sk_X509_NAME_pop(a) ((X509_NAME *)sk_pop(a))
#define sk_X509_NAME_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
#define X509_EX_V_NETSCAPE_HACK 0x8000
#define X509_EX_V_INIT 0x0001
......@@ -305,37 +212,6 @@ typedef struct X509_extension_st
} X509_EXTENSION;
DECLARE_STACK_OF(X509_EXTENSION)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_EXTENSION_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_EXTENSION_new_null() sk_new_null()
#define sk_X509_EXTENSION_free(a) sk_free(a)
#define sk_X509_EXTENSION_num(a) sk_num(a)
#define sk_X509_EXTENSION_value(a,b) ((X509_EXTENSION *) \
sk_value((a),(b)))
#define sk_X509_EXTENSION_set(a,b,c) ((X509_EXTENSION *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_EXTENSION_zero(a) sk_zero(a)
#define sk_X509_EXTENSION_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_EXTENSION_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_EXTENSION_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_EXTENSION_delete(a,b) ((X509_EXTENSION *) \
sk_delete((a),(b)))
#define sk_X509_EXTENSION_delete_ptr(a,b) ((X509_EXTENSION *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_EXTENSION_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_EXTENSION_set_cmp_func(a,b) ((int (*) \
(const X509_EXTENSION * const *,const X509_EXTENSION * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_EXTENSION_dup(a) sk_dup(a)
#define sk_X509_EXTENSION_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_EXTENSION_shift(a) ((X509_EXTENSION *)sk_shift(a))
#define sk_X509_EXTENSION_pop(a) ((X509_EXTENSION *)sk_pop(a))
#define sk_X509_EXTENSION_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509_EXTENSION)
/* a sequence of these are used */
......@@ -351,37 +227,6 @@ typedef struct x509_attributes_st
} X509_ATTRIBUTE;
DECLARE_STACK_OF(X509_ATTRIBUTE)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_ATTRIBUTE_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_ATTRIBUTE_new_null() sk_new_null()
#define sk_X509_ATTRIBUTE_free(a) sk_free(a)
#define sk_X509_ATTRIBUTE_num(a) sk_num(a)
#define sk_X509_ATTRIBUTE_value(a,b) ((X509_ATTRIBUTE *) \
sk_value((a),(b)))
#define sk_X509_ATTRIBUTE_set(a,b,c) ((X509_ATTRIBUTE *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_ATTRIBUTE_zero(a) sk_zero(a)
#define sk_X509_ATTRIBUTE_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_ATTRIBUTE_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_ATTRIBUTE_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_ATTRIBUTE_delete(a,b) ((X509_ATTRIBUTE *) \
sk_delete((a),(b)))
#define sk_X509_ATTRIBUTE_delete_ptr(a,b) ((X509_ATTRIBUTE *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_ATTRIBUTE_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_ATTRIBUTE_set_cmp_func(a,b) ((int (*) \
(const X509_ATTRIBUTE * const *,const X509_ATTRIBUTE * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_ATTRIBUTE_dup(a) sk_dup(a)
#define sk_X509_ATTRIBUTE_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_ATTRIBUTE_shift(a) ((X509_ATTRIBUTE *)sk_shift(a))
#define sk_X509_ATTRIBUTE_pop(a) ((X509_ATTRIBUTE *)sk_pop(a))
#define sk_X509_ATTRIBUTE_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509_ATTRIBUTE)
typedef struct X509_req_info_st
......@@ -453,37 +298,6 @@ typedef struct x509_st
} X509;
DECLARE_STACK_OF(X509)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_new_null() sk_new_null()
#define sk_X509_free(a) sk_free(a)
#define sk_X509_num(a) sk_num(a)
#define sk_X509_value(a,b) ((X509 *) \
sk_value((a),(b)))
#define sk_X509_set(a,b,c) ((X509 *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_zero(a) sk_zero(a)
#define sk_X509_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_delete(a,b) ((X509 *) \
sk_delete((a),(b)))
#define sk_X509_delete_ptr(a,b) ((X509 *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_set_cmp_func(a,b) ((int (*) \
(const X509 * const *,const X509 * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_dup(a) sk_dup(a)
#define sk_X509_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_shift(a) ((X509 *)sk_shift(a))
#define sk_X509_pop(a) ((X509 *)sk_pop(a))
#define sk_X509_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509)
/* This is used for a table of trust checking functions */
......@@ -498,37 +312,6 @@ typedef struct x509_trust_st {
} X509_TRUST;
DECLARE_STACK_OF(X509_TRUST)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_TRUST_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_TRUST_new_null() sk_new_null()
#define sk_X509_TRUST_free(a) sk_free(a)
#define sk_X509_TRUST_num(a) sk_num(a)
#define sk_X509_TRUST_value(a,b) ((X509_TRUST *) \
sk_value((a),(b)))
#define sk_X509_TRUST_set(a,b,c) ((X509_TRUST *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_TRUST_zero(a) sk_zero(a)
#define sk_X509_TRUST_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_TRUST_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_TRUST_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_TRUST_delete(a,b) ((X509_TRUST *) \
sk_delete((a),(b)))
#define sk_X509_TRUST_delete_ptr(a,b) ((X509_TRUST *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_TRUST_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_TRUST_set_cmp_func(a,b) ((int (*) \
(const X509_TRUST * const *,const X509_TRUST * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_TRUST_dup(a) sk_dup(a)
#define sk_X509_TRUST_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_TRUST_shift(a) ((X509_TRUST *)sk_shift(a))
#define sk_X509_TRUST_pop(a) ((X509_TRUST *)sk_pop(a))
#define sk_X509_TRUST_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
/* standard trust ids */
......@@ -564,37 +347,6 @@ typedef struct X509_revoked_st
} X509_REVOKED;
DECLARE_STACK_OF(X509_REVOKED)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_REVOKED_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_REVOKED_new_null() sk_new_null()
#define sk_X509_REVOKED_free(a) sk_free(a)
#define sk_X509_REVOKED_num(a) sk_num(a)
#define sk_X509_REVOKED_value(a,b) ((X509_REVOKED *) \
sk_value((a),(b)))
#define sk_X509_REVOKED_set(a,b,c) ((X509_REVOKED *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_REVOKED_zero(a) sk_zero(a)
#define sk_X509_REVOKED_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_REVOKED_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_REVOKED_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_REVOKED_delete(a,b) ((X509_REVOKED *) \
sk_delete((a),(b)))
#define sk_X509_REVOKED_delete_ptr(a,b) ((X509_REVOKED *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_REVOKED_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_REVOKED_set_cmp_func(a,b) ((int (*) \
(const X509_REVOKED * const *,const X509_REVOKED * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_REVOKED_dup(a) sk_dup(a)
#define sk_X509_REVOKED_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_REVOKED_shift(a) ((X509_REVOKED *)sk_shift(a))
#define sk_X509_REVOKED_pop(a) ((X509_REVOKED *)sk_pop(a))
#define sk_X509_REVOKED_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509_REVOKED)
typedef struct X509_crl_info_st
......@@ -618,37 +370,6 @@ typedef struct X509_crl_st
} X509_CRL;
DECLARE_STACK_OF(X509_CRL)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_CRL_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_CRL_new_null() sk_new_null()
#define sk_X509_CRL_free(a) sk_free(a)
#define sk_X509_CRL_num(a) sk_num(a)
#define sk_X509_CRL_value(a,b) ((X509_CRL *) \
sk_value((a),(b)))
#define sk_X509_CRL_set(a,b,c) ((X509_CRL *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_CRL_zero(a) sk_zero(a)
#define sk_X509_CRL_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_CRL_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_CRL_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_CRL_delete(a,b) ((X509_CRL *) \
sk_delete((a),(b)))
#define sk_X509_CRL_delete_ptr(a,b) ((X509_CRL *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_CRL_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_CRL_set_cmp_func(a,b) ((int (*) \
(const X509_CRL * const *,const X509_CRL * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_CRL_dup(a) sk_dup(a)
#define sk_X509_CRL_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_CRL_shift(a) ((X509_CRL *)sk_shift(a))
#define sk_X509_CRL_pop(a) ((X509_CRL *)sk_pop(a))
#define sk_X509_CRL_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(X509_CRL)
typedef struct private_key_st
......@@ -687,37 +408,6 @@ typedef struct X509_info_st
} X509_INFO;
DECLARE_STACK_OF(X509_INFO)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_INFO_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_INFO_new_null() sk_new_null()
#define sk_X509_INFO_free(a) sk_free(a)
#define sk_X509_INFO_num(a) sk_num(a)
#define sk_X509_INFO_value(a,b) ((X509_INFO *) \
sk_value((a),(b)))
#define sk_X509_INFO_set(a,b,c) ((X509_INFO *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_INFO_zero(a) sk_zero(a)
#define sk_X509_INFO_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_INFO_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_INFO_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_INFO_delete(a,b) ((X509_INFO *) \
sk_delete((a),(b)))
#define sk_X509_INFO_delete_ptr(a,b) ((X509_INFO *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_INFO_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_INFO_set_cmp_func(a,b) ((int (*) \
(const X509_INFO * const *,const X509_INFO * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_INFO_dup(a) sk_dup(a)
#define sk_X509_INFO_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_INFO_shift(a) ((X509_INFO *)sk_shift(a))
#define sk_X509_INFO_pop(a) ((X509_INFO *)sk_pop(a))
#define sk_X509_INFO_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
#endif
/* The next 2 structures and their 8 routines were sent to me by
......
......@@ -131,37 +131,6 @@ typedef struct x509_object_st
typedef struct x509_lookup_st X509_LOOKUP;
DECLARE_STACK_OF(X509_LOOKUP)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_LOOKUP_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_LOOKUP_new_null() sk_new_null()
#define sk_X509_LOOKUP_free(a) sk_free(a)
#define sk_X509_LOOKUP_num(a) sk_num(a)
#define sk_X509_LOOKUP_value(a,b) ((X509_LOOKUP *) \
sk_value((a),(b)))
#define sk_X509_LOOKUP_set(a,b,c) ((X509_LOOKUP *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_LOOKUP_zero(a) sk_zero(a)
#define sk_X509_LOOKUP_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_LOOKUP_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_LOOKUP_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_LOOKUP_delete(a,b) ((X509_LOOKUP *) \
sk_delete((a),(b)))
#define sk_X509_LOOKUP_delete_ptr(a,b) ((X509_LOOKUP *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_LOOKUP_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_LOOKUP_set_cmp_func(a,b) ((int (*) \
(const X509_LOOKUP * const *,const X509_LOOKUP * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_LOOKUP_dup(a) sk_dup(a)
#define sk_X509_LOOKUP_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_LOOKUP_shift(a) ((X509_LOOKUP *)sk_shift(a))
#define sk_X509_LOOKUP_pop(a) ((X509_LOOKUP *)sk_pop(a))
#define sk_X509_LOOKUP_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
/* This is a static that defines the function interface */
typedef struct x509_lookup_method_st
......
......@@ -132,37 +132,6 @@ typedef struct v3_ext_method X509V3_EXT_METHOD;
typedef struct v3_ext_ctx X509V3_CTX;
DECLARE_STACK_OF(X509V3_EXT_METHOD)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509V3_EXT_METHOD_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509V3_EXT_METHOD_new_null() sk_new_null()
#define sk_X509V3_EXT_METHOD_free(a) sk_free(a)
#define sk_X509V3_EXT_METHOD_num(a) sk_num(a)
#define sk_X509V3_EXT_METHOD_value(a,b) ((X509V3_EXT_METHOD *) \
sk_value((a),(b)))
#define sk_X509V3_EXT_METHOD_set(a,b,c) ((X509V3_EXT_METHOD *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509V3_EXT_METHOD_zero(a) sk_zero(a)
#define sk_X509V3_EXT_METHOD_push(a,b) sk_push((a),(char *)(b))
#define sk_X509V3_EXT_METHOD_unshift(a,b) sk_unshift((a),(b))
#define sk_X509V3_EXT_METHOD_find(a,b) sk_find((a), (char *)(b))
#define sk_X509V3_EXT_METHOD_delete(a,b) ((X509V3_EXT_METHOD *) \
sk_delete((a),(b)))
#define sk_X509V3_EXT_METHOD_delete_ptr(a,b) ((X509V3_EXT_METHOD *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509V3_EXT_METHOD_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509V3_EXT_METHOD_set_cmp_func(a,b) ((int (*) \
(const X509V3_EXT_METHOD * const *,const X509V3_EXT_METHOD * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509V3_EXT_METHOD_dup(a) sk_dup(a)
#define sk_X509V3_EXT_METHOD_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509V3_EXT_METHOD_shift(a) ((X509V3_EXT_METHOD *)sk_shift(a))
#define sk_X509V3_EXT_METHOD_pop(a) ((X509V3_EXT_METHOD *)sk_pop(a))
#define sk_X509V3_EXT_METHOD_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
/* ext_flags values */
#define X509V3_EXT_DYNAMIC 0x1
......@@ -217,71 +186,9 @@ typedef struct ACCESS_DESCRIPTION_st {
} ACCESS_DESCRIPTION;
DECLARE_STACK_OF(GENERAL_NAME)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_GENERAL_NAME_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_GENERAL_NAME_new_null() sk_new_null()
#define sk_GENERAL_NAME_free(a) sk_free(a)
#define sk_GENERAL_NAME_num(a) sk_num(a)
#define sk_GENERAL_NAME_value(a,b) ((GENERAL_NAME *) \
sk_value((a),(b)))
#define sk_GENERAL_NAME_set(a,b,c) ((GENERAL_NAME *) \
sk_set((a),(b),(char *)(c)))
#define sk_GENERAL_NAME_zero(a) sk_zero(a)
#define sk_GENERAL_NAME_push(a,b) sk_push((a),(char *)(b))
#define sk_GENERAL_NAME_unshift(a,b) sk_unshift((a),(b))
#define sk_GENERAL_NAME_find(a,b) sk_find((a), (char *)(b))
#define sk_GENERAL_NAME_delete(a,b) ((GENERAL_NAME *) \
sk_delete((a),(b)))
#define sk_GENERAL_NAME_delete_ptr(a,b) ((GENERAL_NAME *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_GENERAL_NAME_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_GENERAL_NAME_set_cmp_func(a,b) ((int (*) \
(const GENERAL_NAME * const *,const GENERAL_NAME * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_GENERAL_NAME_dup(a) sk_dup(a)
#define sk_GENERAL_NAME_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_GENERAL_NAME_shift(a) ((GENERAL_NAME *)sk_shift(a))
#define sk_GENERAL_NAME_pop(a) ((GENERAL_NAME *)sk_pop(a))
#define sk_GENERAL_NAME_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(GENERAL_NAME)
DECLARE_STACK_OF(ACCESS_DESCRIPTION)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_ACCESS_DESCRIPTION_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_ACCESS_DESCRIPTION_new_null() sk_new_null()
#define sk_ACCESS_DESCRIPTION_free(a) sk_free(a)
#define sk_ACCESS_DESCRIPTION_num(a) sk_num(a)
#define sk_ACCESS_DESCRIPTION_value(a,b) ((ACCESS_DESCRIPTION *) \
sk_value((a),(b)))
#define sk_ACCESS_DESCRIPTION_set(a,b,c) ((ACCESS_DESCRIPTION *) \
sk_set((a),(b),(char *)(c)))
#define sk_ACCESS_DESCRIPTION_zero(a) sk_zero(a)
#define sk_ACCESS_DESCRIPTION_push(a,b) sk_push((a),(char *)(b))
#define sk_ACCESS_DESCRIPTION_unshift(a,b) sk_unshift((a),(b))
#define sk_ACCESS_DESCRIPTION_find(a,b) sk_find((a), (char *)(b))
#define sk_ACCESS_DESCRIPTION_delete(a,b) ((ACCESS_DESCRIPTION *) \
sk_delete((a),(b)))
#define sk_ACCESS_DESCRIPTION_delete_ptr(a,b) ((ACCESS_DESCRIPTION *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_ACCESS_DESCRIPTION_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_ACCESS_DESCRIPTION_set_cmp_func(a,b) ((int (*) \
(const ACCESS_DESCRIPTION * const *,const ACCESS_DESCRIPTION * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_ACCESS_DESCRIPTION_dup(a) sk_dup(a)
#define sk_ACCESS_DESCRIPTION_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_ACCESS_DESCRIPTION_shift(a) ((ACCESS_DESCRIPTION *)sk_shift(a))
#define sk_ACCESS_DESCRIPTION_pop(a) ((ACCESS_DESCRIPTION *)sk_pop(a))
#define sk_ACCESS_DESCRIPTION_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION)
typedef struct DIST_POINT_NAME_st {
......@@ -297,37 +204,6 @@ STACK_OF(GENERAL_NAME) *CRLissuer;
} DIST_POINT;
DECLARE_STACK_OF(DIST_POINT)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_DIST_POINT_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_DIST_POINT_new_null() sk_new_null()
#define sk_DIST_POINT_free(a) sk_free(a)
#define sk_DIST_POINT_num(a) sk_num(a)
#define sk_DIST_POINT_value(a,b) ((DIST_POINT *) \
sk_value((a),(b)))
#define sk_DIST_POINT_set(a,b,c) ((DIST_POINT *) \
sk_set((a),(b),(char *)(c)))
#define sk_DIST_POINT_zero(a) sk_zero(a)
#define sk_DIST_POINT_push(a,b) sk_push((a),(char *)(b))
#define sk_DIST_POINT_unshift(a,b) sk_unshift((a),(b))
#define sk_DIST_POINT_find(a,b) sk_find((a), (char *)(b))
#define sk_DIST_POINT_delete(a,b) ((DIST_POINT *) \
sk_delete((a),(b)))
#define sk_DIST_POINT_delete_ptr(a,b) ((DIST_POINT *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_DIST_POINT_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_DIST_POINT_set_cmp_func(a,b) ((int (*) \
(const DIST_POINT * const *,const DIST_POINT * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_DIST_POINT_dup(a) sk_dup(a)
#define sk_DIST_POINT_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_DIST_POINT_shift(a) ((DIST_POINT *)sk_shift(a))
#define sk_DIST_POINT_pop(a) ((DIST_POINT *)sk_pop(a))
#define sk_DIST_POINT_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(DIST_POINT)
typedef struct AUTHORITY_KEYID_st {
......@@ -344,37 +220,6 @@ typedef struct SXNET_ID_st {
} SXNETID;
DECLARE_STACK_OF(SXNETID)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_SXNETID_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_SXNETID_new_null() sk_new_null()
#define sk_SXNETID_free(a) sk_free(a)
#define sk_SXNETID_num(a) sk_num(a)
#define sk_SXNETID_value(a,b) ((SXNETID *) \
sk_value((a),(b)))
#define sk_SXNETID_set(a,b,c) ((SXNETID *) \
sk_set((a),(b),(char *)(c)))
#define sk_SXNETID_zero(a) sk_zero(a)
#define sk_SXNETID_push(a,b) sk_push((a),(char *)(b))
#define sk_SXNETID_unshift(a,b) sk_unshift((a),(b))
#define sk_SXNETID_find(a,b) sk_find((a), (char *)(b))
#define sk_SXNETID_delete(a,b) ((SXNETID *) \
sk_delete((a),(b)))
#define sk_SXNETID_delete_ptr(a,b) ((SXNETID *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_SXNETID_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_SXNETID_set_cmp_func(a,b) ((int (*) \
(const SXNETID * const *,const SXNETID * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_SXNETID_dup(a) sk_dup(a)
#define sk_SXNETID_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_SXNETID_shift(a) ((SXNETID *)sk_shift(a))
#define sk_SXNETID_pop(a) ((SXNETID *)sk_pop(a))
#define sk_SXNETID_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(SXNETID)
typedef struct SXNET_st {
......@@ -402,37 +247,6 @@ typedef struct POLICYQUALINFO_st {
} POLICYQUALINFO;
DECLARE_STACK_OF(POLICYQUALINFO)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_POLICYQUALINFO_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_POLICYQUALINFO_new_null() sk_new_null()
#define sk_POLICYQUALINFO_free(a) sk_free(a)
#define sk_POLICYQUALINFO_num(a) sk_num(a)
#define sk_POLICYQUALINFO_value(a,b) ((POLICYQUALINFO *) \
sk_value((a),(b)))
#define sk_POLICYQUALINFO_set(a,b,c) ((POLICYQUALINFO *) \
sk_set((a),(b),(char *)(c)))
#define sk_POLICYQUALINFO_zero(a) sk_zero(a)
#define sk_POLICYQUALINFO_push(a,b) sk_push((a),(char *)(b))
#define sk_POLICYQUALINFO_unshift(a,b) sk_unshift((a),(b))
#define sk_POLICYQUALINFO_find(a,b) sk_find((a), (char *)(b))
#define sk_POLICYQUALINFO_delete(a,b) ((POLICYQUALINFO *) \
sk_delete((a),(b)))
#define sk_POLICYQUALINFO_delete_ptr(a,b) ((POLICYQUALINFO *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_POLICYQUALINFO_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_POLICYQUALINFO_set_cmp_func(a,b) ((int (*) \
(const POLICYQUALINFO * const *,const POLICYQUALINFO * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_POLICYQUALINFO_dup(a) sk_dup(a)
#define sk_POLICYQUALINFO_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_POLICYQUALINFO_shift(a) ((POLICYQUALINFO *)sk_shift(a))
#define sk_POLICYQUALINFO_pop(a) ((POLICYQUALINFO *)sk_pop(a))
#define sk_POLICYQUALINFO_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(POLICYQUALINFO)
typedef struct POLICYINFO_st {
......@@ -441,37 +255,6 @@ typedef struct POLICYINFO_st {
} POLICYINFO;
DECLARE_STACK_OF(POLICYINFO)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_POLICYINFO_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_POLICYINFO_new_null() sk_new_null()
#define sk_POLICYINFO_free(a) sk_free(a)
#define sk_POLICYINFO_num(a) sk_num(a)
#define sk_POLICYINFO_value(a,b) ((POLICYINFO *) \
sk_value((a),(b)))
#define sk_POLICYINFO_set(a,b,c) ((POLICYINFO *) \
sk_set((a),(b),(char *)(c)))
#define sk_POLICYINFO_zero(a) sk_zero(a)
#define sk_POLICYINFO_push(a,b) sk_push((a),(char *)(b))
#define sk_POLICYINFO_unshift(a,b) sk_unshift((a),(b))
#define sk_POLICYINFO_find(a,b) sk_find((a), (char *)(b))
#define sk_POLICYINFO_delete(a,b) ((POLICYINFO *) \
sk_delete((a),(b)))
#define sk_POLICYINFO_delete_ptr(a,b) ((POLICYINFO *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_POLICYINFO_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_POLICYINFO_set_cmp_func(a,b) ((int (*) \
(const POLICYINFO * const *,const POLICYINFO * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_POLICYINFO_dup(a) sk_dup(a)
#define sk_POLICYINFO_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_POLICYINFO_shift(a) ((POLICYINFO *)sk_shift(a))
#define sk_POLICYINFO_pop(a) ((POLICYINFO *)sk_pop(a))
#define sk_POLICYINFO_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
DECLARE_ASN1_SET_OF(POLICYINFO)
#define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \
......@@ -570,37 +353,6 @@ typedef struct x509_purpose_st {
#define X509_PURPOSE_MAX 7
DECLARE_STACK_OF(X509_PURPOSE)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_X509_PURPOSE_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_X509_PURPOSE_new_null() sk_new_null()
#define sk_X509_PURPOSE_free(a) sk_free(a)
#define sk_X509_PURPOSE_num(a) sk_num(a)
#define sk_X509_PURPOSE_value(a,b) ((X509_PURPOSE *) \
sk_value((a),(b)))
#define sk_X509_PURPOSE_set(a,b,c) ((X509_PURPOSE *) \
sk_set((a),(b),(char *)(c)))
#define sk_X509_PURPOSE_zero(a) sk_zero(a)
#define sk_X509_PURPOSE_push(a,b) sk_push((a),(char *)(b))
#define sk_X509_PURPOSE_unshift(a,b) sk_unshift((a),(b))
#define sk_X509_PURPOSE_find(a,b) sk_find((a), (char *)(b))
#define sk_X509_PURPOSE_delete(a,b) ((X509_PURPOSE *) \
sk_delete((a),(b)))
#define sk_X509_PURPOSE_delete_ptr(a,b) ((X509_PURPOSE *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_X509_PURPOSE_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_X509_PURPOSE_set_cmp_func(a,b) ((int (*) \
(const X509_PURPOSE * const *,const X509_PURPOSE * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_X509_PURPOSE_dup(a) sk_dup(a)
#define sk_X509_PURPOSE_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_X509_PURPOSE_shift(a) ((X509_PURPOSE *)sk_shift(a))
#define sk_X509_PURPOSE_pop(a) ((X509_PURPOSE *)sk_pop(a))
#define sk_X509_PURPOSE_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
void ERR_load_X509V3_strings(void);
int i2d_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *a, unsigned char **pp);
......
......@@ -192,37 +192,6 @@ typedef struct ssl_cipher_st
} SSL_CIPHER;
DECLARE_STACK_OF(SSL_CIPHER)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_SSL_CIPHER_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_SSL_CIPHER_new_null() sk_new_null()
#define sk_SSL_CIPHER_free(a) sk_free(a)
#define sk_SSL_CIPHER_num(a) sk_num(a)
#define sk_SSL_CIPHER_value(a,b) ((SSL_CIPHER *) \
sk_value((a),(b)))
#define sk_SSL_CIPHER_set(a,b,c) ((SSL_CIPHER *) \
sk_set((a),(b),(char *)(c)))
#define sk_SSL_CIPHER_zero(a) sk_zero(a)
#define sk_SSL_CIPHER_push(a,b) sk_push((a),(char *)(b))
#define sk_SSL_CIPHER_unshift(a,b) sk_unshift((a),(b))
#define sk_SSL_CIPHER_find(a,b) sk_find((a), (char *)(b))
#define sk_SSL_CIPHER_delete(a,b) ((SSL_CIPHER *) \
sk_delete((a),(b)))
#define sk_SSL_CIPHER_delete_ptr(a,b) ((SSL_CIPHER *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_SSL_CIPHER_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_SSL_CIPHER_set_cmp_func(a,b) ((int (*) \
(const SSL_CIPHER * const *,const SSL_CIPHER * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_SSL_CIPHER_dup(a) sk_dup(a)
#define sk_SSL_CIPHER_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_SSL_CIPHER_shift(a) ((SSL_CIPHER *)sk_shift(a))
#define sk_SSL_CIPHER_pop(a) ((SSL_CIPHER *)sk_pop(a))
#define sk_SSL_CIPHER_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
typedef struct ssl_st SSL;
typedef struct ssl_ctx_st SSL_CTX;
......@@ -402,37 +371,6 @@ typedef struct ssl_comp_st
} SSL_COMP;
DECLARE_STACK_OF(SSL_COMP)
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_SSL_COMP_new(a) sk_new((int (*) \
(const char * const *, const char * const *))(a))
#define sk_SSL_COMP_new_null() sk_new_null()
#define sk_SSL_COMP_free(a) sk_free(a)
#define sk_SSL_COMP_num(a) sk_num(a)
#define sk_SSL_COMP_value(a,b) ((SSL_COMP *) \
sk_value((a),(b)))
#define sk_SSL_COMP_set(a,b,c) ((SSL_COMP *) \
sk_set((a),(b),(char *)(c)))
#define sk_SSL_COMP_zero(a) sk_zero(a)
#define sk_SSL_COMP_push(a,b) sk_push((a),(char *)(b))
#define sk_SSL_COMP_unshift(a,b) sk_unshift((a),(b))
#define sk_SSL_COMP_find(a,b) sk_find((a), (char *)(b))
#define sk_SSL_COMP_delete(a,b) ((SSL_COMP *) \
sk_delete((a),(b)))
#define sk_SSL_COMP_delete_ptr(a,b) ((SSL_COMP *) \
sk_delete_ptr((a),(char *)(b)))
#define sk_SSL_COMP_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_SSL_COMP_set_cmp_func(a,b) ((int (*) \
(const SSL_COMP * const *,const SSL_COMP * const *)) \
sk_set_cmp_func((a),(int (*) \
(const char * const *, const char * const *))(b)))
#define sk_SSL_COMP_dup(a) sk_dup(a)
#define sk_SSL_COMP_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_SSL_COMP_shift(a) ((SSL_COMP *)sk_shift(a))
#define sk_SSL_COMP_pop(a) ((SSL_COMP *)sk_pop(a))
#define sk_SSL_COMP_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
/* End of perl script block, you may now edit :-) */
struct ssl_ctx_st
{
......
......@@ -42,71 +42,65 @@ foreach $file (@source) {
# Open the .c/.h file for reading
open(IN, "< $file") || die "Can't open $file for reading: $!";
open(OUT, "> $file.tmp") || die "Can't open $file.tmp for writing: $!";
select(OUT);
process_the_file();
close(OUT);
while(<IN>) {
if (/^DECLARE_STACK_OF\(([^)]+)\)/) {
push @stacklst, $1;
}
}
close(IN);
unlink($file);
rename("$file.tmp", $file);
write_defines("crypto/stack/safestack");
unlink("crypto/stack/safestack.h");
rename("crypto/stack/safestack.tmp","crypto/stack/safestack.h");
}
sub process_the_file {
sub write_defines {
my $stackfile = $_[0];
my $inside_block = 0;
my $output_defines = 0;
open IN, "< $stackfile.h" || die "Can't open input file";
open OUT, "> $stackfile.tmp" || die "Can't open output file";
while(<IN>) {
if (/^DECLARE_STACK_OF\(([^)]+)\)/) {
$type_thing = $1;
$output_defines = 1;
}
if (m|^/\* This block of defines is updated by a perl script, please do not touch! \*/|) {
$inside_block = 1;
}
if (m|^/\* End of perl script block, you may now edit :-\) \*/|) {
$inside_block = 0;
} elsif ($inside_block == 0) {
print;
print OUT;
}
if($output_defines == 1) {
print <<EOF;
next if($inside_block != 1);
print OUT <<EOF;
/* This block of defines is updated by a perl script, please do not touch! */
#ifndef DEBUG_SAFESTACK
#define sk_${type_thing}_new(a) sk_new((int (*) \\
(const char * const *, const char * const *))(a))
#define sk_${type_thing}_new_null() sk_new_null()
#define sk_${type_thing}_free(a) sk_free(a)
#define sk_${type_thing}_num(a) sk_num(a)
#define sk_${type_thing}_value(a,b) ((${type_thing} *) \\
sk_value((a),(b)))
#define sk_${type_thing}_set(a,b,c) ((${type_thing} *) \\
sk_set((a),(b),(char *)(c)))
#define sk_${type_thing}_zero(a) sk_zero(a)
#define sk_${type_thing}_push(a,b) sk_push((a),(char *)(b))
#define sk_${type_thing}_unshift(a,b) sk_unshift((a),(b))
#define sk_${type_thing}_find(a,b) sk_find((a), (char *)(b))
#define sk_${type_thing}_delete(a,b) ((${type_thing} *) \\
sk_delete((a),(b)))
#define sk_${type_thing}_delete_ptr(a,b) ((${type_thing} *) \\
sk_delete_ptr((a),(char *)(b)))
#define sk_${type_thing}_insert(a,b,c) sk_insert((a),(char *)(b),(c))
#define sk_${type_thing}_set_cmp_func(a,b) ((int (*) \\
(const ${type_thing} * const *,const ${type_thing} * const *)) \\
sk_set_cmp_func((a),(int (*) \\
(const char * const *, const char * const *))(b)))
#define sk_${type_thing}_dup(a) sk_dup(a)
#define sk_${type_thing}_pop_free(a,b) sk_pop_free((a),(void (*)(void *))(b))
#define sk_${type_thing}_shift(a) ((${type_thing} *)sk_shift(a))
#define sk_${type_thing}_pop(a) ((${type_thing} *)sk_pop(a))
#define sk_${type_thing}_sort(a) sk_sort(a)
#endif /* !DEBUG_SAFESTACK */
EOF
foreach $type_thing (@stacklst) {
print OUT <<EOF;
#define sk_${type_thing}_new(a) SKM_sk_new($type_thing, (a))
#define sk_${type_thing}_new_null() SKM_sk_new_null($type_thing)
#define sk_${type_thing}_free(a) SKM_sk_free($type_thing, (a))
#define sk_${type_thing}_num(a) SKM_sk_num($type_thing, (a))
#define sk_${type_thing}_value(a,b) SKM_sk_value($type_thing, (a), (b))
#define sk_${type_thing}_set(a,b,c) SKM_sk_set($type_thing, (a), (b), (c))
#define sk_${type_thing}_zero(a) SKM_sk_zero($type_thing, (a))
#define sk_${type_thing}_push(a,b) SKM_sk_push($type_thing, (a),(b))
#define sk_${type_thing}_unshift(a,b) SKM_sk_unshift($type_thing, (a),(b))
#define sk_${type_thing}_find(a,b) SKM_sk_find($type_thing, (a), (b))
#define sk_${type_thing}_delete(a,b) SKM_sk_delete($type_thing, (a),(b))
#define sk_${type_thing}_delete_ptr(a,b) SKM_sk_delete_ptr($type_thing, (a),(b))
#define sk_${type_thing}_insert(a,b,c) SKM_sk_insert($type_thing, (a),(b),(c))
#define sk_${type_thing}_set_cmp_func(a,b) SKM_sk_set_cmp_func($type_thing, (a),(b))
#define sk_${type_thing}_dup(a) SKM_sk_dup($type_thing, a)
#define sk_${type_thing}_pop_free(a,b) SKM_sk_pop_free($type_thing, (a),(b))
#define sk_${type_thing}_shift(a) SKM_sk_shift($type_thing, (a))
#define sk_${type_thing}_pop(a) SKM_sk_pop($type_thing, (a))
#define sk_${type_thing}_sort(a) SKM_sk_sort($type_thing, (a))
EOF
}
print OUT <<EOF;
/* End of perl script block, you may now edit :-) */
EOF
$output_defines = 0;
}
$inside_block = 2;
}
close OUT;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册