From: Dr. Stephen Henson Date: Tue, 27 Nov 2012 23:47:48 +0000 (+0000) Subject: New functions to set lookup_crls callback and to retrieve internal X509_STORE X-Git-Tag: master-post-reformat~1568 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2c340864be11a523507f71d8be144f9c593b2be6;p=oweals%2Fopenssl.git New functions to set lookup_crls callback and to retrieve internal X509_STORE from X509_STORE_CTX. --- diff --git a/CHANGES b/CHANGES index cb42f9d3b0..9c8f298d5c 100644 --- a/CHANGES +++ b/CHANGES @@ -4,8 +4,12 @@ Changes between 1.0.x and 1.1.0 [xx XXX xxxx] + *) New functions to set lookup_crls function and to retrieve + X509_STORE from X509_STORE_CTX. + [Steve Henson] + *) New ctrl and macro to retrieve supported points extensions. - Print out extension in s_server. + Print out extension in s_server and s_client. [Steve Henson] *) New function ASN1_TIME_diff to calculate the difference between two diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index 72121f6bec..cce90848a2 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -725,5 +725,16 @@ void X509_STORE_set_verify_cb(X509_STORE *ctx, ctx->verify_cb = verify_cb; } +void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, + STACK_OF(X509_CRL)* (*cb)(X509_STORE_CTX *ctx, X509_NAME *nm)) + { + ctx->lookup_crls = cb; + } + +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx) + { + return ctx->ctx; + } + IMPLEMENT_STACK_OF(X509_LOOKUP) IMPLEMENT_STACK_OF(X509_OBJECT) diff --git a/crypto/x509/x509_vfy.h b/crypto/x509/x509_vfy.h index 2ac99c16a8..a6f3943025 100644 --- a/crypto/x509/x509_vfy.h +++ b/crypto/x509/x509_vfy.h @@ -439,6 +439,9 @@ int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); void X509_STORE_set_verify_cb(X509_STORE *ctx, int (*verify_cb)(int, X509_STORE_CTX *)); +void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, + STACK_OF(X509_CRL)* (*cb)(X509_STORE_CTX *ctx, X509_NAME *nm)); + X509_STORE_CTX *X509_STORE_CTX_new(void); int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); @@ -449,6 +452,8 @@ int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); +X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx); + X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);