aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-04-19 10:22:15 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-04-23 23:57:06 +0900
commit104d5cf90ad4d32d8b7a5916fb9c7d29e916db9e (patch)
tree7d0065aa9168e04173c8605ba98683dcbe5952cd
parentacde647fb0347f64af8f8678b73ce41f2f499c02 (diff)
downloadopenssl-fix/x509-store-ex-data.tar.gz
Add ex_data functions for X509_STOREfix/x509-store-ex-data
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.
-rw-r--r--crypto/x509/x509_lu.c10
-rw-r--r--include/openssl/x509_vfy.h4
-rw-r--r--util/libcrypto.num2
3 files changed, 16 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 4bf27e9d76..7a083acb08 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);
diff --git a/util/libcrypto.num b/util/libcrypto.num
index efa50636ab..3f46dcb3b3 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4207,3 +4207,5 @@ X509_STORE_CTX_get_cert 4081 1_1_0 NOEXIST::FUNCTION:
X509_STORE_CTX_set0_verified_chain 4082 1_1_0 EXIST::FUNCTION:
X509_STORE_CTX_set0_untrusted 4083 1_1_0 EXIST::FUNCTION:
OPENSSL_hexchar2int 4084 1_1_0 EXIST::FUNCTION:
+X509_STORE_set_ex_data 4085 1_1_0 EXIST::FUNCTION:
+X509_STORE_get_ex_data 4086 1_1_0 EXIST::FUNCTION: