diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-04-19 10:22:15 +0900 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-04-27 08:23:53 -0400 |
commit | 3aec886ed4af1ca945f5d10da2ce40e4538fe5fc (patch) | |
tree | 21b32c666a433cec33e3573bc62945b598bdb0bf | |
parent | 5c001c326d7731042a602a171f1363191e9b0336 (diff) |
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 <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
-rw-r--r-- | crypto/x509/x509_lu.c | 10 | ||||
-rw-r--r-- | include/openssl/x509_vfy.h | 4 |
2 files changed, 14 insertions, 0 deletions
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); |