diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2008-03-31 15:03:55 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2008-03-31 15:03:55 +0000 |
commit | 2e86f0d8d7185993d8cca5158af61d13224c3c26 (patch) | |
tree | 308131c49aba8045da575d2f25c184a21073f96b /crypto | |
parent | e2a29d49ca8548f95ec1b92f2f443f0f9f416a58 (diff) | |
download | openssl-2e86f0d8d7185993d8cca5158af61d13224c3c26.zip openssl-2e86f0d8d7185993d8cca5158af61d13224c3c26.tar.gz openssl-2e86f0d8d7185993d8cca5158af61d13224c3c26.tar.bz2 |
Use correct headers for signed receipts. Use consistent naming.
Update cms-test.pl to support OpenSSL 0.9.8.
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/asn1/asn1.h | 6 | ||||
-rw-r--r-- | crypto/asn1/asn_mime.c | 8 | ||||
-rw-r--r-- | crypto/cms/cms_io.c | 5 | ||||
-rw-r--r-- | crypto/pkcs7/pk7_mime.c | 4 |
4 files changed, 13 insertions, 10 deletions
diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h index 6ab12a9..8185e1d 100644 --- a/crypto/asn1/asn1.h +++ b/crypto/asn1/asn1.h @@ -324,7 +324,7 @@ typedef struct ASN1_VALUE_st ASN1_VALUE; #define DECLARE_ASN1_FUNCTIONS_const(name) \ name *name##_new(void); \ - void name##_free(name *a); + void name##_free(name *a); \ #define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ type *name##_new(void); \ @@ -1126,10 +1126,10 @@ int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const char *hdr, const ASN1_ITEM *it); int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, - int ctype_nid, + int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); -ASN1_VALUE *SMIME_read_asn1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); int SMIME_crlf_copy(BIO *in, BIO *out, int flags); int SMIME_text(BIO *in, BIO *out); diff --git a/crypto/asn1/asn_mime.c b/crypto/asn1/asn_mime.c index 9148817..8fbdf21 100644 --- a/crypto/asn1/asn_mime.c +++ b/crypto/asn1/asn_mime.c @@ -276,7 +276,7 @@ static int asn1_write_micalg(BIO *out, STACK_OF(X509_ALGOR) *mdalgs) /* SMIME sender */ int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, - int ctype_nid, + int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it) { @@ -340,7 +340,9 @@ int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, msg_type = "enveloped-data"; else if (ctype_nid == NID_pkcs7_signed) { - if (sk_X509_ALGOR_num(mdalgs) >= 0) + if (econt_nid == NID_id_smime_ct_receipt) + msg_type = "signed-receipt"; + else if (sk_X509_ALGOR_num(mdalgs) >= 0) msg_type = "signed-data"; else msg_type = "certs-only"; @@ -423,7 +425,7 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags, * pointed to by "bcont". In opaque this is set to NULL */ -ASN1_VALUE *SMIME_read_asn1(BIO *bio, BIO **bcont, const ASN1_ITEM *it) +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it) { BIO *asnin; STACK_OF(MIME_HEADER) *headers = NULL; diff --git a/crypto/cms/cms_io.c b/crypto/cms/cms_io.c index 051757b..1cb0264 100644 --- a/crypto/cms/cms_io.c +++ b/crypto/cms/cms_io.c @@ -114,19 +114,20 @@ int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags) { STACK_OF(X509_ALGOR) *mdalgs; int ctype_nid = OBJ_obj2nid(cms->contentType); + int econt_nid = OBJ_obj2nid(CMS_get0_eContentType(cms)); if (ctype_nid == NID_pkcs7_signed) mdalgs = cms->d.signedData->digestAlgorithms; else mdalgs = NULL; return SMIME_write_ASN1(bio, (ASN1_VALUE *)cms, data, flags, - ctype_nid, mdalgs, + ctype_nid, econt_nid, mdalgs, ASN1_ITEM_rptr(CMS_ContentInfo)); } CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont) { - return (CMS_ContentInfo *)SMIME_read_asn1(bio, bcont, + return (CMS_ContentInfo *)SMIME_read_ASN1(bio, bcont, ASN1_ITEM_rptr(CMS_ContentInfo)); } diff --git a/crypto/pkcs7/pk7_mime.c b/crypto/pkcs7/pk7_mime.c index f44ca69..9236298 100644 --- a/crypto/pkcs7/pk7_mime.c +++ b/crypto/pkcs7/pk7_mime.c @@ -87,11 +87,11 @@ int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags) return SMIME_write_ASN1(bio, (ASN1_VALUE *)p7, data, flags, - ctype_nid, mdalgs, + ctype_nid, NID_undef, mdalgs, ASN1_ITEM_rptr(PKCS7)); } PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont) { - return (PKCS7 *)SMIME_read_asn1(bio, bcont, ASN1_ITEM_rptr(PKCS7)); + return (PKCS7 *)SMIME_read_ASN1(bio, bcont, ASN1_ITEM_rptr(PKCS7)); } |