New functions to set lookup_crls callback and to retrieve internal X509_STORE
authorDr. Stephen Henson <steve@openssl.org>
Tue, 27 Nov 2012 23:47:48 +0000 (23:47 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 27 Nov 2012 23:47:48 +0000 (23:47 +0000)
from X509_STORE_CTX.

CHANGES
crypto/x509/x509_lu.c
crypto/x509/x509_vfy.h

diff --git a/CHANGES b/CHANGES
index cb42f9d3b088b043e6282da53122e4f559dbc6d1..9c8f298d5c55912c986159f718a85ca2a80d2438 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,8 +4,12 @@
 
  Changes between 1.0.x and 1.1.0  [xx XXX xxxx]
 
 
  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.
   *) 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
      [Steve Henson]
 
   *) New function ASN1_TIME_diff to calculate the difference between two
index 72121f6beca8630bacb56e8e0ea733ac767ea773..cce90848a260a6f1c3d38421d92ea94ccdbee6bd 100644 (file)
@@ -725,5 +725,16 @@ void X509_STORE_set_verify_cb(X509_STORE *ctx,
        ctx->verify_cb = verify_cb;
        }
 
        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)
 IMPLEMENT_STACK_OF(X509_LOOKUP)
 IMPLEMENT_STACK_OF(X509_OBJECT)
index 2ac99c16a8538bcb9dd540270c3c33c1791d51bf..a6f3943025e8527380279add28e40443d0998d07 100644 (file)
@@ -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_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);
 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);
 
 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);
 X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
 
 X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);