X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fasn1%2Fx_crl.c;h=382aed5a6d91fe2c2e5d26a7334545f15c3150b3;hp=0f727114523ee7f8c5de7f26fad96ea61f6de92d;hb=09b6c2ef15139aa6ef2cee11676070939dd37817;hpb=cc29c1204ba08af88febdd675be4a118482d2611 diff --git a/crypto/asn1/x_crl.c b/crypto/asn1/x_crl.c index 0f72711452..382aed5a6d 100644 --- a/crypto/asn1/x_crl.c +++ b/crypto/asn1/x_crl.c @@ -102,6 +102,23 @@ ASN1_SEQUENCE_enc(X509_CRL_INFO, enc, crl_inf_cb) = { ASN1_EXP_SEQUENCE_OF_OPT(X509_CRL_INFO, extensions, X509_EXTENSION, 0) } ASN1_SEQUENCE_END_enc(X509_CRL_INFO, X509_CRL_INFO) +static int crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, + void *exarg) +{ + X509_CRL *a = (X509_CRL_INFO *)*pval; + +#ifndef OPENSSL_NO_SHA + switch(operation) { + /* Hash CRL here for rapid comparison in X509_digest_cmp() + */ + case ASN1_OP_D2I_POST: + X509_CRL_digest(crl->digest, crl); + break; + } +#endif + return 1; +} + ASN1_SEQUENCE_ref(X509_CRL, 0, CRYPTO_LOCK_X509_CRL) = { ASN1_SIMPLE(X509_CRL, crl, X509_CRL_INFO), ASN1_SIMPLE(X509_CRL, sig_alg, X509_ALGOR),