-update to 4.0.1 -- this only adds symbol versioning support to ease
transition from 3.x to 4.x; this is not used in pkgsrc so the
update is purely cosmetical
At long last, libtiff 4.0.0 is finally released. Libtiff 4.0.0 is the
successor to the libtiff 3.9.X release series. It is intended to be
largely API compatible with the 3.9.X releases, but it is definitely
not ABI compatible so any software which plans to use it will need to
be recompiled. With appropriate care, source code can easily compile
with both the 3.9.X releases and libtiff 4.0.0.
This release supports the BigTIFF TIFF format in which all offsets are
unsigned 64-bit, supporting huge files. APIs which deal with tag
offsets are necessarily updated to pass 64-bit values. I/O functions
supporting the TIFFClientOpen() interface are updated to pass 64-bit
offset values.
alternative from mk/jpeg.buildlink3.mk
This allows selection of an alternative jpeg library (namely the x86 MMX,
SSE, SSE2 accelerated libjpeg-turbo) via JPEG_DEFAULT=libjpeg-turbo, and
follows the current standard model for alternatives (fam, motif, fuse etc).
The mechanical edits were applied via the following script:
#!/bin/sh
for d in */*; do
[ -d "$d" ] || continue
for i in "$d/"Makefile* "$d/"*.mk; do
case "$i" in *.orig|*"*"*) continue;; esac
out="$d/x"
sed -e 's;graphics/jpeg/buildlink3\.mk;mk/jpeg.buildlink3.mk;g' \
-e 's;BUILDLINK_PREFIX\.jpeg;JPEGBASE;g' \
< "$i" > "$out"
if cmp -s "$i" "$out"; then
rm -f "$out"
else
echo "Edited $i"
mv -f "$i" "$i.orig" && mv "$out" "$i"
fi
done
done
following vulnerabilities:
- CVE-2010-2233
- CVE-2010-2482
- CVE-2010-2483
- CVE-2010-2595
- CVE-2010-2597
There is no patch for CVE-2010-2596 yet. But it is low risk (an assertion
gets triggered) and cannot be exploited after the above vulnerabilities
are fixed (at least if I understood correctly).
No butcher was involved in fixing this package.
This is a bugfix release to correct serious defects found in libtiff
3.9.0. In particular, it was discovered that libtiff 3.9.0 may
write defective TIFF files. This release is intended to be API and
ABI compatible with libtiff 3.8.2.
MAJOR CHANGES:
* New tiffcrop utility contributed by Richard Nolde. tiffcrop does the
same as tiffcp, but also can crop, extract, rotate and mirror images.
* tif_jbig.c: Added support for JBIG compression scheme (34661 code),
contributed by Lee Howard.
* Totally new implementation of OJPEG module from Joris Van Damme. No
need to patch libjpeg anymore. Many OJPEG files should be supported
now that was not supported previously.
------------------------------------------------
CHANGES IN THE SOFTWARE CONFIGURATION:
* tif_config.wince.h, tiffconf.wince.h, tif_wince.c: WinCE-specific
compatibility stuff from Mateusz Loskot.
* Rename config.h.vc and tif_config.h.vc to config.vc.h and
tif_config.vc.h for easier identification by folks using an IDE.
* configure, configure.ac: OJPEG support enabled by default (i.e., whe
the conformant JPEG support enabled).
* README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: Added
support for OpenVMS by Alexey Chupahin.
* nmake.opt: use /EHsc for VS2005 compatibility. Also define
_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
------------------------------------------------
CHANGES IN LIBTIFF:
* tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to bsearch() on a
NULL fieldinfo list. (_TIFFFindFieldInfoByName): Don't attempt to
lfind() on a NULL fieldinfo list.
* tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it will convert
from decompressor to compressor or compress to decompress if required
by the force arguments. This works around a problem in where the
JPEGFixupTestSubsampling() may cause a decompressor to be setup on a
directory when later a compressor is required with the force flag set.
Occurs with the addtiffo program for instance.
* tif_dirwrite.c: Fixed swapping of byte arrays stored in-place in tag
offsets as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1363
* tif_getimage.c: workaround for 'Fractional scanline' error reading
OJPEG images with rowsperstrip that is not a multiple of vertical
subsampling factor. This bug is mentioned in
http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 and
http://www.asmail.be/msg0054766825.html
* tif_dirread.c: Added special function to handle SubjectDistance EXIF
tag as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1362
* tif_dirread.c, tif_read.c: Type of the byte counters changed from
tsize_t to uint32 to be able to work with data arrays larger than 2GB.
Fixes bug http://bugzilla.remotesensing.org/show_bug.cgi?id=89 Idea
submitted by Matt Hancher.
* tif_dir.c: Workaround for incorrect TIFFs with ExtraSamples == 999
produced by Corel Draw. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1490
* tif_write.c: TIFFAppendToStrip() - clear sorted flag if we move a
strip. http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
* tif_fax3.c: Save the state of printdir codec dependent method.
* tif_jpeg.c: Save the state of printdir codec dependent method as per
bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273
* tif_win32.c: Fixed problem with offset value manipulation as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1322
* tif_fax3.c, tif_next.c, tif_pixarlog.c: Fixed multiple
vulnerabilities, as per Gentoo bug ():
http://bugs.gentoo.org/show_bug.cgi?id=142383
* tif_lzw.c, tif_zip.c: Fixed problems with mixing encoding and decoding
on the same read-write TIFF handle. The LZW code can now maintain
encode and decode state at the same time. The ZIP code will switch
back and forth as needed.
http://bugzilla.remotesensing.org/show_bug.cgi?id=757
* tif_msdos.c: Avoid handle leak for failed opens. c/o Thierry Pierron
* tif_dirwrite.c: take care not to flush out buffer of strip/tile data
in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates to bug
report by Peng Gao with black strip at bottom of images.
* tif_dirwrite.c: make sure to use uint32 for wordcount in
TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. It
already seems to have been done for other field types. Needed for
"tiffset" on files with geotiff ascii text.
* tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
* tif_dirread.c: Move IFD fetching code in the separate function
TIFFFetchDirectory() avoiding code duplication in TIFFReadDirectory()
and TIFFReadCustomDirectory().
* tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
files. Modified TIFFReadDirectory() to not invoke
EstimateStripByteCounts() for case where entry 0 and 1 are unequal but
one of them is zero.
http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
* tif_open.c, tif_dirread.c, tiffiop.h: Move IFD looping checking code
in the separate function TIFFCheckDirOffset().
* tif_aux.c: Added _TIFFCheckRealloc() function.
* tif_fax3.c: Fixed problems in fax decoder as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1194
* tif_jbig.c: Added support for JBIG compression scheme (34661 code)
contributed by Lee Howard. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=896
* tif_getimage.c: Added support for planarconfig separate non-subsampled
YCbCr (i.e. separate YCbCr with subsampling [1,1]).
* tif_getimage.c: Revision of all RGB(A) put routines:
* Conversion of unassociated alpha to associated alpha now done
with more performant LUT, and calculation more correct.
* Conversion of 16bit data to 8bit data now done with more
performant LUT, and calculation more correct
* Bugfix of handling of 16bit RGB with unassociated alpha
* tif_ojpeg.c: totally new implementation
* tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling of OJPEG images
in favor of tif_getimage.c native handling of YCbCr and desubsampling.
* tif_jpeg.c: JPEGVSetField() so that altering the photometric
interpretation causes the "upsampled" flag to be recomputed. Fixes
peculiar bug where photometric flag had to be set before jpegcolormode
flag.
------------------------------------------------
CHANGES IN THE TOOLS:
* tiff2ps.c: Added support 16-bit images as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1566. Patch from
William Bader.
* tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and significant
upgrade of the whole utility as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1560. Now we don't
need tiffiop.h in tiff2pdf anymore and will open output PDF file using
TIFFClientOpen() machinery as it is implemented by Leon Bottou.
* tiffcrop.c: New tiffcrop utility contributed by Richard Nolde. As per
bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1383
* tiff2pdf.c: Do not assume inches when the resolution units do not
specified. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1366
* tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. As per
bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350
* tif2rgba.c: This utility does not work properly on big-endian
architectures. It was fixed including the bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
* tiff2pdf.c: Fix handling of -q values.
http://bugzilla.remotesensing.org/show_bug.cgi?id=587
* tiffcmp.c: Fixed floating point comparison logic as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1191
* tiff2pdf.c: Fixed buffer overflow condition in t2p_write_pdf_string()
as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1196
------------------------------------------------
CHANGES IN THE CONTRIB AREA:
* contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
blocks in TIFF_DownSample_Subsampled() (bug 1542).
* contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. Though it is
still far from the state of being working and useful.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
were detected and tiffgt was built.
No change to package.
(TODO: do not install the tiffgt manual pages. Maybe install separate
tiffgt package if needed.)
"A vulnerability in LibTIFF can be exploited by malicious people to
cause a DoS (Denial of Service) and potentially compromise a user's
system.
The vulnerability is caused due to a boundary error within tiff2pdf
when handling a TIFF file with a "DocumentName" tag that contains
UTF-8 characters. This can be exploited to cause a stack-based buffer
overflow and may allow arbitrary code execution."
http://secunia.com/advisories/20488/http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2193
Patch from Ubuntu.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
MAJOR CHANGES:
* Read-only support for custom directories (e.g. EXIF directory).
* Preliminary support for MS MDI format.
----------------------------------------------------------------------------------------
CHANGES IN THE SOFTWARE CONFIGURATION:
* Make the default strip size configurable via the
--with-default-strip-size and STRIP_SIZE_DEFAULT options.
----------------------------------------------------------------------------------------
CHANGES IN LIBTIFF:
* tiffio.h: Added VC_EXTRALEAN definition before including
windows.h, to reduce the compile time.
* tif_jpeg.c: Improve compilation under MinGW.
* {tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c, tif_print.c,
tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and StoNits tags
custom.
* {tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make WhitePoint tag
custom.
* tiffio.h: fixed typo that potentially resulted in redefininition of
USE_WIN32_FILEIO
* {tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC, Photoshop and
ICCProfile tags custom.
* libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling newer
code to get context indicator in error handler and still remain
compatible with older code: Done TIFFError calls everywhere
except in tools.
* tiffinfo.c: Print EXIF directory contents if exist.
* {tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}: Custom
directory read-only support.
* {tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c,
tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite tags
custom.
* tif_dirread.c: One more workaround for broken StripByteCounts tag.
Handle the case when StripByteCounts array filled with completely wrong
values.
* tif_dirinfo.c: Release file descriptor in case of failure in
the TIFFOpenW() function as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=1003
* tif_dirinfo.c: Correctly yse bsearch() and lfind() functions
as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1008
* tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support for MS
MDI format.
http://bugzilla.remotesensing.org/show_bug.cgi?id=1002
* libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory public.
* /tif_dirinfo.c: Make XResolution, YResolution and ResolutionUnit tags
modifiable during write process. As per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=977
* if_dirread.c: Don't try and split single strips into "0" strips in
ChopUpSingleUncompressedStrip. This happens in some degenerate
cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff)
* tif_fax3.c: changed 'at scanline ...' style warning/errors with
incorrect use of tif_row, to 'at line ... of strip/tile ...'
style.
CHANGES IN THE TOOLS:
* tiffcp.c: Added many error reporting messages; fixed integer
overflow as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=789
* tiffcp.c: Return non-zero status when reading fails.
* fax2tiff.c: Properly calculate sizes of temporary arrays as
per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=943
* fax2tiff.c: Added option '-r' to set RowsPerStrip parameter as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=944
* tiffdump.c: Fixed typeshift and typemask arrays initialization problem
as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=946
* bmp2tiff.c: Fixed possible integer overflow error as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=965
* tiffsplit.c: Copy fax related fields over splitted parts as
per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=983
* tiffdump.c: Fixed crash when reading malformed tags.
* tiff2pdf.c: Added missed 'break' statement as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=932
MAJOR CHANGES:
* Fixed important bug in custom tags handling code..
------------------------------------------------
CHANGES IN THE SOFTWARE CONFIGURATION:
* Applied patch from Patrick Welche (all scripts moved in the 'config'
and 'm4' directories).
* SConstruct, libtiff/SConstruct: Added the first very preliminary
support for SCons software building tool (http://www.scons.org/). This
is experimental infrastructure and it will exist along with the
autotools stuff.
* port/lfind.c: Added lfind() replacement module.
------------------------------------------------
CHANGES IN LIBTIFF:
* tif_dir.c: When prefreeing tv->value in TIFFSetFieldV also set it to
NULL to avoid double free when re-setting custom string fields as per:
http://bugzilla.remotesensing.org/show_bug.cgi?id=922
* tif_dir.c: Fixed up support for swapping "double complex" values (128
bits as 2 64 bits doubles). GDAL gcore tests now pass on bigendian
(macosx) system.
* libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to SHORTs
in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples() function,
use TIFFFetchNormalTag() instead as per bug
http://bugzilla.remotesensing.org/show_bug.cgi?id=831 Remove
TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() instead.
* tif_print.c: Fixed printing of the BYTE and SBYTE arrays.
* tif_write.c: Do not check the PlanarConfiguration field in the
TIFFWriteCheck() function in case of single band images (as per TIFF
spec).
* libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}: Make
FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera,
ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom.
------------------------------------------------
CHANGES IN THE TOOLS:
* tiffcp.c: Fixed WhitePoint tag copying.
------------------------------------------------
CHANGES IN THE CONTRIB AREA:
* tiffdump.c: Added support for TIFF_IFD datatype.
* addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: Make
overviews working for contiguous images.
Many bugfixes and several new features. The runtime endianness check
has been replaced with the compile time one. Support has been added
for the new predictor type (floating point predictor) defined at the
TIFF Technical Note 3, for custom tags passed by value, and for all
DNG tags.
Package changes:
Put options in options.mk, and retire support for USE_GIF; turn on
the lzw option by default (since USE_GIF was on by default).
C++ library's name changed, to be in sync with tiff distribution's name
for it (libtiffcxx -> libtiffxx).
Changes in 3.7.2:
Maintainance [sic] release. Many bugfixes in the build
environment and compatibility improvements.