projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use correct ctx name.
[openssl.git]
/
crypto
/
cms
/
cms_lib.c
diff --git
a/crypto/cms/cms_lib.c
b/crypto/cms/cms_lib.c
index e691ca3a7c89ff50b7c2c0095b3dc6d25de89a6c..6c0d5c097cc213fd35cb978fb17926f17003d2ba 100644
(file)
--- a/
crypto/cms/cms_lib.c
+++ b/
crypto/cms/cms_lib.c
@@
-137,6
+137,10
@@
BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont)
cmsbio = cms_EncryptedData_init_bio(cms);
break;
cmsbio = cms_EncryptedData_init_bio(cms);
break;
+ case NID_pkcs7_enveloped:
+ cmsbio = cms_EnvelopedData_init_bio(cms);
+ break;
+
default:
CMSerr(CMS_F_CMS_DATAINIT, CMS_R_UNSUPPORTED_TYPE);
return NULL;
default:
CMSerr(CMS_F_CMS_DATAINIT, CMS_R_UNSUPPORTED_TYPE);
return NULL;
@@
-180,6
+184,7
@@
int CMS_dataFinal(CMS_ContentInfo *cms, BIO *cmsbio)
{
case NID_pkcs7_data:
{
case NID_pkcs7_data:
+ case NID_pkcs7_enveloped:
case NID_pkcs7_encrypted:
case NID_id_smime_ct_compressedData:
/* Nothing to do */
case NID_pkcs7_encrypted:
case NID_id_smime_ct_compressedData:
/* Nothing to do */
@@
-410,7
+415,7
@@
int cms_DigestAlgorithm_find_ctx(EVP_MD_CTX *mctx, BIO *chain,
}
}
}
}
-STACK_OF(CMS_CertificateChoices) **cms_get0_certificate_choices(CMS_ContentInfo *cms)
+
static
STACK_OF(CMS_CertificateChoices) **cms_get0_certificate_choices(CMS_ContentInfo *cms)
{
switch (OBJ_obj2nid(cms->contentType))
{
{
switch (OBJ_obj2nid(cms->contentType))
{
@@
-467,8
+472,11
@@
int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert)
if (cch->type == CMS_CERTCHOICE_CERT)
{
if (!X509_cmp(cch->d.certificate, cert))
if (cch->type == CMS_CERTCHOICE_CERT)
{
if (!X509_cmp(cch->d.certificate, cert))
- return -1;
-
+ {
+ CMSerr(CMS_F_CMS_ADD0_CERT,
+ CMS_R_CERTIFICATE_ALREADY_PRESENT);
+ return 0;
+ }
}
}
cch = CMS_add0_CertificateChoices(cms);
}
}
cch = CMS_add0_CertificateChoices(cms);
@@
-488,7
+496,7
@@
int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert)
return r;
}
return r;
}
-STACK_OF(CMS_RevocationInfoChoice) **cms_get0_revocation_choices(CMS_ContentInfo *cms)
+
static
STACK_OF(CMS_RevocationInfoChoice) **cms_get0_revocation_choices(CMS_ContentInfo *cms)
{
switch (OBJ_obj2nid(cms->contentType))
{
{
switch (OBJ_obj2nid(cms->contentType))
{
@@
-540,6
+548,15
@@
int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl)
return 1;
}
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;
STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms)
{
STACK_OF(X509) *certs = NULL;