X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fx509%2Fx509_vfy.h;h=ecfd4cf9edac31cc03faf5e12ca0543dab71804f;hb=a5fcd09e7552dedf87d5a1ff5d07a0397bc057cb;hp=060bc6093dbdc2e7dce2b0d1b0b11f20ddbbcde8;hpb=5043fc9fd577bcc06623a8aad418a136c15a5928;p=oweals%2Fopenssl.git diff --git a/crypto/x509/x509_vfy.h b/crypto/x509/x509_vfy.h index 060bc6093d..ecfd4cf9ed 100644 --- a/crypto/x509/x509_vfy.h +++ b/crypto/x509/x509_vfy.h @@ -127,6 +127,8 @@ typedef struct x509_object_st typedef struct x509_lookup_st X509_LOOKUP; +DECLARE_STACK_OF(X509_LOOKUP) + /* This is a static that defines the function interface */ typedef struct x509_lookup_method_st { @@ -135,7 +137,8 @@ typedef struct x509_lookup_method_st void (*free)(X509_LOOKUP *ctx); int (*init)(X509_LOOKUP *ctx); int (*shutdown)(X509_LOOKUP *ctx); - int (*ctrl)(X509_LOOKUP *ctx,int cmd,char *argc,long argl,char **ret); + int (*ctrl)(X509_LOOKUP *ctx,int cmd,const char *argc,long argl, + char **ret); int (*get_by_subject)(X509_LOOKUP *ctx,int type,X509_NAME *name, X509_OBJECT *ret); int (*get_by_issuer_serial)(X509_LOOKUP *ctx,int type,X509_NAME *name, @@ -163,13 +166,13 @@ typedef struct x509_store_st #endif /* These are external lookup methods */ - STACK *get_cert_methods;/* X509_LOOKUP */ + STACK_OF(X509_LOOKUP) *get_cert_methods; int (*verify)(X509_STORE_CTX *ctx); /* called to verify a certificate */ int (*verify_cb)(int ok,X509_STORE_CTX *ctx); /* error callback */ CRYPTO_EX_DATA ex_data; int references; - int depth; /* how deep to look (still unused) */ + int depth; /* how deep to look (still unused -- X509_STORE_CTX's depth is used) */ } X509_STORE; #define X509_STORE_set_depth(ctx,d) ((ctx)->depth=(d)) @@ -191,7 +194,7 @@ struct x509_lookup_st /* This is a temporary used when processing cert chains. Since the * gathering of the cert chain can take some time (and have to be * 'retried', this needs to be kept and passed around. */ -struct x509_store_state_st +struct x509_store_state_st /* X509_STORE_CTX */ { X509_STORE *ctx; int current_method; /* used when looking up certs */ @@ -204,7 +207,7 @@ struct x509_store_state_st int depth; /* how far to go looking up certs */ int valid; /* if 0, rebuild chain */ int last_untrusted; /* index of last untrusted cert */ - STACK *chain; /* chain of X509s - built up and trusted */ + STACK_OF(X509) *chain; /* chain of X509s - built up and trusted */ /* When something goes wrong, this is why */ int error_depth; @@ -214,6 +217,8 @@ struct x509_store_state_st CRYPTO_EX_DATA ex_data; }; +#define X509_STORE_CTX_set_depth(ctx,d) ((ctx)->depth=(d)) + #define X509_STORE_CTX_set_app_data(ctx,data) \ X509_STORE_CTX_set_ex_data(ctx,0,data) #define X509_STORE_CTX_get_app_data(ctx) \ @@ -256,7 +261,21 @@ struct x509_store_state_st /* The application is not happy */ #define X509_V_ERR_APPLICATION_VERIFICATION 50 -#ifndef NOPROTO + /* These functions are being redefined in another directory, + and clash when the linker is case-insensitive, so let's + hide them a little, by giving them an extra 'o' at the + beginning of the name... */ +#ifdef VMS +#undef X509v3_cleanup_extensions +#define X509v3_cleanup_extensions oX509v3_cleanup_extensions +#undef X509v3_add_extension +#define X509v3_add_extension oX509v3_add_extension +#undef X509v3_add_netscape_extensions +#define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions +#undef X509v3_add_standard_extensions +#define X509v3_add_standard_extensions oX509v3_add_standard_extensions +#endif + #ifdef HEADER_LHASH_H X509_OBJECT *X509_OBJECT_retrieve_by_subject(LHASH *h,int type,X509_NAME *name); #endif @@ -273,7 +292,6 @@ X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); X509_LOOKUP_METHOD *X509_LOOKUP_file(void); -X509_LOOKUP_METHOD *X509_LOOKUP_dir(void); int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); @@ -281,7 +299,8 @@ int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); int X509_STORE_get_by_subject(X509_STORE_CTX *vs,int type,X509_NAME *name, X509_OBJECT *ret); -int X509_LOOKUP_ctrl(X509_LOOKUP *ctx,int cmd,char *argc,long argl,char **ret); +int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, + long argl, char **ret); #ifndef NO_STDIO int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); @@ -304,7 +323,7 @@ int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); #ifndef NO_STDIO int X509_STORE_load_locations (X509_STORE *ctx, - char *file, char *dir); + const char *file, const char *dir); int X509_STORE_set_default_paths(X509_STORE *ctx); #endif @@ -316,68 +335,10 @@ int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx,int s); int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -STACK * X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); +STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x); void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,STACK_OF(X509) *sk); -#else - -#ifdef HEADER_LHASH_H -X509_OBJECT *X509_OBJECT_retrieve_by_subject(); -#endif -void X509_OBJECT_up_ref_count(); -void X509_OBJECT_free_contents(); -X509_STORE *X509_STORE_new(); -void X509_STORE_free(); - -void X509_STORE_CTX_init(); -void X509_STORE_CTX_cleanup(); - -X509_LOOKUP *X509_STORE_add_lookup(); - -X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(); -X509_LOOKUP_METHOD *X509_LOOKUP_file(); -X509_LOOKUP_METHOD *X509_LOOKUP_dir(); - -int X509_STORE_add_cert(); -int X509_STORE_add_crl(); - -int X509_STORE_get_by_subject(); - -int X509_LOOKUP_ctrl(); - -#ifndef NO_STDIO -int X509_load_cert_file(); -int X509_load_crl_file(); -#endif - -X509_LOOKUP *X509_LOOKUP_new(); -void X509_LOOKUP_free(); -int X509_LOOKUP_init(); -int X509_LOOKUP_by_subject(); -int X509_LOOKUP_by_issuer_serial(); -int X509_LOOKUP_by_fingerprint(); -int X509_LOOKUP_by_alias(); -int X509_LOOKUP_shutdown(); - -#ifndef NO_STDIO -int X509_STORE_load_locations (); -int X509_STORE_set_default_paths(); -#endif - -int X509_STORE_CTX_get_ex_new_index(); -int X509_STORE_CTX_set_ex_data(); -void * X509_STORE_CTX_get_ex_data(); -int X509_STORE_CTX_get_error(); -void X509_STORE_CTX_set_error(); -int X509_STORE_CTX_get_error_depth(); -X509 * X509_STORE_CTX_get_current_cert(); -STACK * X509_STORE_CTX_get_chain(); -void X509_STORE_CTX_set_cert(); -void X509_STORE_CTX_set_chain(); - -#endif - #ifdef __cplusplus } #endif