2013-05-02  Tom Lane  <tgl@sss.pgh.pa.us>

	* tools/tiff2pdf.c: Rewrite JPEG marker parsing in
	t2p_process_jpeg_strip to be at least marginally competent.  The
	approach is still fundamentally flawed, but at least now it won't
	stomp all over memory when given bogus input.  Fixes CVE-2013-1960.

2013-05-02  Tom Lane  <tgl@sss.pgh.pa.us>

	* contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c,
 	libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c,
 	tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c,
 	tools/tiffdither.c: Enlarge some fixed-size buffers that weren't
 	large enough, and eliminate substantially all uses of sprintf(buf,
 	...)  in favor of using snprintf(buf, sizeof(buf), ...), so as to
 	protect against overflow of fixed-size buffers.  This responds in
 	particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
 	t2p_write_pdf_page(), but in general it seems like a good idea to
 	deprecate use of sprintf().

2013-01-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiff2ps.c:Fix bug in auto rotate option code. Once a
	rotation angle was set by the auto rotate check, it was retained
	for all pages that followed instead of being retested for each
	page.  Patch by Richard Nolde.

2012-12-12  Tom Lane  <tgl@sss.pgh.pa.us>

	* libtiff/tif_print.c: Back-patch recent fixes in
	TIFFPrintDirectory to make it handle field_passcount fields sanely
	for both TIFF_VARIABLE and TIFF_VARIABLE2 cases.

2012-12-10  Tom Lane  <tgl@sss.pgh.pa.us>

	* tools/ppm2tiff.c: Back-patch fix for CVE-2012-4564.

2012-12-10  Tom Lane  <tgl@sss.pgh.pa.us>

	* libtiff/tif_pixarlog.c: Back-patch recent security fixes for
	tif_pixarlog.c, namely the fix for CVE-2012-4447 and protections
	against accessing outside the lookup arrays for out of range
	inputs.

2012-11-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* automake: Update Automake to 1.12.5 release.

2012-09-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.7 released.

	* automake: Update to use GNU automake 1.12.4

2012-07-19  Tom Lane  <tgl@sss.pgh.pa.us>

	* tools/tiff2pdf.c: Fix two places where t2p_error didn't get set
	after a malloc failure.  No crash risk AFAICS, but the program
	might not report exit code 1 as desired.  h/t mancha@mac.hush.com

2012-07-18  Tom Lane  <tgl@sss.pgh.pa.us>

	* tools/tiff2pdf.c: Fail when TIFFSetDirectory() fails.  This
	prevents core dumps or perhaps even arbitrary code execution when
	processing a corrupt input file (CVE-2012-3401).

2012-06-15  Tom Lane  <tgl@sss.pgh.pa.us>

	* libtiff/tif_strip.c, libtiff/tif_tile.c: Back-patch the 4.0
	behavior of treating signed overflow as an error in TIFFVStripSize
	and TIFFVTileSize.  This is needed since the result is declared as
	tsize_t which is signed, and callers are likely to do the wrong
	thing entirely when the returned value is negative (CVE-2012-2088).

	* tools/tiff2pdf.c: Defend against integer overflows while
	calculating required buffer sizes (CVE-2012-2113).

2012-06-04  Frank Warmerdam  <warmerdam@google.com>

	* libtiff/tif_dirread.c: Avoid trusting samplesperpixel's default
	of 1 for purposes of trimming tags.  This is to get some super
	crappy OJPEG files to work again.  Grr.
	http://bugzilla.maptools.org/show_bug.cgi?id=2348

2012-06-01  Frank Warmerdam  <warmerdam@google.com>

	* libtiff/tif_dir.c: Avoid generic handling of TIFFTAG_WHITELEVEL.
	http://bugzilla.maptools.org/show_bug.cgi?id=2321

2012-05-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* man/TIFFGetField.3tiff: Correct the 'count' field type in the
	example for how to retreive the value of unsupported tags.

2012-03-30  Frank Warmerdam  <warmerdam@google.com>

	* tif_getimage.c: Fix size overflow (zdi-can-1221,CVE-2012-1173)
	care of Tom Lane @ Red Hat.


2012-02-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.6 released.

	* libtiff/tiffio.h: Use double-underbar syntax in GCC printf
	attribute specification to lessen the risk of accidental macro
	substitution.  Patch from Vincent Torri.

