2016-11-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 4.0.7 released.

	* configure.ac: Update for 4.0.7 release.

	* tools/tiffdump.c (ReadDirectory): Remove uint32 cast to
	_TIFFmalloc() argument which resulted in Coverity report.  Added
	more mutiplication overflow checks.

2016-11-18 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: Fix memory leak in (recent) error code path.
	Fixes Coverity 1394415.

2016-11-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_getimage.c: Fix some benign warnings which appear in
	64-bit compilation under Microsoft Visual Studio of the form
	"Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit
	value.  Results might not be an expected value.".  Problem was
	reported on November 16, 2016 on the tiff mailing list.

2016-11-16 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: in TIFFFetchNormalTag(), do not dereference
	NULL pointer when values of tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII
	access are 0-byte arrays.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2593 (regression introduced
	by previous fix done on 2016-11-11 for CVE-2016-9297).
	Reported by Henri Salo. Assigned as CVE-2016-9448

2016-11-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffinfo.c (TIFFReadContigTileData): Fix signed/unsigned
	comparison warning.
	(TIFFReadSeparateTileData): Fix signed/unsigned comparison
	warning.

	* tools/tiffcrop.c (readContigTilesIntoBuffer): Fix
	signed/unsigned comparison warning.

	* html/v4.0.7.html: Add a file to document the pending 4.0.7
	release.

2016-11-11 Even Rouault <even.rouault at spatialys.com>

	* tools/tiff2pdf.c: avoid undefined behaviour related to overlapping
	of source and destination buffer in memcpy() call in
	t2p_sample_rgbaa_to_rgb()
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2577

2016-11-11 Even Rouault <even.rouault at spatialys.com>

	* tools/tiff2pdf.c: fix potential integer overflows on 32 bit builds
	in t2p_read_tiff_size()
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2576

2016-11-11 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_aux.c: fix crash in TIFFVGetFieldDefaulted()
	when requesting Predictor tag and that the zip/lzw codec is not
	configured.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2591

2016-11-11 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make sure that
	values of tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII
	access are null terminated, to avoid potential read outside buffer
	in _TIFFPrintField().
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2590 (CVE-2016-9297)

2016-11-11 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: reject images with OJPEG compression that
	have no TileOffsets/StripOffsets tag, when OJPEG compression is
	disabled. Prevent null pointer dereference in TIFFReadRawStrip1()
	and other functions that expect td_stripbytecount to be non NULL.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2585

2016-11-11 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: fix multiple uint32 overflows in
	writeBufferToSeparateStrips(), writeBufferToContigTiles() and
	writeBufferToSeparateTiles() that could cause heap buffer overflows.
	Reported by Henri Salo from Nixu Corporation.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2592

2016-11-10 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_strip.c: make TIFFNumberOfStrips() return the td->td_nstrips
	value when it is non-zero, instead of recomputing it. This is needed in
	TIFF_STRIPCHOP mode where td_nstrips is modified. Fixes a read outsize of
	array in tiffsplit (or other utilities using TIFFNumberOfStrips()).
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2587 (CVE-2016-9273)

2016-11-04 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_predic.c: fix memory leaks in error code paths added in
	previous commit (fix for MSVR 35105)

2016-10-31 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_predict.h, libtiff/tif_predict.c:
	Replace assertions by runtime checks to avoid assertions in debug mode,
	or buffer overflows in release mode. Can happen when dealing with
	unusual tile size like YCbCr with subsampling. Reported as MSVR 35105
	by Axel Souchet	& Vishal Chauhan from the MSRC Vulnerabilities & Mitigations
	team.

2016-10-26 Even Rouault <even.rouault at spatialys.com>

	* tools/fax2tiff.c: fix segfault when specifying -r without
	argument. Patch by Yuriy M. Kaminskiy.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2572

2016-10-25 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dir.c: discard values of SMinSampleValue and
	SMaxSampleValue when they have been read and the value of
	SamplesPerPixel is changed afterwards (like when reading a
	OJPEG compressed image with a missing SamplesPerPixel tag,
	and whose photometric is RGB or YCbCr, forcing SamplesPerPixel
	being 3). Otherwise when rewriting the directory (for example
	with tiffset, we will expect 3 values whereas the array had been
	allocated with just one), thus causing a out of bound read access.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500
	(CVE-2014-8127, duplicate: CVE-2016-3658)
	
	* libtiff/tif_dirwrite.c: avoid null pointer dereference on td_stripoffset
	when writing directory, if FIELD_STRIPOFFSETS was artificially set
	for a hack case	in OJPEG case.
	Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500
	(CVE-2014-8127, duplicate: CVE-2016-3658)

