1=pod 2 3=head1 NAME 4 5 CMS_uncompress - uncompress a CMS CompressedData structure 6 7=head1 SYNOPSIS 8 9 #include <openssl/cms.h> 10 11 int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags); 12 13=head1 DESCRIPTION 14 15CMS_uncompress() extracts and uncompresses the content from a CMS 16CompressedData structure B<cms>. B<data> is a BIO to write the content to and 17B<flags> is an optional set of flags. 18 19The B<dcont> parameter is used in the rare case where the compressed content 20is detached. It will normally be set to NULL. 21 22=head1 NOTES 23 24The only currently supported compression algorithm is zlib: if the structure 25indicates the use of any other algorithm an error is returned. 26 27If zlib support is not compiled into OpenSSL then CMS_uncompress() will always 28return an error. 29 30The following flags can be passed in the B<flags> parameter. 31 32If the B<CMS_TEXT> flag is set MIME headers for type B<text/plain> are deleted 33from the content. If the content is not of type B<text/plain> then an error is 34returned. 35 36=head1 RETURN VALUES 37 38CMS_uncompress() returns either 1 for success or 0 for failure. The error can 39be obtained from ERR_get_error(3) 40 41=head1 BUGS 42 43The lack of single pass processing and the need to hold all data in memory as 44mentioned in CMS_verify() also applies to CMS_decompress(). 45 46=head1 SEE ALSO 47 48L<ERR_get_error(3)|ERR_get_error(3)>, L<CMS_compress(3)|CMS_compress(3)> 49 50=head1 HISTORY 51 52CMS_uncompress() was added to OpenSSL 0.9.8 53 54=cut 55