2012-01-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Add support for using library symbol versioning on
	ELF systems with the GNU linker.  Support is enabled via
	--enable-ld-version-script and is disabled by default since it
	completely changes the ABI.

2011-10-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* Update GNU libtool to 2.4.2.

	* tools/tiffsplit.c (tiffcp): TIFFGetField count field should be
	uint32 type for TIFFTAG_JPEGTABLES.  Patch by Christophe
	Deroulers.

2011-06-08  Dwight Kelly  <dkelly@apago.com>

	* tif_apple.c: fix for Bug 2247 - tif_apple.c _tiffSizeProc() did
	  not pass correct number arguments to TIFFErrorExt()

2011-04-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.5 released.

2011-04-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Should use AC_CANONICAL_HOST since host specifies
	the run-time target whereas target is used to specify the final
	output target if the package is a build tool (like a compiler),
	which libtiff is not.  Resolves libtiff bug 2307 "Use
	AC_CANONICAL_HOST macro".

2011-04-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/fax2ps.c (main): Use tmpfile() rather than mkstemp() since
	it is much more portable.  Tmpfile is included in ISO/IEC
	9899:1990 and the WIN32 CRT.

2011-03-21  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiffiop.h: avoid declaring int64/uint64 on AIX with XLC
	where they are already available.  (#2301)

	* libtiff/tif_thunder.c: Correct potential buffer overflow with
	thunder encoded files with wrong bitspersample set.  The libtiff
	development team would like to thank Marin Barbella and TippingPoint's
	Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
	CVE-2011-1167).
	http://bugzilla.maptools.org/show_bug.cgi?id=2300

2011-03-10  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_fax3.h: Fix to last change allowing zero length
	runs at the start of a scanline - needed for legal cases.

2011-03-02  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
	a move left.  Without this, a malicious input file can generate an
	indefinitely large series of runs without a0 ever reaching the right
	margin, thus overrunning our buffer of run lengths.  Per CVE-2011-0192.
	This is a modified version of a patch proposed by Drew Yao of Apple
	Product Security.  It adds an unexpected() report, and disallows the
	equality case, since emitting a run without increasing a0 still allows
	buffer overrun.

2011-02-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirwrite.c: Avoid undefined behaviour when casting from
	float to unsigned integer in TIFFWriteRationalArray() as reported by
	Kareem Shehata.

2011-01-03  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
	caused by commit on 2010-12-14.  Submitted by e-mail from
	Even Rouault <even.rouault@mines-paris.org>

2010-12-31  Olivier Paquet  <olivier.paquet@gmail.com>

	* libtiff/tif_dirread.c: Allow reading directories where
	TIFFTAG_SMINSAMPLEVALUE and TIFFTAG_SMAXSAMPLEVALUE values differ for each
	channel. The min/max of all channels is used as appropriate.

2010-12-14  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_dirread.c: tolerate some cases where
	FIELD_COLORMAP is missing
	http://bugzilla.maptools.org/show_bug.cgi?id=2189

2010-12-14  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_strip.c: use TIFFGetFieldDefaulted instead
	of TIFFGetField when we assume that it will succeed
	http://bugzilla.maptools.org/show_bug.cgi?id=2215

2010-12-14  Lee Howard <faxguy@howardsilvan.com>

	* tools/gif2tiff.c: fix buffer overrun
	http://bugzilla.maptools.org/show_bug.cgi?id=2270

2010-12-14  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_jpeg.c: reduce usage of JCS_UNKNOWN in order
	to improve compatibility with various viewers
	submitted by e-mail from Dwight Kelly <dkelly@apago.com>

2010-12-13  Lee Howard <faxguy@howardsilvan.com>

	* tools/fax2ps.c: be consistent with page-numbering
	http://bugzilla.maptools.org/show_bug.cgi?id=2225

2010-12-13  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_dirread.c: fix needless tag ordering warning
	http://bugzilla.maptools.org/show_bug.cgi?id=2210

2010-12-13  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_color.c: prevent crash in handling bad TIFFs
	resolves CVE-2010-2595
	http://bugzilla.maptools.org/show_bug.cgi?id=2208

2010-12-13  Lee Howard <faxguy@howardsilvan.com>

	* tools/tiffcrop.c: new release by Richard Nolde
	http://bugzilla.maptools.org/show_bug.cgi?id=2004

