/* The X509_CRL_INFO structure needs a bit of customisation. Since we cache the original encoding the signature wont be affected by reordering of the revoked field.  */
static int crl_inf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg)
/* The X509_CRL_INFO structure needs a bit of customisation. Since we cache the original encoding the signature wont be affected by reordering of the revoked field.  */
static int crl_inf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg)
{
    X509_CRL_INFO *a = (X509_CRL_INFO *)*pval;
    if (!a || !a->revoked)
        return 1;
    switch (operation) {
    case ASN1_OP_D2I_POST:
        (void)sk_X509_REVOKED_set_cmp_func(a->revoked, X509_REVOKED_cmp);
        break;
    }
    return 1;
}