Loading crypto/asn1/asn1.h +3 −3 Original line number Diff line number Diff line Loading @@ -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); \ Loading Loading @@ -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); Loading crypto/asn1/asn_mime.c +5 −3 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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"; Loading Loading @@ -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; Loading crypto/cms/cms_io.c +3 −2 Original line number Diff line number Diff line Loading @@ -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)); } crypto/pkcs7/pk7_mime.c +2 −2 Original line number Diff line number Diff line Loading @@ -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)); } test/cms-test.pl +12 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ my $smdir = "smime-certs"; my $halt_err = 1; my $badcmd = 0; my $ossl8 = `$ossl_path version -v` =~ /0\.9\.8/; my @smime_pkcs7_tests = ( Loading Loading @@ -333,6 +334,8 @@ else { print "Zlib not supported: compression tests skipped\n"; } print "Running modified tests for OpenSSL 0.9.8 cms backport\n" if($ossl8); if ($badcmd) { print "$badcmd TESTS FAILED!!\n"; } Loading @@ -351,6 +354,15 @@ sub run_smime_tests { foreach $smtst (@$aref) { my ( $tnam, $rscmd, $rvcmd ) = @$smtst; if ($ossl8) { # Skip smime resign: 0.9.8 smime doesn't support -resign next if ($scmd =~ /smime/ && $rscmd =~ /-resign/); # Disable streaming: option not supported in 0.9.8 $tnam =~ s/streaming//; $rscmd =~ s/-stream//; $rvcmd =~ s/-stream//; } system("$scmd$rscmd 2>cms.err 1>cms.out"); if ($?) { print "$tnam: generation error\n"; Loading Loading
crypto/asn1/asn1.h +3 −3 Original line number Diff line number Diff line Loading @@ -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); \ Loading Loading @@ -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); Loading
crypto/asn1/asn_mime.c +5 −3 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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"; Loading Loading @@ -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; Loading
crypto/cms/cms_io.c +3 −2 Original line number Diff line number Diff line Loading @@ -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)); }
crypto/pkcs7/pk7_mime.c +2 −2 Original line number Diff line number Diff line Loading @@ -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)); }
test/cms-test.pl +12 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ my $smdir = "smime-certs"; my $halt_err = 1; my $badcmd = 0; my $ossl8 = `$ossl_path version -v` =~ /0\.9\.8/; my @smime_pkcs7_tests = ( Loading Loading @@ -333,6 +334,8 @@ else { print "Zlib not supported: compression tests skipped\n"; } print "Running modified tests for OpenSSL 0.9.8 cms backport\n" if($ossl8); if ($badcmd) { print "$badcmd TESTS FAILED!!\n"; } Loading @@ -351,6 +354,15 @@ sub run_smime_tests { foreach $smtst (@$aref) { my ( $tnam, $rscmd, $rvcmd ) = @$smtst; if ($ossl8) { # Skip smime resign: 0.9.8 smime doesn't support -resign next if ($scmd =~ /smime/ && $rscmd =~ /-resign/); # Disable streaming: option not supported in 0.9.8 $tnam =~ s/streaming//; $rscmd =~ s/-stream//; $rvcmd =~ s/-stream//; } system("$scmd$rscmd 2>cms.err 1>cms.out"); if ($?) { print "$tnam: generation error\n"; Loading