2010-12-12  Lee Howard <faxguy@howardsilvan.com>

	* tools/tiff2pdf.c: fix colors for images with RGBA
	interleaved data
	http://bugzilla.maptools.org/show_bug.cgi?id=2250

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* tools/tiff2pdf.c: remove invalid duplication for Lab
	http://bugzilla.maptools.org/show_bug.cgi?id=2162

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_jpeg.c: fix use of clumplines calculation
	http://bugzilla.maptools.org/show_bug.cgi?id=2149

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* tools/fax2ps.c: replace unsafe tmpfile() with mkstemp()
	http://bugzilla.maptools.org/show_bug.cgi?id=2118

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* tools/tiff2pdf.c: add fill-page option
	 http://bugzilla.maptools.org/show_bug.cgi?id=2051

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_dirread.c: modify warnings
	http://bugzilla.maptools.org/show_bug.cgi?id=2016

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_ojpeg.c: fix buffer overflow on problem data
	http://bugzilla.maptools.org/show_bug.cgi?id=1999

2010-12-11  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_ojpeg.c: fix crash when reading a TIFF with a zero
	or missing byte-count tag
	* tools/tiffsplit.c: abort when reading a TIFF without a byte-count
	per http://bugzilla.maptools.org/show_bug.cgi?id=1996

2010-12-08  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_dirread.c: fix crash when reading a badly-constructed
	TIFF per http://bugzilla.maptools.org/show_bug.cgi?id=1994

2010-12-07  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_jpeg.c, libtiff/tif_strip.c: apply patch for
	CVE-2010-3087 per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2140

2010-12-06  Lee Howard <faxguy@howardsilvan.com>

	* libtiff/tif_open.c: Fix mode check before opening a file.
	http://bugzilla.maptools.org/show_bug.cgi?id=1906

2010-09-25  Lee Howard <faxguy@howardsilvan.com>

	* tools/tiff2ps.c: improvements and enhancements from Richard Nolde
	with additional command line options for Document Title,
	Document Creator, and Page Orientation

2010-07-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c: Patch from Richard Nolde to avoid a
	potentially unterminated buffer due to using an exceptionally long
	file name.

2010-07-08  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Fixed ID buffer filling in
	t2p_write_pdf_trailer(), thanks to Dmitry V. Levin.

2010-07-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Really reset the tag count in CheckDirCount()
	to expected value as the warning message suggests. As per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=1963

	* tools/tiffdump.c: Avoid integer overflows computing the buffer size
	for large directories. As per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2218

2010-07-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffset.c: Properly handle TIFFTAG_PAGENUMBER,
	TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING, TIFFTAG_DOTRANGE
	which should be set by value.

	* libtiff/tif_dirinfo.c: Don't use assertions in _TIFFFieldWithTag()
	and _TIFFFieldWithName() if the tag is not found in the tag table.
	This should be normal situation and returned NULL value should be
	properly handled by the caller.

	* libtiff/{tif_dirwrite.c, tif_print.c}: Properly handle "DotRange"
	tag as it can be either byte or short size and should be set and read
	by value, not as an array. As per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2116

2010-07-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_getimage.c: Avoid wrong math du to the signed/unsigned
	integer type conversions. As per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2207

	* tools/{tiff2bw.c, thumbnail.c, pal2rgb.c}: Fix the count for
	WhitePoint tag as per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2042

	* tools/tiffdump.c: Use PrintData() function instead of
	PrintByte/Short/Long(). Should fix an issue reported at
	http://bugzilla.maptools.org/show_bug.cgi?id=2116

	* libtiff/tif_getimage.c: Check the number of samples per pixel when
	working with YCbCr image in PickContigCase(). As per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2216

	* libtiff/tif_dir.c: Set the bogus post-decoding hook when processing
	TIFFTAG_BITSPERSAMPLE in _TIFFVSetField() for the case of 8 bit when
	we don't need any post-processing. That helps to reset the hook if we
	previously set this field to some other value and the hook was
	initialized accordingly. As per bug
	http://bugzilla.maptools.org/show_bug.cgi?id=2035

2010-06-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Better generation of ID field in
	t2p_write_pdf_trailer(). Get rid of GCC aliasing warnings.

	* tools/tiff2pdf.c: Fixed computation of the tile buffer size when
	converting JPEG encoded tiles.

	* tools/tiff2pdf.c: Better handling of string fields, use static
	string buffers instead of dynamically allocated, use strncpy() instead
	of strcpy(), control the string lengths.

