X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=crypto%2Fasn1%2Fasn1_locl.h;h=5aa65e28f5f5cc241d9ec6394b2f2a0fc0c0b447;hb=079e00e646ffe61c2373b1bf2282c8a4ca21f776;hp=099690203a07499dd76fae9c451dd8970b5fc5e1;hpb=492a9e241550b537ef3db1719e18e9b795b6d24c;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/asn1_locl.h b/crypto/asn1/asn1_locl.h index 099690203a..5aa65e28f5 100644 --- a/crypto/asn1/asn1_locl.h +++ b/crypto/asn1/asn1_locl.h @@ -1,5 +1,5 @@ /* asn1t.h */ -/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 2006. */ /* ==================================================================== @@ -113,3 +113,22 @@ struct evp_pkey_asn1_method_st int (*old_priv_encode)(const EVP_PKEY *pkey, unsigned char **pder); } /* EVP_PKEY_ASN1_METHOD */; + +/* Method to handle CRL access. + * In general a CRL could be very large (several Mb) and can consume large + * amounts of resources if stored in memory by multiple processes. + * This method allows general CRL operations to be redirected to more + * efficient callbacks: for example a CRL entry database. + */ + +#define X509_CRL_METHOD_DYNAMIC 1 + +struct x509_crl_method_st + { + int flags; + int (*crl_init)(X509_CRL *crl); + int (*crl_free)(X509_CRL *crl); + int (*crl_lookup)(X509_CRL *crl, X509_REVOKED **ret, + ASN1_INTEGER *ser, X509_NAME *issuer); + int (*crl_verify)(X509_CRL *crl, EVP_PKEY *pk); + };