text: The components in this area implement several file decompression
  mechanisms.  They provide real-time decompression to permit inspection
  (rules) of the decompressed content.
  
  In particular the components support these decompression options:
  
  1. Decompress SWF (Adobe Flash) files compressed with the ZLIB algorithm
  
  2. Optionally decompress SWF files compressed with the LZMA algorithm.
     This is only available if Snort ++ is built with the optional LZMA
     support.
  
  3. Decompress the Deflate compressed portions of PDF files.
  
  The three modes are individually enabled/disabled at initialization time.
  
  All parsing and decompression is incremental and allows inspection to
  proceed as the file is received and processed.
  
  SWF File Processing:
  
  SWF files exist in three forms: 1) uncompressed, 2) ZLIB compressed, and 3)
  LZMA compressed.  SWF files begin with a file signature block (always
  uncompressed) to indicate the format of the balance of the file.  The
  balance of the file is formatted and processed as specified.
  
  PDF files are significantly more complex as the compressed content is
  embedded within the PDF syntax and one file may contain one or many
  compressed segments.
  
  Thus the PDF decompression engine implements a lightweight PDF file parser
  to locate the PDF Stream segments and then attempt to decompress Streams
  that are filtered with the FlateDecode compression.  Streams are binary
  objects that are used for much of the PDF actual content.  A Stream object
  can be labeled with a Filter option to indicate that the Steam is encoded
  in some fashion, perhaps having multiple cascaded Filters.
  
  The current implementation supports the most common FlateDecode Filter
  option and does not support cascaded Filters (including cascaded
  FlateDecode's).
  
  The decompressor processors can indicate several error situations.  There
  are two mechanisms used to relay these error codes to the calling context.
  Some errors terminate processing and are passed to the caller in the
  decompression context structure.  Other errors are inline and may be passed
  back to the caller via a provided call-back function.
  
  Possible error conditions are:
  
  * FILE_DECOMP_ERR_SWF_ZLIB_FAILURE - The ZLIB decompression engine returned
    an error.
  
  * FILE_DECOMP_ERR_SWF_LZMA_FAILURE - The LZMA decompression engine returned
    an error.
  
  * FILE_DECOMP_ERR_PDF_DEFL_FAILURE - The Deflate (form  of ZLIB)
    decompression engine returned at error.
  
  * FILE_DECOMP_ERR_PDF_UNSUP_COMP_TYPE - An unsupported PDF Stream Filter
    type was encountered,
  
  * FILE_DECOMP_ERR_PDF_CASC_COMP - Cascasded FlateDecode Stream Filters were
    encountered.
  
  * FILE_DECOMP_ERR_PDF_PARSE_FAILURE -  Error while parsing the PDF file.
  
  