2016-10-25 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffinfo.c: fix out-of-bound read on some tiled images.
	(http://bugzilla.maptools.org/show_bug.cgi?id=2517)

	* libtiff/tif_compress.c: make TIFFNoDecode() return 0 to indicate an
	error and make upper level read routines treat it accordingly.
	(linked to the test case of http://bugzilla.maptools.org/show_bug.cgi?id=2517)

2016-10-14 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: fix out-of-bound read of up to 3 bytes in
	readContigTilesIntoBuffer(). Reported as MSVR 35092 by Axel Souchet
	& Vishal Chauhan from the MSRC Vulnerabilities & Mitigations team.

2016-10-09 Even Rouault <even.rouault at spatialys.com>

	* tools/tiff2pdf.c: fix write buffer overflow of 2 bytes on JPEG
	compressed images. Reported by Tyler Bohan of Cisco Talos as
	TALOS-CAN-0187 / CVE-2016-5652.
	Also prevents writing 2 extra uninitialized bytes to the file stream.

2016-10-08 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcp.c: fix out-of-bounds write on tiled images with odd
	tile width vs image width. Reported as MSVR 35103
	by Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
	Mitigations team.

2016-10-08 Even Rouault <even.rouault at spatialys.com>

	* tools/tiff2pdf.c: fix read -largely- outsize of buffer in
	t2p_readwrite_pdf_image_tile(), causing crash, when reading a
	JPEG compressed image with TIFFTAG_JPEGTABLES length being one.
	Reported as MSVR 35101 by Axel Souchet and Vishal Chauhan from
	the MSRC Vulnerabilities & Mitigations team. CVE-2016-9453

2016-10-08 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcp.c: fix read of undefined variable in case of missing
	required tags. Found on test case of MSVR 35100.
	* tools/tiffcrop.c: fix read of undefined buffer in
	readContigStripsIntoBuffer() due to uint16 overflow. Probably not a
	security issue but I can be wrong. Reported as MSVR 35100 by Axel
	Souchet from the MSRC Vulnerabilities & Mitigations team.

2016-09-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html: Change as many remotesensing.org broken links to a working
	URL as possible.

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

	* libtiff/tif_getimage.c (TIFFRGBAImageOK): Reject attempts to
	read floating point images.

	* libtiff/tif_predict.c (PredictorSetup): Enforce bits-per-sample
	requirements of floating point predictor (3).  Fixes CVE-2016-3622
	"Divide By Zero in the tiff2rgba tool."

2016-09-23 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: fix various out-of-bounds write vulnerabilities
	in heap or stack allocated buffers. Reported as MSVR 35093,
	MSVR 35096 and MSVR 35097. Discovered by Axel Souchet and Vishal
	Chauhan from the MSRC Vulnerabilities & Mitigations team.
	* tools/tiff2pdf.c: fix out-of-bounds write vulnerabilities in
	heap allocate buffer in t2p_process_jpeg_strip(). Reported as MSVR
	35098. Discovered by Axel Souchet and Vishal Chauhan from the MSRC
	Vulnerabilities & Mitigations team.
	* libtiff/tif_pixarlog.c: fix out-of-bounds write vulnerabilities
	in heap allocated buffers. Reported as MSVR 35094. Discovered by
	Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
	Mitigations team.
	* libtiff/tif_write.c: fix issue in error code path of TIFFFlushData1()
	that didn't reset the tif_rawcc and tif_rawcp members. I'm not
	completely sure if that could happen in practice outside of the odd
	behaviour of t2p_seekproc() of tiff2pdf). The report points that a
	better fix could be to check the return value of TIFFFlushData1() in
	places where it isn't done currently, but it seems this patch is enough.
	Reported as MSVR 35095. Discovered by Axel Souchet & Vishal Chauhan &
	Suha Can from the MSRC Vulnerabilities & Mitigations team.

2016-09-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/man/index.html: Comment out links to documentation for
	abandoned utilities.

2016-09-17 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_lzma.c: typo fix in comment

2016-09-04 Even Rouault <even.rouault at spatialys.com>

	* libtiff/*.c: fix warnings raised by clang 3.9 -Wcomma

2016-09-03 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirwrite.c, libtiff/tif_color.c: fix warnings raised
	by GCC 5 / clang -Wfloat-conversion

2016-08-16 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: fix C99'ism.

2016-08-15 Even Rouault <even.rouault at spatialys.com>

	* tools/tiff2bw.c: fix weight computation that could result of color
	value overflow (no security implication). Fix bugzilla #2550.
	Patch by Frank Freudenberg.

2016-08-15 Even Rouault <even.rouault at spatialys.com>

	* tools/rgb2ycbcr.c: validate values of -v and -h parameters to
	avoid potential divide by zero. Fixes CVE-2016-3623 (bugzilla #2569)

2016-08-15 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: Fix out-of-bounds write in loadImage().
	From patch libtiff-CVE-2016-3991.patch from
	libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro (bugzilla #2543)

2016-08-15 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_pixarlog.c: Fix write buffer overflow in PixarLogEncode
	if more input samples are provided than expected by PixarLogSetupEncode.
	Idea based on libtiff-CVE-2016-3990.patch from
	libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, but with different and
	simpler check. (bugzilla #2544)

2016-08-15 Even Rouault <even.rouault at spatialys.com>

	* tools/tiff2rgba.c: Fix integer overflow in size of allocated
	buffer, when -b mode is enabled, that could result in out-of-bounds
	write. Based initially on patch tiff-CVE-2016-3945.patch from
	libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, with correction for
	invalid tests that rejected valid files. (bugzilla #2545)

2016-07-11 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffcrop.c: Avoid access outside of stack allocated array
	on a tiled separate TIFF with more than 8 samples per pixel.
	Reported by Kaixiang Zhang of the Cloud Security Team, Qihoo 360
	(CVE-2016-5321 / CVE-2016-5323 , bugzilla #2558 / #2559)

2016-07-10 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_read.c: Fix out-of-bounds read on
	memory-mapped files in TIFFReadRawStrip1() and TIFFReadRawTile1()
	when stripoffset is beyond tmsize_t max value (reported by
	Mathias Svensson)

2016-07-10 Even Rouault <even.rouault at spatialys.com>

	* tools/tiffdump.c: fix a few misaligned 64-bit reads warned
	by -fsanitize

2016-07-03 Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_read.c: make TIFFReadEncodedStrip() and
	TIFFReadEncodedTile() directly use user provided buffer when
	no compression (and other conditions) to save a memcpy().

	* libtiff/tif_write.c: make TIFFWriteEncodedStrip() and
	TIFFWriteEncodedTile() directly use user provided buffer when
	no compression to save a memcpy().

2016-07-01  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_luv.c: validate that for COMPRESSION_SGILOG and
	PHOTOMETRIC_LOGL, there is only one sample per pixel. Avoid
	potential invalid memory write on corrupted/unexpected images when
	using the TIFFRGBAImageBegin() interface (reported by
	Clay Wood)

2016-06-28  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_pixarlog.c: fix potential buffer write overrun in
	PixarLogDecode() on corrupted/unexpected images (reported by Mathias Svensson)
	(CVE-2016-5875)

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

	* libtiff/libtiff.def: Added _TIFFMultiply32 and _TIFFMultiply64
	to libtiff.def

2016-06-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/Makefile.am: The libtiff tools bmp2tiff, gif2tiff,
	ras2tiff, sgi2tiff, sgisv, and ycbcr are completely removed from
	the distribution.  The libtiff tools rgb2ycbcr and thumbnail are
	only built in the build tree for testing.  Old files are put in
	new 'archive' subdirectory of the source repository, but not in
	distribution archives.  These changes are made in order to lessen
	the maintenance burden.

2016-05-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_config.vc.h (HAVE_SNPRINTF): Add a '1' to the
	HAVE_SNPRINTF definition.'

2016-05-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_config.vc.h (HAVE_SNPRINTF): Applied patch by Edward
	Lam to define HAVE_SNPRINTF for Visual Studio 2015.

2016-04-27  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: when compiled with DEFER_STRILE_LOAD,
	fix regression, introduced on 2014-12-23, when reading a one-strip
	file without a StripByteCounts tag. GDAL #6490

2016-04-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/bugs.html: Replace Andrey Kiselev with Bob Friesenhahn for
	purposes of security issue reporting.

2016-01-23  Even Rouault <even.rouault at spatialys.com>

	* libtiff/*: upstream typo fixes (mostly contributed by Kurt Schwehr)
	coming from GDAL internal libtiff

2016-01-09  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_fax3.h: make Param member of TIFFFaxTabEnt structure
	a uint16 to reduce size of the binary.

2016-01-03  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_read.c, tif_dirread.c: fix indentation issues raised
	by GCC 6 -Wmisleading-indentation

2015-12-27  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_pixarlog.c: avoid zlib error messages to pass a NULL
	string to %s formatter, which is undefined behaviour in sprintf().

2015-12-27  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_next.c: fix potential out-of-bound write in NeXTDecode()
	triggered by http://lcamtuf.coredump.cx/afl/vulns/libtiff5.tif
	(bugzilla #2508)

2015-12-27  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_luv.c: fix potential out-of-bound writes in decode
	functions in non debug builds by replacing assert()s by regular if
	checks (bugzilla #2522).
	Fix potential out-of-bound reads in case of short input data.

2015-12-26  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_getimage.c: fix out-of-bound reads in TIFFRGBAImage
	interface in case of unsupported values of SamplesPerPixel/ExtraSamples
	for LogLUV / CIELab. Add explicit call to TIFFRGBAImageOK() in
	TIFFRGBAImageBegin(). Fix CVE-2015-8665 reported by limingxing and
	CVE-2015-8683 reported by zzf of Alibaba.

2015-12-21  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: workaround false positive warning of Clang Static
	Analyzer about null pointer dereference in TIFFCheckDirOffset().

2015-12-19  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_fax3.c: remove dead assignment in Fax3PutEOLgdal(). Found
	by Clang Static Analyzer

2015-12-18  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirwrite.c: fix truncation to 32 bit of file offsets in
	TIFFLinkDirectory() and TIFFWriteDirectorySec() when aligning directory
	offsets on a even offset (affects BigTIFF). This was a regression of the
	changeset of 2015-10-19.

2015-12-12  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_write.c: TIFFWriteEncodedStrip() and TIFFWriteEncodedTile()
	should return -1 in case of failure of tif_encodestrip() as documented
	* libtiff/tif_dumpmode.c: DumpModeEncode() should return 0 in case of
	failure so that the above mentionned functions detect the error.

2015-12-06  Even Rouault <even.rouault at spatialys.com>

	* libtiff/uvcode.h: const'ify uv_code array

2015-12-06  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirinfo.c: const'ify tiffFields, exifFields,
	tiffFieldArray and exifFieldArray arrays

2015-12-06  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_print.c: constify photoNames and orientNames arrays

2015-12-06  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_close.c, libtiff/tif_extension.c : rename link
	variable to avoid -Wshadow warnings

2015-11-22  Even Rouault <even.rouault at spatialys.com>

	* libtiff/*.c: fix typos in comments (patch by Kurt Schwehr)
 
2015-11-22  Even Rouault <even.rouault at spatialys.com>

	* libtiff/*.c: fix MSVC warnings related to cast shortening and
	assignment within conditional expression

2015-11-18  Even Rouault <even.rouault at spatialys.com>

	* libtiff/*.c: fix clang -Wshorten-64-to-32 warnings

2015-11-18  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: initialize double* data at line 3693 to NULL
	to please MSVC 2013

2015-11-17  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: prevent reading ColorMap or TransferFunction
	if BitsPerPixel > 24, so as to avoid huge memory allocation and file
	read attempts

2015-11-02  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dirread.c: remove duplicated assignment (reported by
	Clang static analyzer)

2015-10-28  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dir.c, libtiff/tif_dirinfo.c, libtiff/tif_compress.c,
	libtiff/tif_jpeg_12.c: suppress warnings about 'no previous
	declaration/prototype'

2015-10-19  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tiffiop.h, libtiff/tif_dirwrite.c: suffix constants by U to fix 
	'warning: negative integer implicitly converted to unsigned type' warning
	(part of -Wconversion)

2015-10-17  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_dir.c, libtiff/tif_dirread.c, libtiff/tif_getimage.c,
	  libtiff/tif_print.c: fix -Wshadow warnings (only in libtiff/)

2015-09-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 4.0.6 released.

	* html/v4.0.6.html: Added release notes for 4.0.6.

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

	* tools/tiffgt.c: Silence glut API deprecation warnings on MacOS
	X.  Patch by Roger Leigh.

	* Makefile.am: Added a 'coverity' rule to assist with Coverity
	submissions.

	* tools/tiff2pdf.c: Fix compiler warning about unused function
	when JPEG is not available.

	* tools/fax2ps.c (main): Detect failure to write to temporary
	file.

2015-09-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirread.c (TIFFReadDirEntryCheckRangeSlongSlong8):
	Change implementation so that it does not sometimes overflow the
	range of a 32-bit int and to avoid a signed vs unsigned compare
	compiler warning.
	(TIFF_INT64_MAX): Avoid use of platform-specific large constants.
	(TIFF_UINT32_MAX): Avoid use of platform-specific large constants.

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

	* Makefile.am (distcheck-hook), configure.ac: Applied patches by
	Roger Leigh (via tiff mailing list on 2015-09-01) to fix issue
	with BSD make and to make use of cmake in 'distcheck' target
	conditional on if cmake is available.

	* CMakeLists.txt, Makefile.am, configure.ac: Applied patches by
	Roger Leigh (via tiff mailing list on 2015-09-01).

	CMake build is now included in 'distcheck' target.

	Builds with CMake 2.8.9 and newer.

	Tar is now resquested to use POSIX PAX format.

2015-08-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* CMakeLists.txt, libtiff/test/Makefile.am: Applied patches by
	Roger Leigh (via tiff mailing list on 2015-08-31.

	CMake reads all version information directly from configure.ac to
	avoid duplication of values.  This basically greps over the file
	for the LIBTIFF_* variables, then translates them to the form
	needed for cmake. This includes the release version and libtool
	shared library version information.

	Make shared/static library building configurable.  Currently it
	always builds shared libraries, with static libs having a _static
	suffix (copying zlib, but it means it's got a non-standard name).
	CMake has a -DBUILD_SHARED_LIBS=ON|OFF option to select one or the
	other, which is now used instead.  There's now a single "tiff"
	target to build either shared or static as required, and all the
	tests and tools are linked with this. Note: the Windows tests fail
	when linked with a static libtiff (says: libtiff.dll not found).
	Not really a regression since this was not tested up to this
	point, and it's likely the unit tests haven't (ever?) been run on
	Windows with a static libtiff, so there's some additional
	portability issue here to address.  Works fine on UNIX systems,
	and fine on Windows with the default to build a DLL.

	Add a missing file which wasn't being distributed, causing unit
	tests to fail.  Note that "find . -name '*.cmake'" lists all the
	CMake files which need distributing in addition to all the
	CMakeLists.txt files (which now are distributed).

2015-08-31  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_predict.c: pedantic change to add explicit masking
	with 0xff before casting to uchar in floating-point horizontal
	differencing and accumulation routines.

2015-08-31  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_predict.c: fix generation of output with 16 bit
	or 32 bit integer, when byte swapping is needed, in
	horizontal predictor (#2521). Also fixes decoding when there is
	a single pixel to code (unlikely case...) and byte swapping is
	involved.

2015-08-30  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_lzw.c: make nextdata a unsigned type to avoid
	undefined behaviour with shifts (gcc -fsanitize=shift)

2015-08-30  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_fax3.c, libtiff/tif_lzw.c, libtiff/tif_predict.c:
	add explicit masking with 0xff before casting
	to unsigned char (make icc -check=conversions happy)

	* libtiff/tif_predict.c: operate on unsigned datatypes when
	computing/applying differences to avoid undefined behaviour of
	signed types (C standard compliance)

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

	* configure.ac: libtiff 4.0.5 released.

2015-08-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* CMakeLists.txt: Applied patch by Roger Leigh (via tiff mailing
	list on 2015-08-29) to add ld-version-script option to cmake build
	to match autoconf.  Note: defaults to 'on' to be ABI-compatible by
	default with common Linux distribution builds.  Note that the
	autoconf configure script defaults to 'off'.

	* html/build.html: Applied patch by Roger Leigh (via tiff mailing
	list on 2015-08-29) to describe how to use CMake to build libtiff.

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

	* html/v4.0.5.html: Added HTML file describing the changes which
	will appear in the 4.0.5 release.

2015-08-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiffiop.h: For MinGW comiles, make sure that build
	supports necessary __MSVCRT_VERSION__ (at least at least 0x800).
	Otherwise large files can not be supported for POSIX-style I/O.

	* tools/fax2tiff.c (main): Eliminate a compiler warning in 64-bit
	builds about cast to thandle_t.

	* test/rewrite_tag.c (main): Does not require any arguments.

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

	* tools/CMakeLists.txt, port/snprintf.c: Patch by Roger Leigh to
	fix build issues when using Cmake due to Windows large file
	changes.

2015-08-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiffiop.h: First cut at supporting large files under
	Microsoft Windows using tif_unix.c and the libtiff tools.  This
	only works if the Windows CDK is new enough to support the APIs
	used (Visual C++ 2005 or later).  Support for large files is not
	actually tested yet.

2015-08-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_jpeg.c: Applied patch by Räisä Olli to assure that
	client_data is initialized to a known value, and to report an
	error on two memory allocation failures.

2015-08-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* CMakeLists.txt: Applied patch by Roger Leigh to fix libtiffxx
	symbol versioning.  Patch was mailed to libtiff list on Thu, 13
	Aug 2015.

2015-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* cmake: Add d suffix to debug libraries with MSVC.  Patch #3 of 3
	by Roger Leigh posted to tiff list on Wed, 1 Jul 2015 15:58:20
	+0100.

	* cmake: Add extra warning flags.  Patch #2 of 3 by Roger Leigh
	posted to tiff list on Wed, 1 Jul 2015 15:58:20 +0100.

	* cmake: Correct snprintf fallback for VS2015.  Patch #1 of 3 by
	Roger Leigh posted to tiff list on Wed, 1 Jul 2015 15:58:20 +0100.

2015-06-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* CMakeLists.txt: Add CMake patchset by Roger Leigh as posted to
	libtiff mailing list on Mon, 22 Jun 2015 21:21:01 +0100. Several
	corrections to ensure that the autotools build still works were
	added by me.  I have not yet tested the build using 'cmake' or
	MSVC with 'nmake'.

2015-06-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* test/Makefile.am: tiff2rgba-quad-tile.jpg.sh depends on the JPEG
	library so only execute if JPEG is available.

	* libtiff 4.0.4 released.

	* configure.ac: Add a HAVE_FOO Automake conditional for each
	add-on library.

	* test/Makefile.am (JPEG_DEPENDENT_CHECK_PROG): raw_decode
	requires JPEG support to compile.  Use Automake conditional to
	only include it when JPEG support is available.

	* html/build.html: Try to improve the nmake-based VC++ build
	description.

	* libtiff/tiffconf.vc.h: Build fixes based on testing.

	* libtiff/tif_config.vc.h: Build fixes based on testing.

	* libtiff/libtiff.def: TIFFRasterScanline does not exist so remove
	export for it.

2015-06-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_config.vc.h: Make adjustments to match the new
	definitions that configure produces, including for WIN64.  Still
	needs to be tested.

	* configure.ac: For 64-bit MinGW, fix SSIZE_FORMAT formatting
	specifier.  64-bit MinGW supports 'long long' but support for
	'lld' is not assured by the run-time DLLs and so GCC warns.
	Add TIFF_SIZE_T and TIFF_SIZE_FORMAT to provide a type definition
	and printf format specifier to deal with printing values of
	'size_t' type.  In particular, this was necessary for WIN64.
	Added a configure test for if the system headers provide 'optarg'
	(normal case) and block out the many explicit 'extern' statements
	in the utilities.  This was found to be necessary under Windows
	when getopt is in a DLL and the symbols are already imported with
	dllimport via standard header files.

	* test/raw_decode.c (XMD_H): Avoid conflicting typedefs for INT32
	and boolean in MinGW build due to including jpeglib.h.

	* test/rewrite_tag.c (main): Fix problem with location of variable
	declaration.

	* libtiff/libtiff.def: Added exports for TIFFGetConfiguredCODECs,
	TIFFReadRGBAImageOriented, TIFFSetCompressionScheme,
	TIFFSwabArrayOfTriples, TIFFVGetFieldDefaulted, _TIFFCheckRealloc,
	TIFFRasterScanline, TIFFSetErrorHandlerExt,
	TIFFSetWarningHandlerExt, TIFFNumberOfDirectories,
	TIFFCreateCustomDirectory, TIFFCreateEXIFDirectory,
	TIFFWriteCustomDirectory, _TIFFRewriteField as recommended by
	Roger Leigh and justified by use in libtiff tests, documentation,
	and changelog notes.  Also sorted symbol list and removed
	duplicate entries.

2015-06-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_getimage.c: Fix four Coverity issues related to
	unintended sign extension.

2015-06-16  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_unix.c: fix compilation with MSVC (fix by Jeff McKenna)

2015-06-14  Lee Howard  <faxguy@howardsilvan.com>

	* libtiff/tif_unix.c: contribution from Vadim Zeitlin on
	Bugzilla Bug #2510 fixes several harmless but still annoying
	warnings

	* configure: contribution from Ludolf Holzheid on Bugzilla
	Bug #2498.  Adds an option to select the file I/O style on
	Windows hosts.

	* libtiff/tif_getimage.c: contribution from Gary Cramblitt
	on Bugzilla Bug #2409.  Correct reading of certain tiled TIFFs.

	* configure, configure.ac: contribution from Marcos H. Woehrmann
	on Bugzilla Bug #2405.  Correct shell equality operator.

	* tools/tiffgt.c (raster_draw): contribution from Jay Berkenbilt
	on Bugzilla Bug #2401.  Appropriately call glFlush().

	* tools/tiff2pdf.c: change ColorTransform from "0" to "1"
	following Bugzilla Bug #2150.

2015-06-13  Lee Howard  <faxguy@howardsilvan.com>

	* libtiff/tif_lzw.c: contribution from Andy Cave - decode
	files that contain consecutive CODE_CLEAR codes.

	* tools/tiff2pdf.c: contribution from Antti S. Lankila on
	Bugzilla Bug #2078. Suppress initial output of the header.

	* tools/tiff2pdf.c: contribution from Yuriy M. Kaminskiy -
	Take care in using the return value from snprintf().

	* tools/tiffcrop.c: contribution from Eduardo Robles Elvira -
	correctly copy the compression tag from the source TIFF.

	* tools/tiff2ps.c: contribution from Eduardo Robles Elvira -
	correct sizing and scaling problems with output document.

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

	* libtiff/tif_jpeg.c (JPEGDecode): Split JPEGDecode() into two
	clean implementations in order to avoid pre-processor hell.  Only
	one of the implementations is used in a given build.

2015-06-08  Even Rouault <even.rouault at spatialys.com>

	* libtiff/tif_jpeg.c: Fix compilation in BITS_IN_JSAMPLE == 12
	case

2015-06-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_write.c (TIFFWriteEncodedStrip): Fix Coverity 715975
	"Division or modulo by zero".
	(TIFFWriteEncodedTile): Fix Coverity 715976 and 715977 "Division
	or modulo by zero".
	(TIFFWriteRawStrip): Fix Coverity 715978 "Division or modulo by
	zero".
	(TIFFWriteScanline): Fix Coverity 715979 "Division or modulo by
	zero".

	* libtiff/tif_read.c (TIFFStartTile): Fix Coverity 715973 and
	715974 "Division or modulo by zero".

2015-05-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dir.c (TIFFNumberOfDirectories): Quiet Coverity
	1134470 "Logically dead code" by making the roll-over check
	explicit.

	* libtiff/tif_luv.c (LogLuvDecodeTile): Fix Coverity 991227
	"Division or modulo by zero".
	(LogLuvDecodeStrip): Fix Coverity 991239 "Division or modulo by
	zero".
	(LogLuvEncodeStrip): Fix Coverity 991240 "Division or modulo by
	zero".
	(LogLuvEncodeTile): Fix Coverity 991241 "Division or modulo by
	zero".

	* libtiff/tif_dirread.c (TIFFReadDirEntryDoubleArray): Fix
	Coverity 298626 "Logically dead code".
	(TIFFReadDirEntryFloatArray): Fix Coverity 298627 "Logically dead
	code".
	(TIFFReadDirEntryIfd8Array): Fix Coverity 298628 "Logically dead
	code".
	(TIFFReadDirEntrySlong8Array): Fix Coverity 298629 "Logically dead
	code"

	* libtiff/tif_dir.c (TIFFNumberOfDirectories): Don't depend on ++
	operator precedenc in evaluation.  Might quench Coverity 1134470
	"Logically dead code".

	* libtiff/tif_jpeg.c (JPEGDecode): Fix Coverity 602597 "Operands
	don't affect result".  This change uses ifdefs to include
	applicable code based on properties of libjpeg.  Still needs to be
	re-tested with 12-bit "6b" and "MK1".

2015-05-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirwrite.c (_TIFFRewriteField): Fix Coverity 1024310
	"Resource leak".

	* libtiff/tif_ojpeg.c (OJPEGReadHeaderInfoSecStreamDht): Fix
	Coverity 601720 "Resource leak".

	* libtiff/tif_jpeg.c (JPEGCleanup): Fix Coverity 298624
	"Dereference before null check".

	* libtiff/tif_ojpeg.c (OJPEGReadBufferFill): Fix Coverity 603400
	"Missing break in switch".

	* contrib/addtiffo/tif_overview.c (TIFF_DownSample): Check buffer
	size calculation for overflow.

	* contrib/addtiffo/addtiffo.c (main): Possibly address Coverity
	1024226 "Untrusted value as argument".

	* tools/gif2tiff.c (readgifimage): Fix Coverity 1024222 "Untrusted
	value as argument".
	(checksignature): Fix Coverity 1024894 "Ignoring number of bytes
	read".
	(readextension): Fix Coverity 1024893 "Ignoring number of bytes
	read".
	(readgifimage): Fix Coverity 1024890 "Ignoring number of bytes
	read".
	(readraster): Fix Coverity 1024891 "Ignoring number of bytes
	read".
	(readgifimage): Fix Coverity 1024892 "Ignoring number of bytes
	read".

	* tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 1024181
	"Structurally dead code".

	* tools/raw2tiff.c (main): Fix Coverity 1024887 "Unchecked return
	value from library".
	(guessSize): Fix Coverity 1024888 "Unchecked return value from
	library".
	(guessSize): Fix Coverity 1214162 "Ignoring number of bytes read".
	(guessSize): Fix Coverity 1024889 "Unchecked return value from
	library".

	* tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 298621
	"Resource leak".
	(t2p_readwrite_pdf_image): Fix Coverity 1024181 "Structurally dead
	code".
	(t2p_write_pdf): Fix Coverity 1227690 "Unused value".

2015-05-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* contrib/iptcutil/iptcutil.c (formatIPTC): Fix Coverity 1024468
	"Infinite loop".
	(formatIPTC): Fix Coverity 1024727 "Truncated stdio return value".
	(formatIPTC): Fix Coverity 1214240 "Untrusted loop bound".

2015-05-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix
	Coverity 298615 "Resource leak".
	(TIFFGetOvrBlock): Fix Coverity 1024649 "Unintended sign
	extension".

	* tools/bmp2tiff.c (main): Fix Coverity 1024225 "Untrusted value
	as argument".
	(main): Fix Coverity 1024678 "Unchecked return value from
	library".
	(main): Fix Coverity 1024679 "Unchecked return value from
	library".
	(main): Fix Coverity 1214160 "Ignoring number of bytes read".

	* contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix
	Coverity 298615 "Resource leak".

	* tools/tiffcp.c: Fix Coverity 1024306, 1024307, 1024308, 1024309
	"Resource leak".

	* tools/tiffsplit.c (cpTiles): Fix Coverity 1024304 "Resource
	leak".
	(cpStrips): Fix Coverity 1024305 "Resource leak".

2015-05-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/ras2tiff.c: Fix Sun Raster header definition to be safe
	for 64-bit systems.  Add some header validations.  Should fix many
	Coverity issues.
	(main): Fix Coverity 1301206: "Integer handling issues  (BAD_SHIFT)".
	(main): Quiet Coverity 1024223 "Untrusted value as argument".

	* tools/tiffmedian.c (GetInputLine): Fix Coverity 1024795 "Nesting
	level does not match indentation".
	(get_histogram): Quiet Coverity 1024386 "Out-of-bounds read".
	This was a benign mis-diagnosis but added code to enforce against
	buffer overflow.

	* tools/tiffcrop.c (ROTATE_ANY): Fix Coverity 1294542 "Logical
	vs. bitwise operator".
	(readContigStripsIntoBuffer): Fix Coverity 1024545 "Division or
	modulo by zero".
	(readContigTilesIntoBuffer): Fix Coverity 1024586 "Logically dead
	code".
	(writeSingleSection): Fix Coverity 1024796 "Nesting level does not
	match indentation".
	(writeCroppedImage): Fix Coverity 1024797 "Nesting level does not
	match indentation".
	(loadImage): Fix Coverity 1299741 "Dereference before null check".
	(loadImage): Fix Coverity 1299740 "Out-of-bounds write".

2015-03-02  Even Rouault  <even.rouault@spatialys.com>

	* tools/tiffdither.c: check memory allocations to avoid writing to
	NULL pointer. Also check multiplication overflow. Fixes #2501,
	CVE-2014-8128. Derived from patch by Petr Gajdos.

2015-01-26  Even Rouault  <even.rouault@spatialys.com>

	* add html/v4.0.4beta.html under version control
	* HOWTO-RELEASE: write that cvs add html/vX.X.html must be used

2015-01-26  Even Rouault  <even.rouault@spatialys.com>

	* libtiff 4.0.4beta released

2015-01-26  Even Rouault  <even.rouault@spatialys.com>

	* automake: updated to 1.15
	* libtool: updated to 2.4.5

2015-01-22  Even Rouault  <even.rouault@spatialys.com>

	* tools/tiff2pdf.c: Fix two crashes (oCERT-2014-013)

2015-01-05  Frank Warmerdam  <warmerdam@pobox.com>

	* html/bugs.html: remove note about needing to email the tiff mailing
	list administrator about being approved for membership, this appears
	not to be true.

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

	* tools/tiff2pdf.c: Fixed unsigned integer addition overflow detection.

2015-01-03  Even Rouault  <even.rouault@spatialys.com>

	* libtiff/tif_dirread.c: in TIFFCheckDirOffset(), avoid uint16 overflow
	when reading more than 65535 directories, and effectively error out when
	reaching that limit.

2014-12-29  Even Rouault  <even.rouault@spatialys.com>

	* libtiff/tif_jpeg.c: in JPEGFixupTags(), recognize SOF2, SOF9 and SOF10
	markers to avoid emitting a warning (even if, according to the TechNote,
	there are admitedly unusual/not recommended or even forbidden variants, but
	they do work well with libjpeg for SOF2, and with libjpeg-turbo for SOF2,
	SOF9 and SOF10).
	Define in_color_space and input_components to the right values in
	JPEGSetupEncode(), before calling jpeg_set_defaults(), as specified by
	libjpeg API documentation, so as to be compatible with mozjpeg library.
	Note: the default settings of mozjpeg will produce progressive scans, which
	is forbidden by the TechNote.

2014-12-29  Even Rouault  <even.rouault@spatialys.com>

	* libtiff/tif_getimage.c: move test on vertical value of YCbCr subsampling.
	to avoid buffer leak (fix previous fix, found by Coverity scan)

2014-12-29  Even Rouault  <even.rouault@spatialys.com>

	* libtiff/tif_next.c: add new tests to check that we don't read outside of
	the compressed input stream buffer.

