Loading CHANGES +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ cleartext signing (multipart/signed type) is effectively streaming and the signed data does not need to be all held in memory. This is done with a new flag PKCS7_PARTSIGN. When this flag is set This is done with a new flag PKCS7_STREAM. When this flag is set PKCS7_sign() only initializes the PKCS7 structure and the actual signing is done after the data is output (and digests calculated) in SMIME_write_PKCS7(). Loading apps/smime.c +2 −2 Original line number Diff line number Diff line Loading @@ -482,10 +482,10 @@ int MAIN(int argc, char **argv) * signing. */ if ((flags & PKCS7_DETACHED) && (outformat == FORMAT_SMIME)) flags |= PKCS7_PARTSIGN; flags |= PKCS7_STREAM; p7 = PKCS7_sign(signer, key, other, in, flags); /* Don't need to rewind for partial signing */ if (!(flags & PKCS7_PARTSIGN) && (BIO_reset(in) != 0)) { if (!(flags & PKCS7_STREAM) && (BIO_reset(in) != 0)) { BIO_printf(bio_err, "Can't rewind input file\n"); goto end; } Loading crypto/asn1/tasn_enc.c +4 −2 Original line number Diff line number Diff line Loading @@ -494,6 +494,9 @@ static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out, const A if(out) { if(usetag) ASN1_put_object(out, ndef, len, tag, aclass); asn1_ex_i2c(pval, *out, &utype, it); if (ndef) ASN1_put_eoc(out); else *out += len; } Loading Loading @@ -598,7 +601,6 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, const ASN1_ { strtmp->data = cout; strtmp->length = 0; ASN1_put_eoc(&cout); } /* Special return code */ return -2; Loading crypto/pkcs7/pk7_mime.c +1 −1 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ static int pkcs7_output_data(BIO *out, BIO *data, PKCS7 *p7, int flags) { BIO *tmpbio, *p7bio; if (!(flags & PKCS7_PARTSIGN)) if (!(flags & PKCS7_STREAM)) { SMIME_crlf_copy(data, out, flags); return 1; Loading crypto/pkcs7/pk7_smime.c +1 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, } } if (flags & PKCS7_PARTSIGN) if (flags & PKCS7_STREAM) return p7; if (!(p7bio = PKCS7_dataInit(p7, NULL))) { Loading Loading
CHANGES +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ cleartext signing (multipart/signed type) is effectively streaming and the signed data does not need to be all held in memory. This is done with a new flag PKCS7_PARTSIGN. When this flag is set This is done with a new flag PKCS7_STREAM. When this flag is set PKCS7_sign() only initializes the PKCS7 structure and the actual signing is done after the data is output (and digests calculated) in SMIME_write_PKCS7(). Loading
apps/smime.c +2 −2 Original line number Diff line number Diff line Loading @@ -482,10 +482,10 @@ int MAIN(int argc, char **argv) * signing. */ if ((flags & PKCS7_DETACHED) && (outformat == FORMAT_SMIME)) flags |= PKCS7_PARTSIGN; flags |= PKCS7_STREAM; p7 = PKCS7_sign(signer, key, other, in, flags); /* Don't need to rewind for partial signing */ if (!(flags & PKCS7_PARTSIGN) && (BIO_reset(in) != 0)) { if (!(flags & PKCS7_STREAM) && (BIO_reset(in) != 0)) { BIO_printf(bio_err, "Can't rewind input file\n"); goto end; } Loading
crypto/asn1/tasn_enc.c +4 −2 Original line number Diff line number Diff line Loading @@ -494,6 +494,9 @@ static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out, const A if(out) { if(usetag) ASN1_put_object(out, ndef, len, tag, aclass); asn1_ex_i2c(pval, *out, &utype, it); if (ndef) ASN1_put_eoc(out); else *out += len; } Loading Loading @@ -598,7 +601,6 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, const ASN1_ { strtmp->data = cout; strtmp->length = 0; ASN1_put_eoc(&cout); } /* Special return code */ return -2; Loading
crypto/pkcs7/pk7_mime.c +1 −1 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ static int pkcs7_output_data(BIO *out, BIO *data, PKCS7 *p7, int flags) { BIO *tmpbio, *p7bio; if (!(flags & PKCS7_PARTSIGN)) if (!(flags & PKCS7_STREAM)) { SMIME_crlf_copy(data, out, flags); return 1; Loading
crypto/pkcs7/pk7_smime.c +1 −1 Original line number Diff line number Diff line Loading @@ -125,7 +125,7 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, } } if (flags & PKCS7_PARTSIGN) if (flags & PKCS7_STREAM) return p7; if (!(p7bio = PKCS7_dataInit(p7, NULL))) { Loading