summaryrefslogtreecommitdiffstats
path: root/crypto/cms
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2008-05-02 17:27:01 +0000
committerDr. Stephen Henson <steve@openssl.org>2008-05-02 17:27:01 +0000
commit19048b5c8d417024e968b10d7de751be30313fc0 (patch)
treedc6b7fae5ac0497b979413d3b0bd0cf50af65a8f /crypto/cms
parent156ee88285495440563967a0a1032648e586cf71 (diff)
New function CMS_add1_crl().
Diffstat (limited to 'crypto/cms')
-rw-r--r--crypto/cms/cms.h1
-rw-r--r--crypto/cms/cms_lib.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/crypto/cms/cms.h b/crypto/cms/cms.h
index feddd24fca..09c45d0412 100644
--- a/crypto/cms/cms.h
+++ b/crypto/cms/cms.h
@@ -235,6 +235,7 @@ STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms);
CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms);
int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl);
+int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl);
STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms);
int CMS_SignedData_init(CMS_ContentInfo *cms);
diff --git a/crypto/cms/cms_lib.c b/crypto/cms/cms_lib.c
index c629baf0e3..6c0d5c097c 100644
--- a/crypto/cms/cms_lib.c
+++ b/crypto/cms/cms_lib.c
@@ -548,6 +548,15 @@ int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl)
return 1;
}
+int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl)
+ {
+ int r;
+ r = CMS_add0_crl(cms, crl);
+ if (r > 0)
+ CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
+ return r;
+ }
+
STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms)
{
STACK_OF(X509) *certs = NULL;