2010-06-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Initialize buffer arrays with zero to avoid
	referencing to uninitialized memory in some cases (e.g. when tile size
	set bigger than the image size).

2010-06-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c: Patch from Richard Nolde. Reject YCbCr
	subsampled data since tiffcrop currently doesn't support it.  Fix
	JPEG support.

2010-06-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.4 released.

2010-06-13  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: avoid re-preparing jpeg tables unnecessarily
	(gdal #3633, libtiff #2135).

	* libtiff/tif_dirread.c: Fixed bad handling of out of order tags
	definated late by a codec (#2210)

	* libtiff/tif_dirread.c: Fixed inadequate validation of the
	SubjectDistance field (#2212).

	* tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
	in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
	wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
	size is larger.  Also, there are a bunch of places that try to
	memset() a malloc'd buffer before checking for malloc failure, which
	would result in core dump if there actually were a failure. (#2211)

2010-06-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiff2rgba.c: Applied portion of patch (from Tom Lane)
	which was left out in order to fully resolve "CVE-2009-2347
	libtiff: integer overflows in various inter-color space conversion
	tools". http://bugzilla.maptools.org/show_bug.cgi?id=2079

	* libtiff/tiffiop.h (TIFFSafeMultiply): Need more castings to
	avoid compiler warnings if parameter types are not sign
	consistent.

	* tools/tiffcrop.c: Applied patch from Richard Nolde: Corrected
	European page size dimensions.  Added an option to allow the user
	to specify a custom page size on the command line.  Fix the case
	where a page size specified with a fractional part was being
	coerced to an integer by retyping the variables that define the
	paper size.

	* libtiff 3.9.3 released.

	* tools/tiffcp.c (tiffcp): Applied Tom Lane's patch to reject
	YCbCr subsampled data since tiffcp currently doesn't support it.
	http://bugzilla.maptools.org/show_bug.cgi?id=2097

	* Update libtool to version 2.2.10.

2010-06-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiffiop.h (TIFFSafeMultiply): Work properly if
	multiplier is zero.

2010-06-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dir.h: Restore ReferenceBlackWhite as a non-custom
	field.  This avoids a multi-thread reentrancy problem as well as
	fixing output of wrong tag value due to redundant definitions for
	the same tag in the tiffFieldInfo[] array.  Resolves
	http://bugzilla.maptools.org/show_bug.cgi?id=2185

	* libtiff/tif_fax3.c (Fax3SetupState): Yesterday's fix for
	CVE-2010-1411 was not complete.

	* libtiff/tiffiop.h (TIFFSafeMultiply): New macro to safely
	multiply two integers.  Returns zero if there is an integer
	overflow.

	* tools/tiffcp.c (main): Fix more TIFF handle leaks.

	* libtiff/tif_read.c (TIFFReadBufferSetup): Skip allocating
	tif_rawdata if tif_rawdatasize becomes zero.

2010-06-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c: Removed duplicated macros such as
	TIFFhowmany().

	* Update libtool to version 2.2.8.

	* libtiff/tif_fax3.c (Fax3SetupState): Avoid under-allocation of
	buffer due to integer overflow in TIFFroundup() and several other
	potential overflows.  In conjunction with the fix to TIFFhowmany(),
	fixes CVE-2010-1411.

	* libtiff/tiffiop.h (TIFFhowmany): Return zero if parameters would
	result in an integer overflow. This causes TIFFroundup() to also
	return zero if there would be an integer overflow.

	* libtiff/tif_read.c (TIFFReadBufferSetup): Return an error if
	tif_rawdatasize becomes zero due to an initial raw size of zero or
	an overflow reported by TIFFroundup().

	* libtiff/tif_ojpeg.c (OJPEGReadBufferFill): Report an error and
	avoid a crash if the input file is so broken that the strip
	offsets are not defined.

	* tools/tiffcp.c (main): tiffcp should not leak memory if an error
	is reported when reading the input file.

	* libtiff/tif_aux.c (_TIFFCheckRealloc): Produce a fully detailed
	error message string.

	* Add an emacs formatting mode footer to all source files so that
	emacs can be effectively used.

2010-06-03  Oliver Chen Feng <scip8183@gmail.com>

        * libtiff/tools/tiffcp.c: add a new option -x to force merged tiff
	file PAGENUMBER value in sequence for users who care the page
	sequence, this will also prevent tiff2pdf from creating pdf file from
	the merged tiff file with wrong page sequence.

2010-05-07  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Ensure that quality is always set in
	JPEGPreEncode(), not just when we want to output local tables.
	Otherwise the quality used during compression may not be right and
	might not match the tables in the tables tag.   This bug only occurs
	when seeking between directories in the midst of writing blocks.
	http://trac.osgeo.org/gdal/ticket/3539

2010-05-05  Olivier Paquet  <olivier.paquet@gmail.com>

	* libtiff/tif_print.c: Have TIFFTAG_REFERENCEBLACKWHITE always print 6
	floats instead of 2*SamplesPerPixel.
	http://bugzilla.maptools.org/show_bug.cgi?id=2186
	* man/TIFFGetField.3tiff, man/TIFFSetField.3tiff: Fixed doc to reflect the
	fact that libtiff considers TIFFTAG_REFERENCEBLACKWHITE to be 6 floats.

2010-04-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/ppm2tiff.c (main): While case for parsing comment line
	requires extra parenthesis to work as expected.  Reported by
	Thomas Sinclair.

2010-02-22  Lee Howard  <faxguy@howardsilvan.com>

	* libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating
	the JPEG TIFF as is is not required in order to prevent it from
	being unused and filled with invalid data.  (Leave it to be
	generated by later activity.)
	http://bugzilla.maptools.org/show_bug.cgi?id=2135
	* tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
	data rather than skipping them.  This fixes the ability to view in
	Acrobat Reader, Evince, and Ghostscript.
	http://bugzilla.maptools.org/show_bug.cgi?id=2135
	* libtiff/tif_fax3.c: Don't return error on badly-terminated MMR
	strips.
	http://bugzilla.maptools.org/show_bug.cgi?id=2029

2010-01-06  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dir.c: Ensure tile and scanline sizes are reset
	when moving to new directories.
	http://bugzilla.maptools.org/show_bug.cgi?id=1936

2009-12-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Fix a couple of issues that trigger failures in
	some cases when using TIFFReadScanline() with JPEG compressed
	subsampled ycbcr images.
	http://bugzilla.maptools.org/show_bug.cgi?id=1936

2009-11-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.2 released.

2009-11-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c: Updated tiffcrop from Richard Nolde.  This
	version has undergone substantial testing with arbitrary sample
	bit depths.  Also eliminates GCC compilation warnings.

2009-11-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* port/libport.h: Added header file for porting prototypes and
	extern declarations.

2009-10-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirwrite.c (TIFFWriteAnyArray): Add missing break
	statement so writing an array of TIFF_DOUBLE works.

2009-10-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirread.c: Eliminate GCC "dereferencing type-punned
	pointer" warnings.

2009-10-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/tools.html: Add manual page links, and a summary
	description of tiffcrop.

2009-10-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: x86_64 should use the same fill order as i386.

2009-09-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop from Richard
	Nolde.  Major updates to add significant functionality for reading
	and writing tile based images with bit depths not a multiple of 8
	which cannot be handled by tiffcp.

2009-09-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_ojpeg.c (OJPEGWriteHeaderInfo): IJG JPEG 7 needs
	do_fancy_upsampling=FALSE in order to read raw data.  Resolves
	"Bug 2090 - OJPEG crash with libjpeg v7".
	http://bugzilla.maptools.org/show_bug.cgi?id=2090

2009-08-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* contrib/iptcutil/iptcutil.c,
	libtiff/tif_getimage.c,libtiff/tif_jpeg.c,libtiff/tif_ojpeg.c,tools/tiffcrop.c,tools/tiffgt.c:
	Applied patch from Oden Eriksson to allow building with GCC using
	the "-Wformat -Werror=format-security" flags.

2009-08-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.1 released.

2009-08-28  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirwrite.c: Back out changes from 2007-11-22 that
	resulted in the final strip not being written in some circumstances.
	http://bugzilla.maptools.org/show_bug.cgi?id=2088

2009-08-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_write.c (TIFFAppendToStrip): Remove cast which
	caused libtiff to output a wrong last strip with byte-count and
	strip-offset of zero.  This cast was added on the day of the 3.9.0
	release.

	* libtiff/tif_config.vc.h: tiffiop.h needs the TIFF_INT64_T and
	TIFF_UINT64_T defines in order to compile.  Copy existing
	definitions from tiffconf.vc.h.

2009-08-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* test/Makefile.am (AUTOMAKE_OPTIONS): Colorized tests was not
	actually activated since it needed to be enabled in this
	Makefile.am.  Also activated parallel-tests mode since it offers
	useful features such as per-test .log files and a summary test
	report .log file.

2009-08-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.0 released.

	* libtiff/tif_print.c (TIFFPrintDirectory): Applied patch for "tag
	error may cause segfault in tif_print.c."
	http://bugzilla.maptools.org/show_bug.cgi?id=1896

	* tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied patch for
	CVE-2009-2347 libtiff: integer overflows in various inter-color
	space conversion tools.
	http://bugzilla.maptools.org/show_bug.cgi?id=2079

	* configure.ac: Updated autotools.  Autoconf 2.64, Automake 1.11,
	libtool 2.2.6.  Enabled support for silent build rules
	(--enable-silent-rules or 'make V=0') and colorized tests.

2009-06-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_luv.c: correct return codes from encoderow to be
	1 on success instead of zero.
	http://bugzilla.maptools.org/show_bug.cgi?id=2069

2009-06-22  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_lzw.c: Fix buffer underflow bug.
	http://bugzilla.maptools.org/show_bug.cgi?id=2065

2009-06-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_write.c: do not override the planar configuration to be
	contig for one sample files if planar configuration is already set.
	http://bugzilla.maptools.org/show_bug.cgi?id=2057

2009-02-12  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_luv.c: Fix handling of tiled logluv images.
	http://bugzilla.maptools.org/show_bug.cgi?id=2005

2009-01-23  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_predict.c: Add support for 32bit integer horz. predictors.
	http://bugzilla.maptools.org/show_bug.cgi?id=1911

2009-01-20  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiffsplit.c: fix sampleformat to be shortv instead of longv.

2009-01-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiff2ps.c: Remove spurious message printed to stderr.

2009-01-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiff2ps.c: Incorporated significant functionality update
	from Richard Nolde.  In particular, support for rotating the image
	by 90, 180, 270, and 'auto' has been added.

	* tools/tiffcrop.c: Incorporated significant functionality update
	from Richard Nolde.

2009-01-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiffiop.h: Add private type declarations for int64, and
	uint64 so that bundled utilities (like tiffcrop) can use it when
	necessary.

2009-01-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Updated to test for 64-bit types.  This version of
	the library does not require a 64-bit type, but tiffcrop needs it.

2008-12-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* Update to use current FSF autotools versions.
	* libtiff/tiffio.h: GCC will now validate format specifications
	for TIFFError(), TIFFErrorExt(), TIFFWarning(), and
	TIFFWarningExt() in order to reveal bugs.  Cleaned up resulting
	warnings throughout for 32 bit build only.

2008-12-31  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard
	Nolde.

2008-12-21  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Avoid errors if the application writes a full
	strip for the last partial strip in a jpeg compressed file.
	http://bugzilla.maptools.org/show_bug.cgi?id=1981

2008-12-21  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c, tiffio.h: More ABI corrections.
	Removed SubsamplingHor/Ver from TIFFRGBAImage structure.
	  http://bugzilla.maptools.org/show_bug.cgi?id=1980

2008-12-18  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c,tiffio.h: removed all use of UaToAa and
	Bitmap16to8 arrays in TIFFRGBAImage structure to restore ABI
	compatability.  These were just an attempt to speed up processing
	with precalculated tables.
	  http://bugzilla.maptools.org/show_bug.cgi?id=1979

	* libtiff/tif_codec.c: Avoid printing c->name if it does not exist.

2008-10-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 (compatibility with
	the older versions retained).

2008-09-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Use dynamically allocated array instead of static
	when constructing output file names.

2008-09-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() calls when
	doing the filename/path construction.

	* tools/tiff2pdf.c: More appropriate format string in
	t2p_write_pdf_string(); avoid signed/unsigned mismatch.

	* libtiff/tif_lzw.c: Properly zero out the codetable. As per bug

	http://bugzilla.maptools.org/show_bug.cgi?id=1929

	* libtiff/tif_lzw.c: Properly zero out the string table. Fixes
	CVE-2008-2327 security issue.

2008-05-24  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_codec.c: Avoid NULL pointer dereferencing for exotic
	compression codec codes.

	* tif_dirread.c: zero tif->tif_dir after freeing the directory
	in TIFFReadCustomDirectory().  I don't exactly remember why this
	was important.

	* tif_dirwrite.c: Fix potential memory leak writing large double
	tags.

	* tif_dirread.c: Fix unchecked malloc result.

2008-01-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tif_fax3.c: Make find0span() and find1span() non-inline to
	make MSVC 6.0 compiler happy.

2007-11-26  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_fax3.c: fix leak of FAXCS state (per bug 1603).

2007-11-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.com, libtiff/tif_vms.c: Better OpenVMS support. Patches
	from Alexey Chupahin.

2007-11-22  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
	establishing if an existing tile can be rewritten to the same location
	by comparing the current size to all the other blocks in the same
	directory.  This is dangerous in many situations and can easily
	corrupt a file.  (observed in esoteric GDAL situation that's hard to
	document).  This change involves leaving the stripbytecount[] values
	unaltered till TIFFAppendToStrip().  Now we only write a block back
	to the same location it used to be at if the new data is the same
	size or smaller - otherwise we move it to the end of file.

	* tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
	data when writing the directory just because we have BEENWRITING at
	some point in the past.  This was causing odd junk to be written out
	in a tile of data when a single tile had an interleaving of reading
	and writing with reading last.  (highlighted by gdal
	autotest/gcore/tif_write.py test 7.

	* tif_predict.c: use working buffer in PredictorEncodeTile to avoid
	modifying callers buffer.
	http://trac.osgeo.org/gdal/ticket/1965

	* tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
	predictor based encoding and decoding works in read-write update
	mode properly.
	http://trac.osgeo.org/gdal/ticket/1948

2007-10-05  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2pdf.c: Fixed setting of alpha value per report on list.

2007-09-13  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirinfo.c:  _TIFFMergeFields() now only merges in field
	definitions that are missing.  Existing definitions are silently
	ignored.  (Bug #1585)

2007-07-18  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
	remove tif_config.h/tiffconf.h during cleaning. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1573

2007-07-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.9.0beta released.

2007-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Added missed extern optind as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1567

2007-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c:  Added support 16-bit images as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1566

	Patch from William Bader.

	* tools/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.

2007-06-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* 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.

2007-05-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
	byte swapping issue

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1363

	As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1550

2007-04-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Check the tmpfile() return status as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=154

2007-04-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
	tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
	tif_predict.c, tif_zip.c}: Finally fix bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1274

	by introducing _TIFFMergeFieldInfo() returning integer error status
	instead of void in case of problems with field merging (e.g., if the
	field with such a tag already registered). TIFFMergeFieldInfo() in
	public API remains void. Use _TIFFMergeFieldInfo() everywhere and
	check returned value.

2007-04-07  Frank Warmerdam  <warmerdam@pobox.com>

	* contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
	blocks in TIFF_DownSample_Subsampled() (bug 1542).

2007-04-06  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/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.

2007-04-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/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

	* tools/tiffcrop.c, man/tiffcrop.1: Significant update in
	functionality from Richard Nolde. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1525

2007-03-28  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.

2007-03-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/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
	http://www.asmail.be/msg0054766825.html

2007-03-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_win32.c: made inclusion of windows.h unconditional

	* libtiff/tif_win32.c: replaced preprocessor indication for consiously
	unused arguments by standard C indication for the same

2007-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Use uint32 type instead of tsize_t in byte
	counters in TIFFFetchData(). Should finally fix the issue

	http://bugzilla.remotesensing.org/show_bug.cgi?id=890

2007-02-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
	As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350

	* libtiff/tif_dirread.c: Added special function to handle
	SubjectDistance EXIF tag as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1362

	* tools/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

	* tools/{tiffcp.c, tiffcrop.c}: Do not change RowsPerStrip value if
	it was set as infinite. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1368

	* tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop utility contributed
	by Richard Nolde. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1383

2007-02-22  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/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

	* libtiff/{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=890

	Idea submitted by Matt Hancher.

2007-01-31  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tif2rgba.c: This utility does not work properly on big-endian
	architectures. It was fixed including the bug
