X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Message-Id: <201405112315.s4BNFCd2006245@delorie.com> Date: Mon, 12 May 2014 00:39:13 +0200 From: Juan Manuel Guerrero To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: DJGPP port of library JBIG 2.1 uploaded. Content-Type: text/plain; charset=ISO-8859-15; format=flowed Reply-To: djgpp AT delorie DOT com This is a port of library JBIG 2.1 to MSDOS/DJGPP. The JBIG-KIT lossless image compression library implements a highly effective data compression algorithm for bi-level high-resolution images such as fax pages or scanned documents. This release adds a separate lightweight "T.85" version of the encoder and decoder library. This new T.85 library is optimized for embedded low-memory applications, such as printers and fax machines. It implements only the subset of the JBIG standard that is required by the ITU-T T.85 fax profile, namely only a single bit plane and no differential layers and some other restrictions. DJGPP specific changes. ======================= The code of the utility programs has been changed in such a way that their stdin and stdout is always switched into binary mode. This is necessary to be able to process data that is piped to stdin from other programs or piped from stdout to other programs. It is clear that you will no longer be able to interrupt one of the utility programs by pressing Cntl-C, but this will make the test suite pass flawlessly and will make work the programs if used in a pipe. If this program behavior is not wanted, you will have to recompile those programs with the macro SET_STDIN_STDOUT_IN_BINARY_MODE set to 0 in the following four files: /pbmtools/jbgtopbm.c, /pbmtools/jbgtopbm85.c, /pbmtools/pbmtojbg.c and /pbmtools/pbmtojbg85.c. In that case you will get binaries that can be interrupted from the console but that will not be able to read or write files from stdin and stdout because they operate in text mode. Of course, the programs will always read and write in binary mode. The code of the libraries itself have not been modified at all. The package does not need any configuration. To compile the products simple use the provided makefiles. As usual the diffs file is stored in /djgpp. To avoid file name clashes on SFN systems I have renamed the programs jbgtopbm85.exe and pbmtojbg85.exe to 85jbgtopbm.exe and 85pbmtojbg.exe. The library libjbig85.a will have the truncated file name libjbig8.a if extracted on SFN systems. I have preferred not to change the library name in the hope that scripts and makefiles that relay on the original name continue working on SFN systems without the need of modifications. Please read the docs to become familiar with the products. This is an verbatim extract of the CHANGES file: ------------------------------------------------------------------------------- Changes in version 2.1 (2014-04-08) This is a security-critical bug-fix release that remains API and ABI backwards compatible to version 2.0. Users who process BIE data from untrusted sources should upgrade. - fixed a buffer-overflow vulnerability in the jbig.c decoder, reported by Florian Weimer (Red Hat): CVE-2013-6369 - fixed ability of corrupted input data to force jbig85.c decoder into an end-less loop - fixed a bug in the processing of private deterministic-prediction tables (DPPRIV=1) in jbig.c decoder - fixed integer-type mismatches in printf arguments on 64-bit systems - fuzz-testing script added ------------------------------------------------------------------------------- The port has been compiled using stock djdev203 (patchlevel 2) and consists of the usual three packages that can be downloaded from ftp.delorie.com and mirrors as (time stamp 2014-05-11): library JBIG 2.1 headers, libs, programs and man format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2tk/jbig21b.zip library JBIG 2.1 source: ftp://ftp.delorie.com/pub/djgpp/current/v2tk/jbig21s.zip The binaries have been produced a second time using the stock version of djdev204 beta library. This package is available at ftp.delorie.com and mirrors as (time stamp 2014-05-11): library JBIG 2.1 headers, libs, programs and man format documentation: ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/jbig21b.zip Send library JBIG specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel