Bill Allombert wrote:

> Honestly, unless you provide evidence that PS files that include invalid
> jpeg-encoded data are still in use, I am not going to include two new packages
> to support non-standard compliant data in Debian, and in any case, I doubt the
> FTP master would let me. 

Makes sense.  Currently ghostscript/README.Debian says:

        GPL Ghostscript is linked against the shared IJG JPEG library (not a
        statically linked local copy).  Some valid PostScript and PDF files will
        fail to parse due to some (old, presumably?) Adobe interpreters
        violating the JPEG standard.  More info at [bug#582521].

        [bug#582521]: <http://bugs.debian.org/582521>

http://www.ghostscript.com/pipermail/gs-code-review/2002-March/002275.html
tells a slightly different story:

           First, I have no doubt that at one time there were files in the
        wild that exceeded the JPEG standard for the number of blocks in the
        MCU. In fact, Adobe's tech note 5116 suggests that Adobe did come
        across such implementations in their own interoperability testing
        in 1991. This tech note also states that Adobe's implementation, at
        least in some cases, will tolerate such out-of-spec JPEG streams.

           That said, the PRLM3 states quite straightforwardly that the number
        of blocks in the MCU must not exceed 10. The PRLM2 contains the same
        condition, but attributes it to "the JPEG-proposed standard". Thus,
        I believe that any PostScript file containing a non-compliant JPEG
        stream can safely be considered invalid.

           How likely are we to run across such invalid files? A note from Tom
        Lane (author of libjpeg) states that he's never seen such a file, nor
        has he recieved a bug report from anybody about the MCU issue:

              http://remotesensing.org/lists/libtiff_archive/msg00355.html

           Thus, I conclude that the chance of ordinary users running across a
        problem with such files is nil.

So I do not even think that there are old Adobe interpreters involved
(despite what jpeglib.h says).  Would it be enough to say something
like this?

        On Debian systems, ghostscript is linked against the shared
        IJG JPEG library, instead of using the patched local copy
        bundled with the ghostscript source.  The two versions of
        the library behave identically except in two respects, both
        concerning invalid JPEG streams:

        - The bundled libjpeg fakes a valid component id when JPEG
          streams include an SOF or SOS marker whose component
          identifiers are not all distinct (see the description of
          C_i in B.2.2 of the JPEG spec).  The shared IJG JPEG
          library produces artifacts (e.g., stripes) when presented
          with such component ids.

          http://bugs.ghostscript.com/show_bug.cgi?id=686980

        - The bundled libjpeg is configured to accept up to 64 blocks
          per MCU, instead of the limit of 10 blocks per MCU described
          in the Postscript reference manual and JPEG standard.
          According to lore and Adobe's tech note 5116, in 1991 Adobe
          came across some files in the wild exceeding the standard
          for blocks per MCU, and Adobe's implementation would
          sometimes accept such streams.

        If you come across a file triggering either of these
        conditions, please let us know by reporting a bug against
        the ghostscript package.



-- 
To UNSUBSCRIBE, email to debian-printing-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110806232954.ga4...@elie.gateway.2wire.net

Reply via email to