In 0.9.8f, pkcs7_output_data just copies the input data to the output bio without examining it if the PKCS7_STREAM flag is not set:
if (!(flags & PKCS7_STREAM)) { SMIME_crlf_copy(data, out, flags); return 1; } /* Partial sign operation */ /* Initialize sign operation */ p7bio = PKCS7_dataInit(p7, out); ... Sometime between then and 0.9.8x, that was changed to check for the SMIME_DETACHED aka PKCS7_DETACHED flag instead: if (!(flags & SMIME_DETACHED)) { SMIME_crlf_copy(data, out, flags); return 1; } /* Let PKCS7 code prepend any needed BIOs */ p7bio = PKCS7_dataInit(p7, out); ... Was that intentional? Brian ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org