From: Kazuki Yamaguchi Date: Tue, 19 Apr 2016 01:22:15 +0000 (+0900) Subject: GH975 Add ex_data functions for X509_STORE X-Git-Tag: OpenSSL_1_1_0-pre6~1044 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3aec886ed4af1ca945f5d10da2ce40e4538fe5fc;p=oweals%2Fopenssl.git GH975 Add ex_data functions for X509_STORE Add X509_STORE_{set,get}_ex_data() function and X509_STORE_get_ex_new_index() macro. X509_STORE has ex_data and the documentation also mentions them but they are not actually implemented. Reviewed-by: Matt Caswell Reviewed-by: Richard Levitte --- diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index b822966203..92c25996a7 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -743,6 +743,16 @@ void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, ctx->lookup_crls = cb; } +int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data) +{ + return CRYPTO_set_ex_data(&ctx->ex_data, idx, data); +} + +void *X509_STORE_get_ex_data(X509_STORE *ctx, int idx) +{ + return CRYPTO_get_ex_data(&ctx->ex_data, idx); +} + X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx) { return ctx->ctx; diff --git a/include/openssl/x509_vfy.h b/include/openssl/x509_vfy.h index f357d1a66a..6df09ebf0d 100644 --- a/include/openssl/x509_vfy.h +++ b/include/openssl/x509_vfy.h @@ -292,6 +292,10 @@ void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx, STACK_OF(X509_CRL) *(*cb) (X509_STORE_CTX *ctx, X509_NAME *nm)); +#define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, l, p, newf, dupf, freef) +int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data); +void *X509_STORE_get_ex_data(X509_STORE *ctx, int idx); X509_STORE_CTX *X509_STORE_CTX_new(void);