Imported Upstream version 4.0.10
[platform/upstream/tiff.git] / ChangeLog
1 2018-11-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2
3         * configure.ac: libtiff 4.0.10 released.
4
5         Change COMPRESSION_ZSTD to 50000 and COMPRESSION_WEBP to 50001.
6
7 2018-11-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
8
9         Added preliminary release notes for release 4.0.10.
10
11 2018-11-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
12
13         tiff2pdf: Eliminate compiler warning about snprintf output truncation when formatting pdf_datetime.
14
15 2018-11-03  Olivier Paquet  <olivier.paquet@gmail.com>
16
17         Merge branch 'no_tif_platform_console' into 'master'
18         Remove builtin support for GUI warning and error message boxes
19
20         See merge request libtiff/libtiff!24
21
22 2018-11-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
23
24         tiffcrop.c: Eliminate compiler warning about snprintf output truncation when formatting filenum.
25
26         TWebPVGetField(): Add apparently missing break statement impacting TIFFTAG_WEBP_LOSSLESS.
27
28         Eliminate compiler warnings about duplicate definitions of streq/strneq macros.
29
30         Ignore generated files.
31
32         Remove and ignore files which are a product of autogen.sh.
33
34 2018-11-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
35
36         Fix TIFFErrorExt() formatting of size_t type for 32-bit compiles.
37
38 2018-10-30  Even Rouault  <even.rouault@spatialys.com>
39
40         tiff2bw: avoid null pointer dereference in case of out of memory situation. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2819 / CVE-2018-18661
41
42         tiffio.h: fix comment.
43
44 2018-10-26  Even Rouault  <even.rouault@spatialys.com>
45
46         Merge branch 'header2' into 'master'
47         Fix 725279bd: Standalone tif_predict.h: tiff.h should be tiffiop.h
48
49         See merge request libtiff/libtiff!41
50
51 2018-10-26  Kurt Schwehr  <schwehr@google.com>
52
53         Fix 725279bd: Standalone tif_predict.h: tiff.h should be tiffiop.h.
54
55 2018-10-25  Even Rouault  <even.rouault@spatialys.com>
56
57         Merge branch 'headers' into 'master'
58         Add includes to headers to allow them to stand alone.
59
60         See merge request libtiff/libtiff!40
61
62 2018-10-24  Kurt Schwehr  <schwehr@google.com>
63
64         Add includes to headers to allow them to stand alone.
65         This allows compilers that can do header stand alone header parsing
66         to process libtiff.
67
68 2018-10-18  Even Rouault  <even.rouault@spatialys.com>
69
70         LZMAPreEncode: emit verbose error if lzma_stream_encoder() fails (typically because not enough memory available)
71
72 2018-10-17  Even Rouault  <even.rouault@spatialys.com>
73
74         tif_webp.c: fix previous commit that broke scanline decoding.
75
76         tif_webp.c: fix potential read outside libwebp buffer on corrupted images
77
78 2018-10-14  Even Rouault  <even.rouault@spatialys.com>
79
80         Merge branch 'jbig_decode_overflow' into 'master'
81         JBIG: fix potential out-of-bounds write in JBIGDecode()
82
83         See merge request libtiff/libtiff!38
84
85 2018-10-14  Even Rouault  <even.rouault@spatialys.com>
86
87         JBIG: fix potential out-of-bounds write in JBIGDecode()
88         JBIGDecode doesn't check if the user provided buffer is large enough
89         to store the JBIG decoded image, which can potentially cause out-of-bounds
90         write in the buffer.
91         This issue was reported and analyzed by Thomas Dullien.
92
93         Also fixes a (harmless) potential use of uninitialized memory when
94         tif->tif_rawsize > tif->tif_rawcc
95
96         And in case libtiff is compiled with CHUNKY_STRIP_READ_SUPPORT, make sure
97         that whole strip data is provided to JBIGDecode()
98
99 2018-10-05  Even Rouault  <even.rouault@spatialys.com>
100
101         tif_webp.c: fix scanline reading/writing.
102
103         WEBP codec: initialize nSamples in TWebPSetupDecode() and TWebPSetupEncode()
104
105 2018-10-05  Even Rouault  <even.rouault@spatialys.com>
106
107         Merge branch 'tif_webp' into 'master'
108         webp support
109
110         See merge request libtiff/libtiff!32
111
112 2018-10-05  Norman Barker  <norman.barker@mapbox.com>
113
114         webp in tiff.
115
116 2018-09-17  Even Rouault  <even.rouault@spatialys.com>
117
118         Merge branch 'master' into 'master'
119         fix three potential vulnerabilities.
120
121         See merge request libtiff/libtiff!33
122
123 2018-09-08  Young_X  <YangX92@hotmail.com>
124
125         fix out-of-bound read on some tiled images.
126
127         avoid potential int32 overflows in multiply_ms()
128
129         only read/write TIFFTAG_GROUP3OPTIONS or TIFFTAG_GROUP4OPTIONS if compression is COMPRESSION_CCITTFAX3 or COMPRESSION_CCITTFAX4
130
131 2018-08-15  Even Rouault  <even.rouault@spatialys.com>
132
133         TIFFSetupStrips(): avoid potential uint32 overflow on 32-bit systems with large number of strips. Probably relates to http://bugzilla.maptools.org/show_bug.cgi?id=2788 / CVE-2018-10779
134
135 2018-08-07  Even Rouault  <even.rouault@spatialys.com>
136
137         ZSTD: fix flush issue that can cause endless loop in ZSTDEncode()
138         Fixes https://github.com/OSGeo/gdal/issues/833
139
140 2018-08-07  Even Rouault  <even.rouault@spatialys.com>
141
142         Merge branch 'fix_bug_2800' into 'master'
143         Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API
144
145         See merge request libtiff/libtiff!31
146
147 2018-08-07  Even Rouault  <even.rouault@spatialys.com>
148
149         Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API
150         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2800
151
152 2018-07-05  Even Rouault  <even.rouault@spatialys.com>
153
154         Add tag and pseudo-tag definitions for ESRI LERC codec (out of tree codec whose source is at https://github.com/OSGeo/gdal/blob/master/gdal/frmts/gtiff/tif_lerc.c)
155
156 2018-07-02  Even Rouault  <even.rouault@spatialys.com>
157
158         Fix TIFFTAG_ZSTD_LEVEL pseudo tag value to be > 65536, and the next one in the series
159
160 2018-05-25  Stefan Weil  <sw@weilnetz.de>
161
162         Remove builtin support for GUI warning and error message boxes.
163         Now warnings always go to the console by default unless applications
164         define their own warning and error handlers.
165
166         GUI applications (and Windows CE) are required to define such handlers.
167
168 2018-05-12  Even Rouault  <even.rouault@spatialys.com>
169
170         LZWDecodeCompat(): fix potential index-out-of-bounds write. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2780 / CVE-2018-8905
171         The fix consists in using the similar code LZWDecode() to validate we
172         don't write outside of the output buffer.
173
174         TIFFFetchNormalTag(): avoid (probably false positive) clang-tidy clang-analyzer-core.NullDereference warnings
175
176         TIFFWriteDirectorySec: avoid assertion. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2795. CVE-2018-10963
177
178 2018-05-04  Even Rouault  <even.rouault@spatialys.com>
179
180         tif_color.c: fix code comment.
181
182 2018-04-17  Even Rouault  <even.rouault@mines-paris.org>
183
184         Merge branch 'fuzzer-fix' into 'master'
185         remove a pointless multiplication and a variable that's not necessary
186
187         See merge request libtiff/libtiff!29
188
189 2018-04-17  Paul Kehrer  <paul.l.kehrer@gmail.com>
190
191         remove a pointless multiplication and a variable that's not necessary.
192
193 2018-04-17  Even Rouault  <even.rouault@mines-paris.org>
194
195         Merge branch 'ossfuzz' into 'master'
196         move oss-fuzz build script and fuzzer into libtiff tree
197
198         See merge request libtiff/libtiff!28
199
200 2018-04-17  Paul Kehrer  <paul.l.kehrer@gmail.com>
201
202         move oss-fuzz build script and fuzzer into libtiff tree.
203
204 2018-04-14  Even Rouault  <even.rouault@spatialys.com>
205
206         _TIFFGetMaxColorChannels: update for LOGLUV, ITULAB and ICCLAB that have 3 color channels
207
208 2018-04-12  Even Rouault  <even.rouault@spatialys.com>
209
210         Fix MSVC warning.
211
212 2018-04-12  Even Rouault  <even.rouault@mines-paris.org>
213
214         Merge branch 'master' into 'master'
215         Fix NULL pointer dereference in TIFFPrintDirectory (bugzilla 2778/CVE-2018-7456)
216
217         See merge request libtiff/libtiff!27
218
219 2018-04-11  Hugo Lefeuvre  <hle@debian.org>
220
221         Fix NULL pointer dereference in TIFFPrintDirectory.
222         The TIFFPrintDirectory function relies on the following assumptions,
223         supposed to be guaranteed by the specification:
224
225         (a) A Transfer Function field is only present if the TIFF file has
226             photometric type < 3.
227
228         (b) If SamplesPerPixel > Color Channels, then the ExtraSamples field
229             has count SamplesPerPixel - (Color Channels) and contains
230             information about supplementary channels.
231
232         While respect of (a) and (b) are essential for the well functioning of
233         TIFFPrintDirectory, no checks are realized neither by the callee nor
234         by TIFFPrintDirectory itself. Hence, following scenarios might happen
235         and trigger the NULL pointer dereference:
236
237         (1) TIFF File of photometric type 4 or more has illegal Transfer
238             Function field.
239
240         (2) TIFF File has photometric type 3 or less and defines a
241             SamplesPerPixel field such that SamplesPerPixel > Color Channels
242             without defining all extra samples in the ExtraSamples fields.
243
244         In this patch, we address both issues with respect of the following
245         principles:
246
247         (A) In the case of (1), the defined transfer table should be printed
248             safely even if it isn't 'legal'. This allows us to avoid expensive
249             checks in TIFFPrintDirectory. Also, it is quite possible that
250             an alternative photometric type would be developed (not part of the
251             standard) and would allow definition of Transfer Table. We want
252             libtiff to be able to handle this scenario out of the box.
253
254         (B) In the case of (2), the transfer table should be printed at its
255             right size, that is if TIFF file has photometric type Palette
256             then the transfer table should have one row and not three, even
257             if two extra samples are declared.
258
259         In order to fulfill (A) we simply add a new 'i < 3' end condition to
260         the broken TIFFPrintDirectory loop. This makes sure that in any case
261         where (b) would be respected but not (a), everything stays fine.
262
263         (B) is fulfilled by the loop condition
264         'i < td->td_samplesperpixel - td->td_extrasamples'. This is enough as
265         long as (b) is respected.
266
267         Naturally, we also make sure (b) is respected. This is done in the
268         TIFFReadDirectory function by making sure any non-color channel is
269         counted in ExtraSamples.
270
271         This commit addresses CVE-2018-7456.
272
273 2018-03-27  Even Rouault  <even.rouault@mines-paris.org>
274
275         Merge branch 'tiffset-long8' into 'master'
276         tiffset: Add support for LONG8, SLONG8 and IFD8 field types
277
278         See merge request libtiff/libtiff!25
279
280 2018-03-26  Roger Leigh  <rleigh@codelibre.net>
281
282         port: Clean up NetBSD sources and headers to build standalone.
283
284 2018-03-23  Roger Leigh  <rleigh@dundee.ac.uk>
285
286         port: Add strtol, strtoll and strtoull.
287         Also update strtoul.  All use the same implementation from NetBSD libc.
288
289         tiffset: Add support for LONG8, SLONG8 and IFD8 field types.
290
291 2018-03-17  Even Rouault  <even.rouault@spatialys.com>
292
293         ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613)
294         Rework fix done in 3719385a3fac5cfb20b487619a5f08abbf967cf8 to work in more
295         cases like https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6979.
296         Credit to OSS Fuzz
297
298         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2724
299
300 2018-03-13  Even Rouault  <even.rouault@spatialys.com>
301
302         libtiff/tif_luv.c: rewrite loops in a more readable way (to avoid false positive reports like http://bugzilla.maptools.org/show_bug.cgi?id=2779)
303
304 2018-03-13  Even Rouault  <even.rouault@mines-paris.org>
305
306         Merge branch 'avoid_memory_exhaustion_in_ChopUpSingleUncompressedStrip' into 'master'
307         ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613)
308
309         See merge request libtiff/libtiff!26
310
311 2018-03-11  Even Rouault  <even.rouault@spatialys.com>
312
313         ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613)
314         In ChopUpSingleUncompressedStrip(), if the computed number of strips is big
315         enough and we are in read only mode, validate that the file size is consistent
316         with that number of strips to avoid useless attempts at allocating a lot of
317         memory for the td_stripbytecount and td_stripoffset arrays.
318
319         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2724
320
321 2018-03-10  Even Rouault  <even.rouault@spatialys.com>
322
323         Typo fix in comment.
324
325 2018-03-03  Even Rouault  <even.rouault@spatialys.com>
326
327         Avoid warning with gcc 8 (partially revert 647b0e8c11ee11896f319b92cf110775f538d75c)
328
329 2018-02-25  Even Rouault  <even.rouault@mines-paris.org>
330
331         Merge branch 'typos' into 'master'
332         Fix some typos
333
334         See merge request libtiff/libtiff!23
335
336 2018-02-24  Stefan Weil  <sw@weilnetz.de>
337
338         Fix some typos.
339         Most of them were found by codespell.
340
341 2018-02-14  Even Rouault  <even.rouault@spatialys.com>
342
343         Typo fix in comment.
344
345         Merge branch 'zstd'
346
347         Add warning about COMPRESSION_ZSTD not being officialy registered.
348
349 2018-02-14  Even Rouault  <even.rouault@mines-paris.org>
350
351         Merge branch 'bug2772' into 'master'
352         Fix for bug 2772
353
354         See merge request libtiff/libtiff!20
355
356 2018-02-12  Nathan Baker  <nathanb@lenovo-chrome.com>
357
358         Fix for bug 2772.
359         It is possible to craft a TIFF document where the IFD list is circular,
360         leading to an infinite loop while traversing the chain. The libtiff
361         directory reader has a failsafe that will break out of this loop after
362         reading 65535 directory entries, but it will continue processing,
363         consuming time and resources to process what is essentially a bogus TIFF
364         document.
365
366         This change fixes the above behavior by breaking out of processing when
367         a TIFF document has >= 65535 directories and terminating with an error.
368
369 2018-02-09  Even Rouault  <even.rouault@mines-paris.org>
370
371         Merge branch 'libtiff-as-subdirectory-fixes' into 'master'
372         Prefer target_include_directories
373
374         See merge request libtiff/libtiff!12
375
376 2018-02-06  Even Rouault  <even.rouault@mines-paris.org>
377
378         Merge branch 'cmake-cleanups' into 'master'
379         Cmake cleanups
380
381         See merge request libtiff/libtiff!11
382
383 2018-02-06  Even Rouault  <even.rouault@mines-paris.org>
384
385         Merge branch 'check-right-cxx-variable' into 'master'
386         Check right cxx variable
387
388         See merge request libtiff/libtiff!19
389
390 2018-02-06  Even Rouault  <even.rouault@mines-paris.org>
391
392         Merge branch 'dont-leak-stream-open' into 'master'
393         Fix a memory leak in TIFFStreamOpen
394
395         See merge request libtiff/libtiff!17
396
397 2018-02-06  Ben Boeckel  <ben.boeckel@kitware.com>
398
399         cmake: check CXX_SUPPORT.
400         This variable is set in response to the `cxx` cache variable; use it
401         instead.
402
403 2018-02-04  Olivier Paquet  <olivier.paquet@gmail.com>
404
405         Merge branch 'warnings' into 'master'
406         Fix all compiler warnings for default build
407
408         See merge request libtiff/libtiff!16
409
410 2018-02-04  Nathan Baker  <elitebadger@gmail.com>
411
412         Fix all compiler warnings for default build.
413
414 2018-01-30  Paul Kehrer  <paul.l.kehrer@gmail.com>
415
416         tabs are hard.
417
418 2018-01-29  Paul Kehrer  <paul.l.kehrer@gmail.com>
419
420         use hard tabs like the rest of the project.
421
422         Fix a memory leak in TIFFStreamOpen.
423         TIFFStreamOpen allocates a new tiff{o,i}s_data, but if TIFFClientOpen
424         fails then that struct is leaked. Delete it if the returned TIFF * is
425         null.
426
427 2018-01-29  Kevin Funk  <kfunk@kde.org>
428
429         Bump minimum required CMake version to v2.8.11.
430         Because we use the BUILD_INTERFACE generator expression
431
432 2018-01-27  Even Rouault  <even.rouault@mines-paris.org>
433
434         Merge branch 'patch-1' into 'master'
435         Update CMakeLists.txt for build fix on Windows
436
437         See merge request libtiff/libtiff!14
438
439 2018-01-27  Even Rouault  <even.rouault@mines-paris.org>
440
441         Merge branch 'patch-2' into 'master'
442         Update tiffgt.c for build fix on Windows
443
444         See merge request libtiff/libtiff!13
445
446 2018-01-25  Olivier Paquet  <olivier.paquet@gmail.com>
447
448         Merge branch 'bug2750' into 'master'
449         Add workaround to pal2rgb buffer overflow.
450
451         See merge request libtiff/libtiff!15
452
453 2018-01-25  Nathan Baker  <elitebadger@gmail.com>
454
455         Add workaround to pal2rgb buffer overflow.
456
457 2018-01-23  Andrea  <andrea@andreaplanet.com>
458
459         Update tiffgt.c for build fix on Windows.
460
461         Update CMakeLists.txt for build fix on Windows.
462
463 2018-01-15  Even Rouault  <even.rouault@mines-paris.org>
464
465         Merge branch 'has-attribute-check' into 'master'
466         tiffiop: use __has_attribute to detect the no_sanitize attribute
467
468         See merge request libtiff/libtiff!10
469
470 2018-01-15  Ben Boeckel  <ben.boeckel@kitware.com>
471
472         cmake: avoid setting hard-coded variables in the cache.
473
474         cmake: avoid an unnecessary intermediate variable.
475
476         cmake: avoid an unnecessary intermediate variable.
477
478         cmake: avoid tautological logic.
479
480         cmake: use check_symbol_exists.
481         This accounts for symbols being provided by macros.
482
483         cmake: remove unused configure checks.
484
485 2018-01-12  Kevin Funk  <kfunk@kde.org>
486
487         Prefer target_include_directories.
488         When libtiff is included in a super project via a simple
489         `add_subdirectory(libtiff)`, this way the `tiff` library target has all
490         the necessary information to build against it.
491
492         Note: The BUILD_INTERFACE generator expression feature requires at least
493         CMake v2.8.11 if I'm correct.
494
495 2018-01-09  Ben Boeckel  <ben.boeckel@kitware.com>
496
497         tiffiop: use __has_attribute to detect the no_sanitize attribute.
498
499 2017-12-31  Even Rouault  <even.rouault@spatialys.com>
500
501         man/TIFFquery.3tiff: remove reference to non-existing TIFFReadStrip() function in TIFFIsByteSwapped() documentation. Patch by Eric Piel. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2763
502
503         libtiff/tif_dir.c: _TIFFVGetField(): fix heap out-of-bounds access when requesting TIFFTAG_NUMBEROFINKS on a EXIF directory. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2765. Reported by Google Autofuzz project
504
505         libtiff/tif_print.c: TIFFPrintDirectory(): fix null pointer dereference on corrupted file. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2770
506
507 2017-12-21  Even Rouault  <even.rouault@spatialys.com>
508
509         Add libzstd to gitlab-ci.
510
511 2017-12-21  Even Rouault  <even.rouault@spatialys.com>
512
513         Add ZSTD compression codec.
514         From https://github.com/facebook/zstd
515         "Zstandard, or zstd as short version, is a fast lossless compression
516         algorithm, targeting real-time compression scenarios at zlib-level
517         and better compression ratios. It's backed by a very fast entropy stage,
518         provided by Huff0 and FSE library."
519
520         We require libzstd >= 1.0.0 so as to be able to use streaming compression
521         and decompression methods.
522
523         The default compression level we have selected is 9 (range goes from 1 to 22),
524         which experimentally offers equivalent or better compression ratio than
525         the default deflate/ZIP level of 6, and much faster compression.
526
527         For example on a 6600x4400 16bit image, tiffcp -c zip runs in 10.7 seconds,
528         while tiffcp -c zstd runs in 5.3 seconds. Decompression time for zip is
529         840 ms, and for zstd 650 ms. File size is 42735936 for zip, and
530         42586822 for zstd. Similar findings on other images.
531
532         On a 25894x16701 16bit image,
533
534                         Compression time     Decompression time     File size
535
536         ZSTD                 35 s                   3.2 s          399 700 498
537         ZIP/Deflate       1m 20 s                   4.9 s          419 622 336
538
539 2017-12-10  Even Rouault  <even.rouault@mines-paris.org>
540
541         Merge branch 'fix_cve-2017-9935' into 'master'
542         Fix CVE-2017-9935
543
544         See merge request libtiff/libtiff!7
545
546 2017-12-10  Brian May  <brian@linuxpenguins.xyz>
547
548         tiff2pdf: Fix apparent incorrect type for transfer table.
549         The standard says the transfer table contains unsigned 16 bit values,
550         I have no idea why we refer to them as floats.
551
552 2017-12-10  Brian May  <brian@linuxpenguins.xyz>
553
554         tiff2pdf: Fix CVE-2017-9935.
555         Fix for http://bugzilla.maptools.org/show_bug.cgi?id=2704
556
557         This vulnerability - at least for the supplied test case - is because we
558         assume that a tiff will only have one transfer function that is the same
559         for all pages. This is not required by the TIFF standards.
560
561         We than read the transfer function for every page.  Depending on the
562         transfer function, we allocate either 2 or 4 bytes to the XREF buffer.
563         We allocate this memory after we read in the transfer function for the
564         page.
565
566         For the first exploit - POC1, this file has 3 pages. For the first page
567         we allocate 2 extra extra XREF entries. Then for the next page 2 more
568         entries. Then for the last page the transfer function changes and we
569         allocate 4 more entries.
570
571         When we read the file into memory, we assume we have 4 bytes extra for
572         each and every page (as per the last transfer function we read). Which
573         is not correct, we only have 2 bytes extra for the first 2 pages. As a
574         result, we end up writing past the end of the buffer.
575
576         There are also some related issues that this also fixes. For example,
577         TIFFGetField can return uninitalized pointer values, and the logic to
578         detect a N=3 vs N=1 transfer function seemed rather strange.
579
580         It is also strange that we declare the transfer functions to be of type
581         float, when the standard says they are unsigned 16 bit values. This is
582         fixed in another patch.
583
584         This patch will check to ensure that the N value for every transfer
585         function is the same for every page. If this changes, we abort with an
586         error. In theory, we should perhaps check that the transfer function
587         itself is identical for every page, however we don't do that due to the
588         confusion of the type of the data in the transfer function.
589
590 2017-12-10  Even Rouault  <even.rouault@mines-paris.org>
591
592         Merge branch 'undef-warn-fixes' into 'master'
593         Fix a couple of harmless but annoying -Wundef warnings
594
595         See merge request libtiff/libtiff!8
596
597 2017-12-07  Vadim Zeitlin  <vadim@zeitlins.org>
598
599         Remove tests for undefined SIZEOF_VOIDP.
600         As configure never uses AC_CHECK_SIZEOF(void*), this symbol is never
601         defined and so it doesn't make sense to test it in the code, this just
602         results in -Wundef warnings if they're enabled.
603
604         Avoid harmless -Wundef warnings for __clang_major__
605         Check that we're using Clang before checking its version.
606
607 2017-12-02  Even Rouault  <even.rouault@mines-paris.org>
608
609         Merge branch 'remove_autogenerated_files' into 'master'
610         Remove autogenerated files
611
612         See merge request libtiff/libtiff!5
613
614 2017-12-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
615
616         Merge branch 'tif_config_h_includes' into 'master'
617         'tif_config.h' or 'tiffiop.h' must be included before any system header.
618
619         See merge request libtiff/libtiff!6
620
621 2017-12-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
622
623         'tif_config.h' or 'tiffio.h' must be included before any system header.
624
625 2017-12-01  Even Rouault  <even.rouault@spatialys.com>
626
627         .gitignore: add patterns for build from root.
628
629         Remove remaining .cvsignore files.
630
631         Remove autoconf/automake generated files, and add them to .gitignore.
632
633 2017-12-01  Olivier Paquet  <olivier.paquet@gmail.com>
634
635         Merge branch 'makedistcheck' into 'master'
636         build/gitlab-ci and build/travis-ci: add a 'make dist' step in autoconf_build()…
637
638         See merge request libtiff/libtiff!4
639
640 2017-12-01  Even Rouault  <even.rouault@spatialys.com>
641
642         build/gitlab-ci and build/travis-ci: add a 'make dist' step in autoconf_build() target, to check we are release-ready
643
644 2017-12-01  Even Rouault  <even.rouault@mines-paris.org>
645
646         Merge branch 'git_updates' into 'master'
647         CVS to Git updates
648
649         See merge request libtiff/libtiff!2
650
651 2017-12-01  Even Rouault  <even.rouault@spatialys.com>
652
653         HOWTO-RELEASE: update to use signed tags.
654
655         README.md: use markdown syntax for hyperlinks.
656
657 2017-11-30  Even Rouault  <even.rouault@spatialys.com>
658
659         Add .gitignore.
660
661         Regenerate autoconf files.
662
663         Makefile.am: update to reflect removal of README.vms and README -> README.md
664
665         Remove all $Id and $Headers comments with CVS versions.
666
667         HOWTO-RELEASE: update for git.
668
669         Remove outdated .cvsignore.
670
671         Remove outdated commit script.
672
673         Remove README.vms.
674
675         Rename README as README.md, and update content.
676
677         html/index.html: reflect change from CVS to gitlab.
678
679 2017-11-30  Olivier Paquet  <olivier.paquet@gmail.com>
680
681         Merge branch 'test-ci' into 'master'
682         Update CI configuration
683
684         See merge request libtiff/libtiff!1
685
686 2017-11-23  Roger Leigh  <rleigh@codelibre.net>
687
688         appveyor: Correct path for git clone and skip artefact archival.
689
690 2017-11-22  Roger Leigh  <rleigh@codelibre.net>
691
692         travis-ci: Remove unused matrix exclusion.
693
694         Add gitlab-ci build support.
695
696 2017-11-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
697
698         * configure.ac: libtiff 4.0.9 released.
699
700         * html/v4.0.9.html: Add HTML file to document changes in libtiff
701         v4.0.9.
702
703 2017-11-17  Even Rouault <even.rouault at spatialys.com>
704
705         * libtiff/tif_aux.c, tif_getimage.c, tif_read.c: typo fixes in
706         comments.
707
708 2017-11-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
709
710         * test/Makefile.am: Add some tests for tiff2bw.
711
712 2017-11-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
713
714         * tools/tiff2bw.c (main): Free memory allocated in the tiff2bw
715         program.  This is in response to the report associated with
716         CVE-2017-16232 but does not solve the extremely high memory usage
717         with the associated POC file.
718
719 2017-10-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
720
721         * tools/tiff2pdf.c (t2p_sample_realize_palette): Fix possible
722         arithmetic overflow in bounds checking code and eliminate
723         comparison between signed and unsigned type.
724
725         * tools/fax2tiff.c (_FAX_Client_Data): Pass FAX_Client_Data as the
726         client data.  This client data is not used at all at the moment,
727         but it makes the most sense.  Issue that the value of
728         client_data.fd was passed where a pointer is expected was reported
729         via email by Gerald Schade on Sun, 29 Oct 2017.
730
731 2017-10-23  Even Rouault <even.rouault at spatialys.com>
732
733         * libtiff/tif_getimage.c: avoid floating point division by zero in
734         initCIELabConversion()
735         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3733
736         Credit to OSS Fuzz
737
738 2017-10-17  Even Rouault <even.rouault at spatialys.com>
739
740         * libtiff/tif_jpeg.c: add compatibility with libjpeg-turbo 1.5.2 that
741         honours max_memory_to_use > 0.
742         Cf https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162
743
744 2017-10-10  Even Rouault <even.rouault at spatialys.com>
745
746         * nmake.opt: support a DEBUG=1 option, so as to adjust OPTFLAGS and use
747         /MDd runtime in debug mode.
748
749 2017-10-01  Even Rouault <even.rouault at spatialys.com>
750
751         * tools/tiffset.c: fix setting a single value for the ExtraSamples tag
752         (and other tags with variable number of values).
753         So 'tiffset -s ExtraSamples 1 X'. This only worked
754         when setting 2 or more values, but not just one.
755
756 2017-09-29  Even Rouault <even.rouault at spatialys.com>
757
758         * libtiff/libtiff.def: add TIFFReadRGBAStripExt and TIFFReadRGBATileExt
759         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2735
760
761 2017-09-09  Even Rouault <even.rouault at spatialys.com>
762
763         * libtiff/tif_dirread.c: add NULL check to avoid likely false positive
764         null-pointer dereference warning by CLang Static Analyzer. 
765
766 2017-09-07  Even Rouault <even.rouault at spatialys.com>
767
768         * libtiff/tiffiop.h, tif_aux.c: redirect SeekOK() macro to a _TIFFSeekoK()
769         function that checks if the offset is not bigger than INT64_MAX, so as
770         to avoid a -1 error return code of TIFFSeekFile() to match a required
771         seek to UINT64_MAX/-1.
772         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2726
773         Adapted from proposal by Nicolas Ruff.
774
775 2017-08-29  Even Rouault <even.rouault at spatialys.com>
776
777         * libtiff/tif_jpeg.c: accept reading the last strip of a JPEG compressed
778         file if the codestream height is larger than the truncated height of the
779         strip. Emit a warning in this situation since this is non compliant.
780
781 2017-08-28  Even Rouault <even.rouault at spatialys.com>
782
783         * test/Makefile.am: add missing reference to images/quad-lzw-compat.tiff
784         to fix "make distcheck". Patch by Roger Leigh
785
786 2017-08-23  Even Rouault <even.rouault at spatialys.com>
787
788         * libtiff/tif_dirwrite.c: replace assertion to tag value not fitting
789         on uint32 when selecting the value of SubIFD tag by runtime check
790         (in TIFFWriteDirectoryTagSubifd()).
791         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2728
792         Reported by team OWL337
793
794 2017-08-23  Even Rouault <even.rouault at spatialys.com>
795
796         * libtiff/tif_dirwrite.c: replace assertion related to not finding the
797         SubIFD tag by runtime check (in TIFFWriteDirectorySec())
798         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2727
799         Reported by team OWL337
800
801 2017-07-24  Even Rouault <even.rouault at spatialys.com>
802
803         * libtiff/tif_luv.c: further reduce memory requirements for temporary
804         buffer when RowsPerStrip >= image_length in LogLuvInitState() and
805         LogL16InitState().
806         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2700
807         Credit to OSS Fuzz
808
809 2017-07-24  Even Rouault <even.rouault at spatialys.com>
810
811         * libtiff/tif_getimage.c: fix fromskew computation when to-be-skipped
812         pixel number is not a multiple of the horizontal subsampling, and
813         also in some other cases. Impact putcontig8bitYCbCr44tile,
814         putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile,
815         putcontig8bitYCbCr21tile and putcontig8bitYCbCr12tile
816         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2637 (discovered
817         by Agostino Sarubbo)
818         and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2691 (credit
819         to OSS Fuzz)
820
821 2017-07-24  Even Rouault <even.rouault at spatialys.com>
822
823         * libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate():
824         properly break from loops on error when stoponerr is set, instead
825         of going on iterating on row based loop.
826
827 2017-07-18  Even Rouault <even.rouault at spatialys.com>
828
829         * libtiff/tif_luv.c: LogLuvInitState(): avoid excessive memory
830         allocation when RowsPerStrip tag is missing.
831         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2683
832         Credit to OSS-Fuzz
833
834 2017-07-15  Even Rouault <even.rouault at spatialys.com>
835
836         * libtiff/tif_read.c: add protection against excessive memory
837         allocation attempts in TIFFReadDirEntryArray() on short files.
838         Effective for mmap'ed case. And non-mmap'ed case, but restricted
839         to 64bit builds.
840         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2675
841
842 2017-07-15  Even Rouault <even.rouault at spatialys.com>
843
844         * libtiff/tif_read.c: in TIFFFetchStripThing(), only grow the
845         arrays that hold StripOffsets/StripByteCounts, when they are smaller
846         than the expected number of striles, up to 1 million striles, and
847         error out beyond. Can be tweaked by setting the environment variable
848         LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT.
849         This partially goes against a change added on 2002-12-17 to accept
850         those arrays of wrong sizes, but is needed to avoid denial of services.
851         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2350
852         Credit to OSS Fuzz
853
854 2017-07-15  Even Rouault <even.rouault at spatialys.com>
855
856         * libtiff/tif_read.c: TIFFFillStrip() / TIFFFillTile().
857         Complementary fix for http://bugzilla.maptools.org/show_bug.cgi?id=2708
858         in the isMapped() case, so as to avoid excessive memory allocation
859         when we need a temporary buffer but the file is truncated.
860
861 2017-07-15  Even Rouault <even.rouault at spatialys.com>
862
863         * tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw"
864         mode on PlanarConfig=Contig input images.
865         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715
866         Reported by team OWL337
867
868 2017-07-11  Even Rouault <even.rouault at spatialys.com>
869
870         * libtiff/tif_dir.c: avoid potential null pointer dereference in
871         _TIFFVGetField() on corrupted TIFFTAG_NUMBEROFINKS tag instance.
872         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2713
873
874 2017-07-11  Even Rouault <even.rouault at spatialys.com>
875
876         * libtiff/tif_lzw.c: fix potential out-of-buffer read on 1-byte LZW
877         strips. Crashing issue only on memory mapped files, where the strip
878         offset is the last byte of the file, and the file size is a multiple
879         of one page size on the CPU architecture (typically 4096). Credit
880         to myself :-)
881
882 2017-07-11  Even Rouault <even.rouault at spatialys.com>
883
884         * test/tiffcp-lzw-compat.sh, test/images/quad-lzw-compat.tiff: new files
885         to test old-style LZW decompression
886         * test/common.sh, Makefile.am, CMakeList.txt: updated with above
887
888 2017-07-11  Even Rouault <even.rouault at spatialys.com>
889
890         * refresh autoconf/make stuff with what is on Ubuntu 16.04 (minor changes)
891
892 2017-07-11  Even Rouault <even.rouault at spatialys.com>
893
894         * libtiff/tif_lzw.c: fix 4.0.8 regression in the decoding of old-style LZW
895         compressed files.
896
897 2017-07-10  Even Rouault <even.rouault at spatialys.com>
898
899         * libtiff/tif_pixarlog.c: avoid excessive memory allocation on decoding
900         when RowsPerStrip tag is not defined (and thus td_rowsperstrip == UINT_MAX)
901         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2554
902         Credit to OSS Fuzz
903
904 2017-07-04  Even Rouault <even.rouault at spatialys.com>
905
906         * libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedTileAndAllocBuffer()
907         and _TIFFReadTileAndAllocBuffer() variants of TIFFReadEncodedTile() and
908         TIFFReadTile() that allocates the decoded buffer only after a first
909         successful TIFFFillTile(). This avoids excessive memory allocation
910         on corrupted files.
911         * libtiff/tif_getimage.c: use _TIFFReadTileAndAllocBuffer().
912         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2470
913         Credit to OSS Fuzz.
914
915 2017-07-04  Even Rouault <even.rouault at spatialys.com>
916
917         * libtiff/tif_error.c, tif_warning.c: correctly use va_list when both
918         an old-style and new-style warning/error handlers are installed.
919         Patch by Paavo Helde (sent on the mailing list)
920
921 2017-07-02  Even Rouault <even.rouault at spatialys.com>
922
923         * libtiff/tif_read.c: TIFFStartTile(): set tif_rawcc to
924         tif_rawdataloaded when it is set. Similarly to TIFFStartStrip().
925         This issue was revealed by the change of 2017-06-30 in TIFFFileTile(),
926         limiting the number of bytes read. But it could probably have been hit
927         too in CHUNKY_STRIP_READ_SUPPORT mode previously ?
928         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2454
929         Credit to OSS Fuzz
930
931 2017-06-30  Even Rouault <even.rouault at spatialys.com>
932
933         * man: update documentation regarding SubIFD tag and
934         TIFFSetSubDirectory() data type.
935         Patch by Eric Piel
936         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2671
937
938 2017-06-30  Even Rouault <even.rouault at spatialys.com>
939
940         * libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedXXXX()
941         functions associated with LONG8/SLONG8 data type, replace assertion that
942         the file is BigTIFF, by a non-fatal error.
943         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712
944         Reported by team OWL337
945
946 2017-06-30  Even Rouault <even.rouault at spatialys.com>
947
948         * libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedStripAndAllocBuffer()
949         function, variant of TIFFReadEncodedStrip() that allocates the
950         decoded buffer only after a first successful TIFFFillStrip(). This avoids
951         excessive memory allocation on corrupted files.
952         * libtiff/tif_getimage.c: use _TIFFReadEncodedStripAndAllocBuffer(). 
953         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2708 and
954         https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2433 .
955         Credit to OSS Fuzz
956
957 2017-06-30  Even Rouault <even.rouault at spatialys.com>
958
959         * libtiff/tif_read.c: TIFFFillTile(): add limitation to the number
960         of bytes read in case td_stripbytecount[strip] is bigger than
961         reasonable, so as to avoid excessive memory allocation (similarly to
962         what was done for TIFFFileStrip() on 2017-05-10)
963
964 2017-06-29  Even Rouault <even.rouault at spatialys.com>
965
966         * libtiff/tiffiop.h, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c,
967         libtiff/tif_read.c: make TIFFReadScanline() works in
968         CHUNKY_STRIP_READ_SUPPORT mode with JPEG stream with multiple scans.
969         Also make configurable through a LIBTIFF_JPEG_MAX_ALLOWED_SCAN_NUMBER
970         environment variable the maximum number of scans allowed. Defaults to
971         100.
972
973 2017-06-27  Even Rouault <even.rouault at spatialys.com>
974
975         * libtiff/tif_dirread.c: in TIFFReadDirEntryFloat(), check that a
976         double value can fit in a float before casting. Patch by Nicolas RUFF
977
978 2017-06-26  Even Rouault <even.rouault at spatialys.com>
979
980         * libtiff/tif_jbig.c: fix memory leak in error code path of JBIGDecode()
981         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2706
982         Reported by team OWL337
983
984 2017-06-24  Even Rouault <even.rouault at spatialys.com>
985
986         * libtiff/tif_jpeg.c: error out at decoding time if anticipated libjpeg
987         memory allocation is above 100 MB. libjpeg in case of multiple scans,
988         which is allowed even in baseline JPEG, if components are spread over several
989         scans and not interleavedin a single one, needs to allocate memory (or
990         backing store) for the whole strip/tile.
991         See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf
992         This limitation may be overriden by setting the 
993         LIBTIFF_ALLOW_LARGE_LIBJPEG_MEM_ALLOC environment variable, or recompiling
994         libtiff with a custom value of TIFF_LIBJPEG_LARGEST_MEM_ALLOC macro.
995
996 2017-06-24  Even Rouault <even.rouault at spatialys.com>
997
998         * libtiff/tif_jpeg.c: add anti-denial of service measure to avoid excessive
999         CPU consumption on progressive JPEGs with a huge number of scans.
1000         See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf
1001         Note: only affects libtiff since 2014-12-29 where support of non-baseline JPEG
1002         was added.
1003
1004 2017-06-18  Even Rouault <even.rouault at spatialys.com>
1005
1006         * libtiff/tiffiop.h: add TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW macro to
1007         disable CLang warnings raised by -fsanitize=undefined,unsigned-integer-overflow
1008         * libtiff/tif_predict.c: decorate legitimate functions where unsigned int
1009         overflow occur with TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
1010         * libtiff/tif_dirread.c: avoid unsigned int overflow in EstimateStripByteCounts()
1011         and BYTECOUNTLOOKSBAD when file is too short.
1012         * libtiff/tif_jpeg.c: avoid (harmless) unsigned int overflow on tiled images.
1013         * libtiff/tif_fax3.c: avoid unsigned int overflow in Fax3Encode2DRow(). Could
1014         potentially be a bug with huge rows.
1015         * libtiff/tif_getimage.c: avoid many (harmless) unsigned int overflows.
1016
1017 2017-06-12  Even Rouault <even.rouault at spatialys.com>
1018
1019         * libtiff/tif_dirread.c: TIFFFetchStripThing(): limit the number of items
1020         read in StripOffsets/StripByteCounts tags to the number of strips to avoid
1021         excessive memory allocation.
1022         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2215
1023         Credit to OSS Fuzz
1024
1025 2017-06-12  Even Rouault <even.rouault at spatialys.com>
1026
1027         * libtiff/tif_dirread.c: fix regression of libtiff 4.0.8 in
1028         ChopUpSingleUncompressedStrip() regarding update of newly single-strip
1029         uncompressed files whose bytecount is 0. Before the change of 2016-12-03,
1030         the condition bytecount==0 used to trigger an early exit/disabling of
1031         strip chop. Re-introduce that in update mode. Otherwise this cause
1032         later incorrect setting for the value of StripByCounts/StripOffsets.
1033         ( https://trac.osgeo.org/gdal/ticket/6924 )
1034
1035 2017-06-10  Even Rouault <even.rouault at spatialys.com>
1036
1037         * .appveyor.yml, .travis.yml, build/travis-ci: apply patches
1038         0001-ci-Travis-script-improvements.patch and
1039         0002-ci-Invoke-helper-script-via-shell.patch by Roger Leigh
1040         (sent to mailing list)
1041
1042 2017-06-08  Even Rouault <even.rouault at spatialys.com>
1043
1044         * .travis.yml, build/travis-ci: new files from
1045         0001-ci-Add-Travis-support-for-Linux-builds-with-Autoconf.patch by
1046         Roger Leigh (sent to mailing list on 2017-06-08)
1047         This patch adds support for the Travis-CI service.
1048
1049         * .appveyor.yml: new file from
1050         0002-ci-Add-AppVeyor-support.patch by Roger Leigh (sent to mailing
1051         list on 2017-06-08)
1052         This patch adds a .appveyor.yml file to the top-level.  This allows
1053         one to opt in to having a branch built on Windows with Cygwin,
1054         MinGW and MSVC automatically when a branch is pushed to GitHub,
1055         GitLab, BitBucket or any other supported git hosting service.
1056
1057         * CMakeLists.txt, test/CMakeLists.txt, test/TiffTestCommon.cmake: apply
1058         patch 0001-cmake-Improve-Cygwin-and-MingGW-test-support.patch from Roger
1059         Leigh (sent to mailing list on 2017-06-08)
1060         This patch makes the CMake build system support running the tests
1061         with MinGW or Cygwin.
1062
1063 2017-06-08  Even Rouault <even.rouault at spatialys.com>
1064
1065         * libtiff/tif_swab.c: if DISABLE_CHECK_TIFFSWABMACROS is defined, do not do
1066         the #ifdef TIFFSwabXXX checks. Make it easier for GDAL to rename the symbols
1067         of its internal libtiff copy.
1068
1069 2017-06-01  Even Rouault <even.rouault at spatialys.com>
1070
1071         * libtiff/tif_dirinfo.c, tif_dirread.c: add _TIFFCheckFieldIsValidForCodec(),
1072         and use it in TIFFReadDirectory() so as to ignore fields whose tag is a
1073         codec-specified tag but this codec is not enabled. This avoids TIFFGetField()
1074         to behave differently depending on whether the codec is enabled or not, and
1075         thus can avoid stack based buffer overflows in a number of TIFF utilities
1076         such as tiffsplit, tiffcmp, thumbnail, etc.
1077         Patch derived from 0063-Handle-properly-CODEC-specific-tags.patch
1078         (http://bugzilla.maptools.org/show_bug.cgi?id=2580) by Raphaël Hertzog.
1079         Fixes:
1080         http://bugzilla.maptools.org/show_bug.cgi?id=2580
1081         http://bugzilla.maptools.org/show_bug.cgi?id=2693
1082         http://bugzilla.maptools.org/show_bug.cgi?id=2625 (CVE-2016-10095)
1083         http://bugzilla.maptools.org/show_bug.cgi?id=2564 (CVE-2015-7554)
1084         http://bugzilla.maptools.org/show_bug.cgi?id=2561 (CVE-2016-5318)
1085         http://bugzilla.maptools.org/show_bug.cgi?id=2499 (CVE-2014-8128)
1086         http://bugzilla.maptools.org/show_bug.cgi?id=2441
1087         http://bugzilla.maptools.org/show_bug.cgi?id=2433
1088
1089 2017-05-29  Even Rouault <even.rouault at spatialys.com>
1090
1091         * libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation for
1092         refBlackWhite coefficients values. To avoid invalid float->int32 conversion
1093         (when refBlackWhite[0] == 2147483648.f)
1094         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1907
1095         Credit to OSS Fuzz
1096
1097 2017-05-29  Even Rouault <even.rouault at spatialys.com>
1098
1099         * libtiff/tif_color.c: TIFFYCbCrToRGBInit(): stricter clamping to avoid
1100         int32 overflow in TIFFYCbCrtoRGB().
1101         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1844
1102         Credit to OSS Fuzz
1103
1104 2017-05-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1105
1106         * configure.ac: libtiff 4.0.8 released.
1107
1108         * html/v4.0.8.html: Add description of changes targeting the 4.0.8
1109         release.
1110
1111 2017-05-20 Even Rouault <even.rouault at spatialys.com>
1112
1113         * libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation for
1114         refBlackWhite coefficients values. To avoid invalid float->int32 conversion.
1115         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1718
1116         Credit to OSS Fuzz
1117
1118 2017-05-18 Even Rouault <even.rouault at spatialys.com>
1119
1120         * libtiff/tif_getimage.c: initYCbCrConversion(): check luma[1] is not zero
1121         to avoid division by zero.
1122         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665
1123         Credit to OSS Fuzz
1124
1125 2017-05-17 Even Rouault <even.rouault at spatialys.com>
1126
1127         * libtiff/tif_read.c: _TIFFVSetField(): fix outside range cast of double to
1128         float.
1129         Credit to Google Autofuzz project
1130
1131 2017-05-17 Even Rouault <even.rouault at spatialys.com>
1132
1133         * libtiff/tif_getimage.c: initYCbCrConversion(): add basic validation of
1134         luma and refBlackWhite coefficients (just check they are not NaN for now),
1135         to avoid potential float to int overflows.
1136         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1663
1137         Credit to OSS Fuzz
1138
1139 2017-05-17 Even Rouault <even.rouault at spatialys.com>
1140
1141         * libtiff/tif_pixarlog.c: PixarLogDecode(): resync tif_rawcp with
1142         next_in and tif_rawcc with avail_in at beginning and end of function,
1143         similarly to what is done in LZWDecode(). Likely needed so that it
1144         works properly with latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT
1145         mode. But untested...
1146
1147 2017-05-17 Even Rouault <even.rouault at spatialys.com>
1148
1149         * libtiff/tif_lzw.c: update dec_bitsleft at beginning of LZWDecode(),
1150         and update tif_rawcc at end of LZWDecode(). This is needed to properly
1151         work with the latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT
1152         mode.
1153
1154 2017-05-14 Even Rouault <even.rouault at spatialys.com>
1155
1156         * libtiff/tif_luv.c: LogL16InitState(): avoid excessive memory
1157         allocation when RowsPerStrip tag is missing.
1158         Credit to OSS-Fuzz (locally run, on GDAL)
1159
1160 2017-05-14 Even Rouault <even.rouault at spatialys.com>
1161
1162         * libtiff/tif_packbits.c: fix out-of-buffer read in PackBitsDecode()
1163         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1563
1164         Credit to OSS-Fuzz
1165
1166 2017-05-13 Even Rouault <even.rouault at spatialys.com>
1167
1168         * libtiff/tif_pixarlog.c, tif_luv.c: avoid potential int32
1169         overflows in multiply_ms() and add_ms().
1170         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1558
1171         Credit to OSS-Fuzz
1172
1173 2017-05-13 Even Rouault <even.rouault at spatialys.com>
1174
1175         * libtiff/tif_color.c: avoid potential int32 overflow in
1176         TIFFYCbCrToRGBInit()
1177         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1533
1178         Credit to OSS-Fuzz
1179
1180 2017-05-13 Even Rouault <even.rouault at spatialys.com>
1181
1182         * libtiff/tif_read.c: update tif_rawcc in CHUNKY_STRIP_READ_SUPPORT
1183         mode with tif_rawdataloaded when calling TIFFStartStrip() or
1184         TIFFFillStripPartial(). This avoids reading beyond tif_rawdata
1185         when bytecount > tif_rawdatasize.
1186         Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1545.
1187         Credit to OSS-Fuzz
1188
1189 2017-05-12 Even Rouault <even.rouault at spatialys.com>
1190
1191         * libtiff/tif_read.c: TIFFFillStripPartial():
1192         avoid excessive memory allocation in case of shorten files.
1193         Only effective on 64 bit builds.
1194         Credit to OSS-Fuzz (locally run, on GDAL)
1195
1196 2017-05-12 Even Rouault <even.rouault at spatialys.com>
1197
1198         * libtiff/tif_read.c: TIFFFillStripPartial() / TIFFSeek(),
1199         avoid potential integer overflows with read_ahead in
1200         CHUNKY_STRIP_READ_SUPPORT mode. Should
1201         especially occur on 32 bit platforms.
1202
1203 2017-05-10 Even Rouault <even.rouault at spatialys.com>
1204
1205         * libtiff/tif_read.c: TIFFFillStrip() and TIFFFillTile():
1206         avoid excessive memory allocation in case of shorten files.
1207         Only effective on 64 bit builds and non-mapped cases.
1208         Credit to OSS-Fuzz (locally run, on GDAL)
1209
1210 2017-05-10 Even Rouault <even.rouault at spatialys.com>
1211
1212         * libtiff/tif_zip.c, tif_pixarlog.c, tif_predict.c: fix memory
1213         leak when the underlying codec (ZIP, PixarLog) succeeds its
1214         setupdecode() method, but PredictorSetup fails.
1215         Credit to OSS-Fuzz (locally run, on GDAL)
1216
1217 2017-05-10 Even Rouault <even.rouault at spatialys.com>
1218
1219         * libtiff/tif_read.c: TIFFFillStrip(): add limitation to the number
1220         of bytes read in case td_stripbytecount[strip] is bigger than
1221         reasonable, so as to avoid excessive memory allocation.
1222
1223 2017-04-28 Even Rouault <even.rouault at spatialys.com>
1224
1225         * tools/tiff2bw.c: close TIFF handle in error code path.
1226         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2677
1227
1228 2017-04-27 Even Rouault <even.rouault at spatialys.com>
1229
1230         * litiff/tif_fax3.c: avoid crash in Fax3Close() on empty file.
1231         Patch by Alan Coopersmith  + complement by myself.
1232         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2673
1233         * tools/fax2tiff.c: emit appropriate message if the input file is
1234         empty. Patch by Alan Coopersmith.
1235         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2672
1236
1237 2017-04-27 Even Rouault <even.rouault at spatialys.com>
1238
1239         * libtiff/tif_ojpeg.c: fix potential memory leak in
1240         OJPEGReadHeaderInfoSecTablesQTable, OJPEGReadHeaderInfoSecTablesDcTable
1241         and OJPEGReadHeaderInfoSecTablesAcTable
1242         Patch by Nicolás Peña.
1243         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2670
1244
1245 2017-04-27 Even Rouault <even.rouault at spatialys.com>
1246
1247         * libtiff/tif_dirread.c: fix memory leak in non DEFER_STRILE_LOAD
1248         mode (ie default) when there is both a StripOffsets and
1249         TileOffsets tag, or a StripByteCounts and TileByteCounts
1250         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2689
1251         * tools/tiff2ps.c: call TIFFClose() in error code paths.
1252
1253 2017-02-25 Even Rouault <even.rouault at spatialys.com>
1254
1255         * libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c: fix GCC 7
1256         -Wimplicit-fallthrough warnings.
1257
1258 2017-02-18 Even Rouault <even.rouault at spatialys.com>
1259
1260         * libtiff/tif_pixarlog.c: fix memory leak in error code path of
1261         PixarLogSetupDecode(). Patch by Nicolás Peña.
1262         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2665
1263
1264 2017-02-18 Even Rouault <even.rouault at spatialys.com>
1265
1266         * libtiff/tif_lzw.c: in LZWPostEncode(), increase, if necessary, the
1267         code bit-width after flushing the remaining code and before emitting
1268         the EOI code.
1269         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=1982
1270
1271 2017-01-31 Even Rouault <even.rouault at spatialys.com>
1272
1273         * libtiff/tif_jpeg.c: only run JPEGFixupTagsSubsampling() if the
1274         YCbCrSubsampling tag is not explicitly present. This helps a bit to reduce
1275         the I/O amount when te tag is present (especially on cloud hosted files).
1276
1277 2017-01-14 Even Rouault <even.rouault at spatialys.com>
1278
1279         * tools/raw2tiff.c: avoid integer division by zero.
1280         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2631
1281
1282 2017-01-12 Even Rouault <even.rouault at spatialys.com>
1283
1284         * libtiff/tif_ojpeg.c: fix leak in OJPEGReadHeaderInfoSecTablesQTable,
1285         OJPEGReadHeaderInfoSecTablesDcTable and OJPEGReadHeaderInfoSecTablesAcTable
1286         when read fails.
1287         Patch by Nicolás Peña.
1288         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2659
1289
1290 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1291
1292         * libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c: return 0 in Encode
1293         functions instead of -1 when TIFFFlushData1() fails.
1294         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2130
1295
1296 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1297
1298         * tools/tiffcp.c: error out cleanly in cpContig2SeparateByRow and
1299         cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap based overflow.
1300         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2656 and
1301         http://bugzilla.maptools.org/show_bug.cgi?id=2657
1302
1303 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1304
1305         * libtiff/tiffio.h, tif_unix.c, tif_win32.c, tif_vms.c: add _TIFFcalloc()
1306
1307         * libtiff/tif_read.c: TIFFReadBufferSetup(): use _TIFFcalloc() to zero
1308         initialize tif_rawdata.
1309         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2651
1310
1311 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1312
1313         * libtiff/tif_getimage.c: add explicit uint32 cast in putagreytile to
1314         avoid UndefinedBehaviorSanitizer warning.
1315         Patch by Nicolás Peña.
1316         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2658
1317
1318 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1319
1320         * libtiff/tif_read.c: avoid potential undefined behaviour on signed integer
1321         addition in TIFFReadRawStrip1() in isMapped() case.
1322         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2650
1323
1324 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1325
1326         * libtiff/tif_jpeg.c: validate BitsPerSample in JPEGSetupEncode() to avoid
1327         undefined behaviour caused by invalid shift exponent.
1328         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2648
1329
1330 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1331
1332         * libtiff/tif_dir.c, tif_dirread.c, tif_dirwrite.c: implement various clampings
1333         of double to other data types to avoid undefined behaviour if the output range
1334         isn't big enough to hold the input value.
1335         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2643
1336         http://bugzilla.maptools.org/show_bug.cgi?id=2642
1337         http://bugzilla.maptools.org/show_bug.cgi?id=2646
1338         http://bugzilla.maptools.org/show_bug.cgi?id=2647
1339
1340 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1341
1342         * libtiff/tif_dirread.c: avoid division by floating point 0 in
1343         TIFFReadDirEntryCheckedRational() and TIFFReadDirEntryCheckedSrational(),
1344         and return 0 in that case (instead of infinity as before presumably)
1345         Apparently some sanitizers do not like those divisions by zero.
1346         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2644
1347
1348 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1349
1350         * libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedRational, replace
1351         assertion by runtime check to error out if passed value is strictly
1352         negative.
1353         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2535
1354
1355         * tools/tiffcrop.c: remove extraneous TIFFClose() in error code path, that
1356         caused double free.
1357         Related to http://bugzilla.maptools.org/show_bug.cgi?id=2535
1358
1359 2017-01-11 Even Rouault <even.rouault at spatialys.com>
1360
1361         * libtiff/tif_jpeg.c: avoid integer division by zero in
1362         JPEGSetupEncode() when horizontal or vertical sampling is set to 0.
1363         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2653
1364
1365 2017-01-03 Even Rouault <even.rouault at spatialys.com>
1366
1367         * libtiff/tif_jpeg.c: increase libjpeg max memory usable to
1368         10 MB instead of libjpeg 1MB default. This helps when creating files
1369         with "big" tile, without using libjpeg temporary files.
1370         Related to https://trac.osgeo.org/gdal/ticket/6757
1371
1372 2016-12-20 Even Rouault <even.rouault at spatialys.com>
1373
1374         * tools/tiff2pdf.c: avoid potential heap-based overflow in
1375         t2p_readwrite_pdf_image_tile().
1376         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2640
1377
1378 2016-12-20 Even Rouault <even.rouault at spatialys.com>
1379
1380         * tools/tiff2pdf.c: avoid potential invalid memory read in
1381         t2p_writeproc.
1382         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2639
1383
1384 2016-12-20 Even Rouault <even.rouault at spatialys.com>
1385
1386         * tools/tiff2pdf.c: fix wrong usage of memcpy() that can trigger
1387         unspecified behaviour.
1388         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2638
1389
1390 2016-12-18 Even Rouault <even.rouault at spatialys.com>
1391
1392         * libtiff/tif_getimage.c: fix potential memory leaks in error code
1393         path of TIFFRGBAImageBegin().
1394         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2627
1395
1396 2016-12-18 Even Rouault <even.rouault at spatialys.com>
1397
1398         * tools/tiff2pdf.c: prevent heap-based buffer overflow in -j mode
1399         on a paletted image. Note: this fix errors out before the overflow
1400         happens. There could probably be a better fix.
1401         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2635
1402
1403 2016-12-17 Even Rouault <even.rouault at spatialys.com>
1404
1405         * libtiff/tiffio.h, libtiff/tif_getimage.c: add TIFFReadRGBAStripExt()
1406         and TIFFReadRGBATileExt() variants of the functions without ext, with
1407         an extra argument to control the stop_on_error behaviour.
1408
1409 2016-12-17 Even Rouault <even.rouault at spatialys.com>
1410
1411         * tools/tiff2ps.c: fix 2 heap-based buffer overflows (in PSDataBW
1412         and PSDataColorContig). Reported by Agostino Sarubbo.
1413         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2633 and
1414         http://bugzilla.maptools.org/show_bug.cgi?id=2634.
1415
1416 2016-12-13 Even Rouault <even.rouault at spatialys.com>
1417
1418         * libtiff/tif_fax3.h: revert change done on 2016-01-09 that made
1419         Param member of TIFFFaxTabEnt structure a uint16 to reduce size of
1420         the binary. It happens that the Hylafax software uses the tables that
1421         follow this typedef (TIFFFaxMainTable, TIFFFaxWhiteTable,
1422         TIFFFaxBlackTable), although they are not in a public libtiff header.
1423         Raised by Lee Howard.
1424         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2636
1425
1426 2016-12-04 Even Rouault <even.rouault at spatialys.com>
1427
1428         * html/man/Makefile.am: remove thumbnail.1.html and rgb2ycbcr.1.html
1429         from installed pages since the corresponding utilities are no longer
1430         installed. Reported by Havard Eidnes
1431         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2606
1432
1433 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1434
1435         * libtiff/tif_write.c: fix misleading indentation as warned by GCC.
1436
1437 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1438
1439         * tools/tiffcp.c: replace assert( (bps % 8) == 0 ) by a non assert check.
1440         Reported by Agostino Sarubbo.
1441         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2605
1442
1443 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1444
1445         * tools/tiffcp.c: fix uint32 underflow/overflow that can cause heap-based
1446         buffer overflow.
1447         Reported by Agostino Sarubbo.
1448         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2610
1449
1450 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1451
1452         * tools/tiffcp.c: avoid potential division by zero is BitsPerSamples tag is
1453         missing.
1454         Reported by Agostino Sarubbo.
1455         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2607
1456
1457 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1458
1459         * man/Makefile.am: remove thumbnail.1 and rgb2ycbcr.1 from installed man
1460         pages since the corresponding utilities are no longer installed.
1461         Reported by Havard Eidnes 
1462         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2606
1463
1464 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1465
1466         * tools/tif_dir.c: when TIFFGetField(, TIFFTAG_NUMBEROFINKS, ) is called,
1467         limit the return number of inks to SamplesPerPixel, so that code that parses
1468         ink names doesn't go past the end of the buffer.
1469         Reported by Agostino Sarubbo.
1470         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599
1471
1472 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1473
1474         * tools/tiffcp.c: avoid potential division by zero is BitsPerSamples tag is
1475         missing.
1476         Reported by Agostino Sarubbo.
1477         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2597
1478
1479 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1480
1481         * tools/tiffinfo.c: fix null pointer dereference in -r mode when the image has
1482         no StripByteCount tag.
1483         Reported by Agostino Sarubbo.
1484         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2594
1485
1486 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1487
1488         * tools/tiffcrop.c: fix integer division by zero when BitsPerSample is missing.
1489         Reported by Agostino Sarubbo.
1490         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2619
1491
1492 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1493
1494         * tools/tiffcrop.c: add 3 extra bytes at end of strip buffer in
1495         readSeparateStripsIntoBuffer() to avoid read outside of heap allocated buffer.
1496         Reported by Agostino Sarubbo.
1497         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2621
1498
1499 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1500
1501         * tools/tiffcrop.c: fix readContigStripsIntoBuffer() in -i (ignore) mode so
1502         that the output buffer is correctly incremented to avoid write outside bounds.
1503         Reported by Agostino Sarubbo.
1504         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2620
1505
1506 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1507
1508         * libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case of failure in
1509         OJPEGPreDecode(). This will avoid a divide by zero, and potential other issues.
1510         Reported by Agostino Sarubbo.
1511         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2611
1512
1513 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1514
1515         * libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip() to
1516         instanciate compute ntrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip),
1517         instead of a logic based on the total size of data. Which is faulty is
1518         the total size of data is not sufficient to fill the whole image, and thus
1519         results in reading outside of the StripByCounts/StripOffsets arrays when
1520         using TIFFReadScanline().
1521         Reported by Agostino Sarubbo.
1522         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2608.
1523
1524         * libtiff/tif_strip.c: revert the change in TIFFNumberOfStrips() done
1525         for http://bugzilla.maptools.org/show_bug.cgi?id=2587 / CVE-2016-9273 since
1526         the above change is a better fix that makes it unnecessary.
1527
1528 2016-12-03 Even Rouault <even.rouault at spatialys.com>
1529
1530         * libtiff/tif_pixarlog.c, libtiff/tif_luv.c: fix heap-based buffer
1531         overflow on generation of PixarLog / LUV compressed files, with
1532         ColorMap, TransferFunction attached and nasty plays with bitspersample.
1533         The fix for LUV has not been tested, but suffers from the same kind
1534         of issue of PixarLog.
1535         Reported by Agostino Sarubbo.
1536         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2604
1537
1538 2016-12-02 Even Rouault <even.rouault at spatialys.com>
1539
1540         * tools/tiffcp.c: avoid uint32 underflow in cpDecodedStrips that 
1541         can cause various issues, such as buffer overflows in the library.
1542         Reported by Agostino Sarubbo.
1543         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2598
1544
1545 2016-12-02 Even Rouault <even.rouault at spatialys.com>
1546
1547         * libtiff/tif_read.c, libtiff/tiffiop.h: fix uint32 overflow in
1548         TIFFReadEncodedStrip() that caused an integer division by zero.
1549         Reported by Agostino Sarubbo.
1550         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2596
1551
1552 2016-11-20 Even Rouault <even.rouault at spatialys.com>
1553
1554         * libtiff/tif_getimage.c, libtiff/tif_open.c: add parenthesis to
1555         fix cppcheck clarifyCalculation warnings
1556         * libtiff/tif_predict.c, libtiff/tif_print.c: fix printf unsigned
1557         vs signed formatting (cppcheck invalidPrintfArgType_uint warnings)
1558
1559 2016-11-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1560
1561         * tools/fax2tiff.c (main): Applied patch by Jörg Ahrens to fix
1562         passing client data for Win32 builds using tif_win32.c
1563         (USE_WIN32_FILEIO defined) for file I/O.  Patch was provided via
1564         email on November 20, 2016.
1565
1566 2016-11-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1567
1568         * libtiff 4.0.7 released.
1569
1570         * configure.ac: Update for 4.0.7 release.
1571
1572         * tools/tiffdump.c (ReadDirectory): Remove uint32 cast to
1573         _TIFFmalloc() argument which resulted in Coverity report.  Added
1574         more mutiplication overflow checks.
1575
1576 2016-11-18 Even Rouault <even.rouault at spatialys.com>
1577
1578         * tools/tiffcrop.c: Fix memory leak in (recent) error code path.
1579         Fixes Coverity 1394415.
1580
1581 2016-11-17  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1582
1583         * libtiff/tif_getimage.c: Fix some benign warnings which appear in
1584         64-bit compilation under Microsoft Visual Studio of the form
1585         "Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit
1586         value.  Results might not be an expected value.".  Problem was
1587         reported on November 16, 2016 on the tiff mailing list.
1588
1589 2016-11-16 Even Rouault <even.rouault at spatialys.com>
1590
1591         * libtiff/tif_dirread.c: in TIFFFetchNormalTag(), do not dereference
1592         NULL pointer when values of tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII
1593         access are 0-byte arrays.
1594         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2593 (regression introduced
1595         by previous fix done on 2016-11-11 for CVE-2016-9297).
1596         Reported by Henri Salo. Assigned as CVE-2016-9448
1597
1598 2016-11-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1599
1600         * tools/tiffinfo.c (TIFFReadContigTileData): Fix signed/unsigned
1601         comparison warning.
1602         (TIFFReadSeparateTileData): Fix signed/unsigned comparison
1603         warning.
1604
1605         * tools/tiffcrop.c (readContigTilesIntoBuffer): Fix
1606         signed/unsigned comparison warning.
1607
1608         * html/v4.0.7.html: Add a file to document the pending 4.0.7
1609         release.
1610
1611 2016-11-11 Even Rouault <even.rouault at spatialys.com>
1612
1613         * tools/tiff2pdf.c: avoid undefined behaviour related to overlapping
1614         of source and destination buffer in memcpy() call in
1615         t2p_sample_rgbaa_to_rgb()
1616         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2577
1617
1618 2016-11-11 Even Rouault <even.rouault at spatialys.com>
1619
1620         * tools/tiff2pdf.c: fix potential integer overflows on 32 bit builds
1621         in t2p_read_tiff_size()
1622         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2576
1623
1624 2016-11-11 Even Rouault <even.rouault at spatialys.com>
1625
1626         * libtiff/tif_aux.c: fix crash in TIFFVGetFieldDefaulted()
1627         when requesting Predictor tag and that the zip/lzw codec is not
1628         configured.
1629         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2591
1630
1631 2016-11-11 Even Rouault <even.rouault at spatialys.com>
1632
1633         * libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make sure that
1634         values of tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII
1635         access are null terminated, to avoid potential read outside buffer
1636         in _TIFFPrintField().
1637         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2590 (CVE-2016-9297)
1638
1639 2016-11-11 Even Rouault <even.rouault at spatialys.com>
1640
1641         * libtiff/tif_dirread.c: reject images with OJPEG compression that
1642         have no TileOffsets/StripOffsets tag, when OJPEG compression is
1643         disabled. Prevent null pointer dereference in TIFFReadRawStrip1()
1644         and other functions that expect td_stripbytecount to be non NULL.
1645         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2585
1646
1647 2016-11-11 Even Rouault <even.rouault at spatialys.com>
1648
1649         * tools/tiffcrop.c: fix multiple uint32 overflows in
1650         writeBufferToSeparateStrips(), writeBufferToContigTiles() and
1651         writeBufferToSeparateTiles() that could cause heap buffer overflows.
1652         Reported by Henri Salo from Nixu Corporation.
1653         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2592 (CVE-2016-9532)
1654
1655 2016-11-10 Even Rouault <even.rouault at spatialys.com>
1656
1657         * libtiff/tif_strip.c: make TIFFNumberOfStrips() return the td->td_nstrips
1658         value when it is non-zero, instead of recomputing it. This is needed in
1659         TIFF_STRIPCHOP mode where td_nstrips is modified. Fixes a read outsize of
1660         array in tiffsplit (or other utilities using TIFFNumberOfStrips()).
1661         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2587 (CVE-2016-9273)
1662
1663 2016-11-04 Even Rouault <even.rouault at spatialys.com>
1664
1665         * libtiff/tif_predic.c: fix memory leaks in error code paths added in
1666         previous commit (fix for MSVR 35105)
1667
1668 2016-10-31 Even Rouault <even.rouault at spatialys.com>
1669
1670         * libtiff/tif_predict.h, libtiff/tif_predict.c:
1671         Replace assertions by runtime checks to avoid assertions in debug mode,
1672         or buffer overflows in release mode. Can happen when dealing with
1673         unusual tile size like YCbCr with subsampling. Reported as MSVR 35105
1674         by Axel Souchet & Vishal Chauhan from the MSRC Vulnerabilities & Mitigations
1675         team.
1676
1677 2016-10-26 Even Rouault <even.rouault at spatialys.com>
1678
1679         * tools/fax2tiff.c: fix segfault when specifying -r without
1680         argument. Patch by Yuriy M. Kaminskiy.
1681         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2572
1682
1683 2016-10-25 Even Rouault <even.rouault at spatialys.com>
1684
1685         * libtiff/tif_dir.c: discard values of SMinSampleValue and
1686         SMaxSampleValue when they have been read and the value of
1687         SamplesPerPixel is changed afterwards (like when reading a
1688         OJPEG compressed image with a missing SamplesPerPixel tag,
1689         and whose photometric is RGB or YCbCr, forcing SamplesPerPixel
1690         being 3). Otherwise when rewriting the directory (for example
1691         with tiffset, we will expect 3 values whereas the array had been
1692         allocated with just one), thus causing a out of bound read access.
1693         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500
1694         (CVE-2014-8127, duplicate: CVE-2016-3658)
1695         
1696         * libtiff/tif_dirwrite.c: avoid null pointer dereference on td_stripoffset
1697         when writing directory, if FIELD_STRIPOFFSETS was artificially set
1698         for a hack case in OJPEG case.
1699         Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500
1700         (CVE-2014-8127, duplicate: CVE-2016-3658)
1701
1702 2016-10-25 Even Rouault <even.rouault at spatialys.com>
1703
1704         * tools/tiffinfo.c: fix out-of-bound read on some tiled images.
1705         (http://bugzilla.maptools.org/show_bug.cgi?id=2517)
1706
1707         * libtiff/tif_compress.c: make TIFFNoDecode() return 0 to indicate an
1708         error and make upper level read routines treat it accordingly.
1709         (linked to the test case of http://bugzilla.maptools.org/show_bug.cgi?id=2517)
1710
1711 2016-10-14 Even Rouault <even.rouault at spatialys.com>
1712
1713         * tools/tiffcrop.c: fix out-of-bound read of up to 3 bytes in
1714         readContigTilesIntoBuffer(). Reported as MSVR 35092 by Axel Souchet
1715         & Vishal Chauhan from the MSRC Vulnerabilities & Mitigations team.
1716
1717 2016-10-09 Even Rouault <even.rouault at spatialys.com>
1718
1719         * tools/tiff2pdf.c: fix write buffer overflow of 2 bytes on JPEG
1720         compressed images. Reported by Tyler Bohan of Cisco Talos as
1721         TALOS-CAN-0187 / CVE-2016-5652.
1722         Also prevents writing 2 extra uninitialized bytes to the file stream.
1723
1724 2016-10-08 Even Rouault <even.rouault at spatialys.com>
1725
1726         * tools/tiffcp.c: fix out-of-bounds write on tiled images with odd
1727         tile width vs image width. Reported as MSVR 35103
1728         by Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
1729         Mitigations team.
1730
1731 2016-10-08 Even Rouault <even.rouault at spatialys.com>
1732
1733         * tools/tiff2pdf.c: fix read -largely- outsize of buffer in
1734         t2p_readwrite_pdf_image_tile(), causing crash, when reading a
1735         JPEG compressed image with TIFFTAG_JPEGTABLES length being one.
1736         Reported as MSVR 35101 by Axel Souchet and Vishal Chauhan from
1737         the MSRC Vulnerabilities & Mitigations team. CVE-2016-9453
1738
1739 2016-10-08 Even Rouault <even.rouault at spatialys.com>
1740
1741         * tools/tiffcp.c: fix read of undefined variable in case of missing
1742         required tags. Found on test case of MSVR 35100.
1743         * tools/tiffcrop.c: fix read of undefined buffer in
1744         readContigStripsIntoBuffer() due to uint16 overflow. Probably not a
1745         security issue but I can be wrong. Reported as MSVR 35100 by Axel
1746         Souchet from the MSRC Vulnerabilities & Mitigations team.
1747
1748 2016-09-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1749
1750         * html: Change as many remotesensing.org broken links to a working
1751         URL as possible.
1752
1753 2016-09-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1754
1755         * libtiff/tif_getimage.c (TIFFRGBAImageOK): Reject attempts to
1756         read floating point images.
1757
1758         * libtiff/tif_predict.c (PredictorSetup): Enforce bits-per-sample
1759         requirements of floating point predictor (3).  Fixes CVE-2016-3622
1760         "Divide By Zero in the tiff2rgba tool."
1761
1762 2016-09-23 Even Rouault <even.rouault at spatialys.com>
1763
1764         * tools/tiffcrop.c: fix various out-of-bounds write vulnerabilities
1765         in heap or stack allocated buffers. Reported as MSVR 35093,
1766         MSVR 35096 and MSVR 35097. Discovered by Axel Souchet and Vishal
1767         Chauhan from the MSRC Vulnerabilities & Mitigations team.
1768         * tools/tiff2pdf.c: fix out-of-bounds write vulnerabilities in
1769         heap allocate buffer in t2p_process_jpeg_strip(). Reported as MSVR
1770         35098. Discovered by Axel Souchet and Vishal Chauhan from the MSRC
1771         Vulnerabilities & Mitigations team.
1772         * libtiff/tif_pixarlog.c: fix out-of-bounds write vulnerabilities
1773         in heap allocated buffers. Reported as MSVR 35094. Discovered by
1774         Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities &
1775         Mitigations team.
1776         * libtiff/tif_write.c: fix issue in error code path of TIFFFlushData1()
1777         that didn't reset the tif_rawcc and tif_rawcp members. I'm not
1778         completely sure if that could happen in practice outside of the odd
1779         behaviour of t2p_seekproc() of tiff2pdf). The report points that a
1780         better fix could be to check the return value of TIFFFlushData1() in
1781         places where it isn't done currently, but it seems this patch is enough.
1782         Reported as MSVR 35095. Discovered by Axel Souchet & Vishal Chauhan &
1783         Suha Can from the MSRC Vulnerabilities & Mitigations team.
1784
1785 2016-09-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1786
1787         * html/man/index.html: Comment out links to documentation for
1788         abandoned utilities.
1789
1790 2016-09-17 Even Rouault <even.rouault at spatialys.com>
1791
1792         * libtiff/tif_lzma.c: typo fix in comment
1793
1794 2016-09-04 Even Rouault <even.rouault at spatialys.com>
1795
1796         * libtiff/*.c: fix warnings raised by clang 3.9 -Wcomma
1797
1798 2016-09-03 Even Rouault <even.rouault at spatialys.com>
1799
1800         * libtiff/tif_dirwrite.c, libtiff/tif_color.c: fix warnings raised
1801         by GCC 5 / clang -Wfloat-conversion
1802
1803 2016-08-16 Even Rouault <even.rouault at spatialys.com>
1804
1805         * tools/tiffcrop.c: fix C99'ism.
1806
1807 2016-08-15 Even Rouault <even.rouault at spatialys.com>
1808
1809         * tools/tiff2bw.c: fix weight computation that could result of color
1810         value overflow (no security implication). Fix bugzilla #2550.
1811         Patch by Frank Freudenberg.
1812
1813 2016-08-15 Even Rouault <even.rouault at spatialys.com>
1814
1815         * tools/rgb2ycbcr.c: validate values of -v and -h parameters to
1816         avoid potential divide by zero. Fixes CVE-2016-3623 (bugzilla #2569)
1817
1818 2016-08-15 Even Rouault <even.rouault at spatialys.com>
1819
1820         * tools/tiffcrop.c: Fix out-of-bounds write in loadImage().
1821         From patch libtiff-CVE-2016-3991.patch from
1822         libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro (bugzilla #2543)
1823
1824 2016-08-15 Even Rouault <even.rouault at spatialys.com>
1825
1826         * libtiff/tif_pixarlog.c: Fix write buffer overflow in PixarLogEncode
1827         if more input samples are provided than expected by PixarLogSetupEncode.
1828         Idea based on libtiff-CVE-2016-3990.patch from
1829         libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, but with different and
1830         simpler check. (bugzilla #2544)
1831
1832 2016-08-15 Even Rouault <even.rouault at spatialys.com>
1833
1834         * tools/tiff2rgba.c: Fix integer overflow in size of allocated
1835         buffer, when -b mode is enabled, that could result in out-of-bounds
1836         write. Based initially on patch tiff-CVE-2016-3945.patch from
1837         libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, with correction for
1838         invalid tests that rejected valid files. (bugzilla #2545)
1839
1840 2016-07-11 Even Rouault <even.rouault at spatialys.com>
1841
1842         * tools/tiffcrop.c: Avoid access outside of stack allocated array
1843         on a tiled separate TIFF with more than 8 samples per pixel.
1844         Reported by Kaixiang Zhang of the Cloud Security Team, Qihoo 360
1845         (CVE-2016-5321 / CVE-2016-5323 , bugzilla #2558 / #2559)
1846
1847 2016-07-10 Even Rouault <even.rouault at spatialys.com>
1848
1849         * libtiff/tif_read.c: Fix out-of-bounds read on
1850         memory-mapped files in TIFFReadRawStrip1() and TIFFReadRawTile1()
1851         when stripoffset is beyond tmsize_t max value (reported by
1852         Mathias Svensson)
1853
1854 2016-07-10 Even Rouault <even.rouault at spatialys.com>
1855
1856         * tools/tiffdump.c: fix a few misaligned 64-bit reads warned
1857         by -fsanitize
1858
1859 2016-07-03 Even Rouault <even.rouault at spatialys.com>
1860
1861         * libtiff/tif_read.c: make TIFFReadEncodedStrip() and
1862         TIFFReadEncodedTile() directly use user provided buffer when
1863         no compression (and other conditions) to save a memcpy().
1864
1865         * libtiff/tif_write.c: make TIFFWriteEncodedStrip() and
1866         TIFFWriteEncodedTile() directly use user provided buffer when
1867         no compression to save a memcpy().
1868
1869 2016-07-01  Even Rouault <even.rouault at spatialys.com>
1870
1871         * libtiff/tif_luv.c: validate that for COMPRESSION_SGILOG and
1872         PHOTOMETRIC_LOGL, there is only one sample per pixel. Avoid
1873         potential invalid memory write on corrupted/unexpected images when
1874         using the TIFFRGBAImageBegin() interface (reported by
1875         Clay Wood)
1876
1877 2016-06-28  Even Rouault <even.rouault at spatialys.com>
1878
1879         * libtiff/tif_pixarlog.c: fix potential buffer write overrun in
1880         PixarLogDecode() on corrupted/unexpected images (reported by Mathias Svensson)
1881         (CVE-2016-5875)
1882
1883 2016-06-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1884
1885         * libtiff/libtiff.def: Added _TIFFMultiply32 and _TIFFMultiply64
1886         to libtiff.def
1887
1888 2016-06-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1889
1890         * tools/Makefile.am: The libtiff tools bmp2tiff, gif2tiff,
1891         ras2tiff, sgi2tiff, sgisv, and ycbcr are completely removed from
1892         the distribution.  The libtiff tools rgb2ycbcr and thumbnail are
1893         only built in the build tree for testing.  Old files are put in
1894         new 'archive' subdirectory of the source repository, but not in
1895         distribution archives.  These changes are made in order to lessen
1896         the maintenance burden.
1897
1898 2016-05-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1899
1900         * libtiff/tif_config.vc.h (HAVE_SNPRINTF): Add a '1' to the
1901         HAVE_SNPRINTF definition.'
1902
1903 2016-05-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1904
1905         * libtiff/tif_config.vc.h (HAVE_SNPRINTF): Applied patch by Edward
1906         Lam to define HAVE_SNPRINTF for Visual Studio 2015.
1907
1908 2016-04-27  Even Rouault <even.rouault at spatialys.com>
1909
1910         * libtiff/tif_dirread.c: when compiled with DEFER_STRILE_LOAD,
1911         fix regression, introduced on 2014-12-23, when reading a one-strip
1912         file without a StripByteCounts tag. GDAL #6490
1913
1914 2016-04-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1915
1916         * html/bugs.html: Replace Andrey Kiselev with Bob Friesenhahn for
1917         purposes of security issue reporting.
1918
1919 2016-01-23  Even Rouault <even.rouault at spatialys.com>
1920
1921         * libtiff/*: upstream typo fixes (mostly contributed by Kurt Schwehr)
1922         coming from GDAL internal libtiff
1923
1924 2016-01-09  Even Rouault <even.rouault at spatialys.com>
1925
1926         * libtiff/tif_fax3.h: make Param member of TIFFFaxTabEnt structure
1927         a uint16 to reduce size of the binary.
1928
1929 2016-01-03  Even Rouault <even.rouault at spatialys.com>
1930
1931         * libtiff/tif_read.c, tif_dirread.c: fix indentation issues raised
1932         by GCC 6 -Wmisleading-indentation
1933
1934 2015-12-27  Even Rouault <even.rouault at spatialys.com>
1935
1936         * libtiff/tif_pixarlog.c: avoid zlib error messages to pass a NULL
1937         string to %s formatter, which is undefined behaviour in sprintf().
1938
1939 2015-12-27  Even Rouault <even.rouault at spatialys.com>
1940
1941         * libtiff/tif_next.c: fix potential out-of-bound write in NeXTDecode()
1942         triggered by http://lcamtuf.coredump.cx/afl/vulns/libtiff5.tif
1943         (bugzilla #2508)
1944
1945 2015-12-27  Even Rouault <even.rouault at spatialys.com>
1946
1947         * libtiff/tif_luv.c: fix potential out-of-bound writes in decode
1948         functions in non debug builds by replacing assert()s by regular if
1949         checks (bugzilla #2522).
1950         Fix potential out-of-bound reads in case of short input data.
1951
1952 2015-12-26  Even Rouault <even.rouault at spatialys.com>
1953
1954         * libtiff/tif_getimage.c: fix out-of-bound reads in TIFFRGBAImage
1955         interface in case of unsupported values of SamplesPerPixel/ExtraSamples
1956         for LogLUV / CIELab. Add explicit call to TIFFRGBAImageOK() in
1957         TIFFRGBAImageBegin(). Fix CVE-2015-8665 reported by limingxing and
1958         CVE-2015-8683 reported by zzf of Alibaba.
1959
1960 2015-12-21  Even Rouault <even.rouault at spatialys.com>
1961
1962         * libtiff/tif_dirread.c: workaround false positive warning of Clang Static
1963         Analyzer about null pointer dereference in TIFFCheckDirOffset().
1964
1965 2015-12-19  Even Rouault <even.rouault at spatialys.com>
1966
1967         * libtiff/tif_fax3.c: remove dead assignment in Fax3PutEOLgdal(). Found
1968         by Clang Static Analyzer
1969
1970 2015-12-18  Even Rouault <even.rouault at spatialys.com>
1971
1972         * libtiff/tif_dirwrite.c: fix truncation to 32 bit of file offsets in
1973         TIFFLinkDirectory() and TIFFWriteDirectorySec() when aligning directory
1974         offsets on a even offset (affects BigTIFF). This was a regression of the
1975         changeset of 2015-10-19.
1976
1977 2015-12-12  Even Rouault <even.rouault at spatialys.com>
1978
1979         * libtiff/tif_write.c: TIFFWriteEncodedStrip() and TIFFWriteEncodedTile()
1980         should return -1 in case of failure of tif_encodestrip() as documented
1981         * libtiff/tif_dumpmode.c: DumpModeEncode() should return 0 in case of
1982         failure so that the above mentionned functions detect the error.
1983
1984 2015-12-06  Even Rouault <even.rouault at spatialys.com>
1985
1986         * libtiff/uvcode.h: const'ify uv_code array
1987
1988 2015-12-06  Even Rouault <even.rouault at spatialys.com>
1989
1990         * libtiff/tif_dirinfo.c: const'ify tiffFields, exifFields,
1991         tiffFieldArray and exifFieldArray arrays
1992
1993 2015-12-06  Even Rouault <even.rouault at spatialys.com>
1994
1995         * libtiff/tif_print.c: constify photoNames and orientNames arrays
1996
1997 2015-12-06  Even Rouault <even.rouault at spatialys.com>
1998
1999         * libtiff/tif_close.c, libtiff/tif_extension.c : rename link
2000         variable to avoid -Wshadow warnings
2001
2002 2015-11-22  Even Rouault <even.rouault at spatialys.com>
2003
2004         * libtiff/*.c: fix typos in comments (patch by Kurt Schwehr)
2005  
2006 2015-11-22  Even Rouault <even.rouault at spatialys.com>
2007
2008         * libtiff/*.c: fix MSVC warnings related to cast shortening and
2009         assignment within conditional expression
2010
2011 2015-11-18  Even Rouault <even.rouault at spatialys.com>
2012
2013         * libtiff/*.c: fix clang -Wshorten-64-to-32 warnings
2014
2015 2015-11-18  Even Rouault <even.rouault at spatialys.com>
2016
2017         * libtiff/tif_dirread.c: initialize double* data at line 3693 to NULL
2018         to please MSVC 2013
2019
2020 2015-11-17  Even Rouault <even.rouault at spatialys.com>
2021
2022         * libtiff/tif_dirread.c: prevent reading ColorMap or TransferFunction
2023         if BitsPerPixel > 24, so as to avoid huge memory allocation and file
2024         read attempts
2025
2026 2015-11-02  Even Rouault <even.rouault at spatialys.com>
2027
2028         * libtiff/tif_dirread.c: remove duplicated assignment (reported by
2029         Clang static analyzer)
2030
2031 2015-10-28  Even Rouault <even.rouault at spatialys.com>
2032
2033         * libtiff/tif_dir.c, libtiff/tif_dirinfo.c, libtiff/tif_compress.c,
2034         libtiff/tif_jpeg_12.c: suppress warnings about 'no previous
2035         declaration/prototype'
2036
2037 2015-10-19  Even Rouault <even.rouault at spatialys.com>
2038
2039         * libtiff/tiffiop.h, libtiff/tif_dirwrite.c: suffix constants by U to fix 
2040         'warning: negative integer implicitly converted to unsigned type' warning
2041         (part of -Wconversion)
2042
2043 2015-10-17  Even Rouault <even.rouault at spatialys.com>
2044
2045         * libtiff/tif_dir.c, libtiff/tif_dirread.c, libtiff/tif_getimage.c,
2046           libtiff/tif_print.c: fix -Wshadow warnings (only in libtiff/)
2047
2048 2015-09-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2049
2050         * libtiff 4.0.6 released.
2051
2052         * html/v4.0.6.html: Added release notes for 4.0.6.
2053
2054 2015-09-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2055
2056         * tools/tiffgt.c: Silence glut API deprecation warnings on MacOS
2057         X.  Patch by Roger Leigh.
2058
2059         * Makefile.am: Added a 'coverity' rule to assist with Coverity
2060         submissions.
2061
2062         * tools/tiff2pdf.c: Fix compiler warning about unused function
2063         when JPEG is not available.
2064
2065         * tools/fax2ps.c (main): Detect failure to write to temporary
2066         file.
2067
2068 2015-09-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2069
2070         * libtiff/tif_dirread.c (TIFFReadDirEntryCheckRangeSlongSlong8):
2071         Change implementation so that it does not sometimes overflow the
2072         range of a 32-bit int and to avoid a signed vs unsigned compare
2073         compiler warning.
2074         (TIFF_INT64_MAX): Avoid use of platform-specific large constants.
2075         (TIFF_UINT32_MAX): Avoid use of platform-specific large constants.
2076
2077 2015-09-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2078
2079         * Makefile.am (distcheck-hook), configure.ac: Applied patches by
2080         Roger Leigh (via tiff mailing list on 2015-09-01) to fix issue
2081         with BSD make and to make use of cmake in 'distcheck' target
2082         conditional on if cmake is available.
2083
2084         * CMakeLists.txt, Makefile.am, configure.ac: Applied patches by
2085         Roger Leigh (via tiff mailing list on 2015-09-01).
2086
2087         CMake build is now included in 'distcheck' target.
2088
2089         Builds with CMake 2.8.9 and newer.
2090
2091         Tar is now resquested to use POSIX PAX format.
2092
2093 2015-08-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2094
2095         * CMakeLists.txt, libtiff/test/Makefile.am: Applied patches by
2096         Roger Leigh (via tiff mailing list on 2015-08-31.
2097
2098         CMake reads all version information directly from configure.ac to
2099         avoid duplication of values.  This basically greps over the file
2100         for the LIBTIFF_* variables, then translates them to the form
2101         needed for cmake. This includes the release version and libtool
2102         shared library version information.
2103
2104         Make shared/static library building configurable.  Currently it
2105         always builds shared libraries, with static libs having a _static
2106         suffix (copying zlib, but it means it's got a non-standard name).
2107         CMake has a -DBUILD_SHARED_LIBS=ON|OFF option to select one or the
2108         other, which is now used instead.  There's now a single "tiff"
2109         target to build either shared or static as required, and all the
2110         tests and tools are linked with this. Note: the Windows tests fail
2111         when linked with a static libtiff (says: libtiff.dll not found).
2112         Not really a regression since this was not tested up to this
2113         point, and it's likely the unit tests haven't (ever?) been run on
2114         Windows with a static libtiff, so there's some additional
2115         portability issue here to address.  Works fine on UNIX systems,
2116         and fine on Windows with the default to build a DLL.
2117
2118         Add a missing file which wasn't being distributed, causing unit
2119         tests to fail.  Note that "find . -name '*.cmake'" lists all the
2120         CMake files which need distributing in addition to all the
2121         CMakeLists.txt files (which now are distributed).
2122
2123 2015-08-31  Even Rouault <even.rouault at spatialys.com>
2124
2125         * libtiff/tif_predict.c: pedantic change to add explicit masking
2126         with 0xff before casting to uchar in floating-point horizontal
2127         differencing and accumulation routines.
2128
2129 2015-08-31  Even Rouault <even.rouault at spatialys.com>
2130
2131         * libtiff/tif_predict.c: fix generation of output with 16 bit
2132         or 32 bit integer, when byte swapping is needed, in
2133         horizontal predictor (#2521). Also fixes decoding when there is
2134         a single pixel to code (unlikely case...) and byte swapping is
2135         involved.
2136
2137 2015-08-30  Even Rouault <even.rouault at spatialys.com>
2138
2139         * libtiff/tif_lzw.c: make nextdata a unsigned type to avoid
2140         undefined behaviour with shifts (gcc -fsanitize=shift)
2141
2142 2015-08-30  Even Rouault <even.rouault at spatialys.com>
2143
2144         * libtiff/tif_fax3.c, libtiff/tif_lzw.c, libtiff/tif_predict.c:
2145         add explicit masking with 0xff before casting
2146         to unsigned char (make icc -check=conversions happy)
2147
2148         * libtiff/tif_predict.c: operate on unsigned datatypes when
2149         computing/applying differences to avoid undefined behaviour of
2150         signed types (C standard compliance)
2151
2152 2015-08-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2153
2154         * configure.ac: libtiff 4.0.5 released.
2155
2156 2015-08-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2157
2158         * CMakeLists.txt: Applied patch by Roger Leigh (via tiff mailing
2159         list on 2015-08-29) to add ld-version-script option to cmake build
2160         to match autoconf.  Note: defaults to 'on' to be ABI-compatible by
2161         default with common Linux distribution builds.  Note that the
2162         autoconf configure script defaults to 'off'.
2163
2164         * html/build.html: Applied patch by Roger Leigh (via tiff mailing
2165         list on 2015-08-29) to describe how to use CMake to build libtiff.
2166
2167 2015-08-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2168
2169         * html/v4.0.5.html: Added HTML file describing the changes which
2170         will appear in the 4.0.5 release.
2171
2172 2015-08-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2173
2174         * libtiff/tiffiop.h: For MinGW comiles, make sure that build
2175         supports necessary __MSVCRT_VERSION__ (at least at least 0x800).
2176         Otherwise large files can not be supported for POSIX-style I/O.
2177
2178         * tools/fax2tiff.c (main): Eliminate a compiler warning in 64-bit
2179         builds about cast to thandle_t.
2180
2181         * test/rewrite_tag.c (main): Does not require any arguments.
2182
2183 2015-08-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2184
2185         * tools/CMakeLists.txt, port/snprintf.c: Patch by Roger Leigh to
2186         fix build issues when using Cmake due to Windows large file
2187         changes.
2188
2189 2015-08-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2190
2191         * libtiff/tiffiop.h: First cut at supporting large files under
2192         Microsoft Windows using tif_unix.c and the libtiff tools.  This
2193         only works if the Windows CDK is new enough to support the APIs
2194         used (Visual C++ 2005 or later).  Support for large files is not
2195         actually tested yet.
2196
2197 2015-08-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2198
2199         * libtiff/tif_jpeg.c: Applied patch by Räisä Olli to assure that
2200         client_data is initialized to a known value, and to report an
2201         error on two memory allocation failures.
2202
2203 2015-08-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2204
2205         * CMakeLists.txt: Applied patch by Roger Leigh to fix libtiffxx
2206         symbol versioning.  Patch was mailed to libtiff list on Thu, 13
2207         Aug 2015.
2208
2209 2015-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2210
2211         * cmake: Add d suffix to debug libraries with MSVC.  Patch #3 of 3
2212         by Roger Leigh posted to tiff list on Wed, 1 Jul 2015 15:58:20
2213         +0100.
2214
2215         * cmake: Add extra warning flags.  Patch #2 of 3 by Roger Leigh
2216         posted to tiff list on Wed, 1 Jul 2015 15:58:20 +0100.
2217
2218         * cmake: Correct snprintf fallback for VS2015.  Patch #1 of 3 by
2219         Roger Leigh posted to tiff list on Wed, 1 Jul 2015 15:58:20 +0100.
2220
2221 2015-06-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2222
2223         * CMakeLists.txt: Add CMake patchset by Roger Leigh as posted to
2224         libtiff mailing list on Mon, 22 Jun 2015 21:21:01 +0100. Several
2225         corrections to ensure that the autotools build still works were
2226         added by me.  I have not yet tested the build using 'cmake' or
2227         MSVC with 'nmake'.
2228
2229 2015-06-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2230
2231         * test/Makefile.am: tiff2rgba-quad-tile.jpg.sh depends on the JPEG
2232         library so only execute if JPEG is available.
2233
2234         * libtiff 4.0.4 released.
2235
2236         * configure.ac: Add a HAVE_FOO Automake conditional for each
2237         add-on library.
2238
2239         * test/Makefile.am (JPEG_DEPENDENT_CHECK_PROG): raw_decode
2240         requires JPEG support to compile.  Use Automake conditional to
2241         only include it when JPEG support is available.
2242
2243         * html/build.html: Try to improve the nmake-based VC++ build
2244         description.
2245
2246         * libtiff/tiffconf.vc.h: Build fixes based on testing.
2247
2248         * libtiff/tif_config.vc.h: Build fixes based on testing.
2249
2250         * libtiff/libtiff.def: TIFFRasterScanline does not exist so remove
2251         export for it.
2252
2253 2015-06-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2254
2255         * libtiff/tif_config.vc.h: Make adjustments to match the new
2256         definitions that configure produces, including for WIN64.  Still
2257         needs to be tested.
2258
2259         * configure.ac: For 64-bit MinGW, fix SSIZE_FORMAT formatting
2260         specifier.  64-bit MinGW supports 'long long' but support for
2261         'lld' is not assured by the run-time DLLs and so GCC warns.
2262         Add TIFF_SIZE_T and TIFF_SIZE_FORMAT to provide a type definition
2263         and printf format specifier to deal with printing values of
2264         'size_t' type.  In particular, this was necessary for WIN64.
2265         Added a configure test for if the system headers provide 'optarg'
2266         (normal case) and block out the many explicit 'extern' statements
2267         in the utilities.  This was found to be necessary under Windows
2268         when getopt is in a DLL and the symbols are already imported with
2269         dllimport via standard header files.
2270
2271         * test/raw_decode.c (XMD_H): Avoid conflicting typedefs for INT32
2272         and boolean in MinGW build due to including jpeglib.h.
2273
2274         * test/rewrite_tag.c (main): Fix problem with location of variable
2275         declaration.
2276
2277         * libtiff/libtiff.def: Added exports for TIFFGetConfiguredCODECs,
2278         TIFFReadRGBAImageOriented, TIFFSetCompressionScheme,
2279         TIFFSwabArrayOfTriples, TIFFVGetFieldDefaulted, _TIFFCheckRealloc,
2280         TIFFRasterScanline, TIFFSetErrorHandlerExt,
2281         TIFFSetWarningHandlerExt, TIFFNumberOfDirectories,
2282         TIFFCreateCustomDirectory, TIFFCreateEXIFDirectory,
2283         TIFFWriteCustomDirectory, _TIFFRewriteField as recommended by
2284         Roger Leigh and justified by use in libtiff tests, documentation,
2285         and changelog notes.  Also sorted symbol list and removed
2286         duplicate entries.
2287
2288 2015-06-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2289
2290         * libtiff/tif_getimage.c: Fix four Coverity issues related to
2291         unintended sign extension.
2292
2293 2015-06-16  Even Rouault <even.rouault at spatialys.com>
2294
2295         * libtiff/tif_unix.c: fix compilation with MSVC (fix by Jeff McKenna)
2296
2297 2015-06-14  Lee Howard  <faxguy@howardsilvan.com>
2298
2299         * libtiff/tif_unix.c: contribution from Vadim Zeitlin on
2300         Bugzilla Bug #2510 fixes several harmless but still annoying
2301         warnings
2302
2303         * configure: contribution from Ludolf Holzheid on Bugzilla
2304         Bug #2498.  Adds an option to select the file I/O style on
2305         Windows hosts.
2306
2307         * libtiff/tif_getimage.c: contribution from Gary Cramblitt
2308         on Bugzilla Bug #2409.  Correct reading of certain tiled TIFFs.
2309
2310         * configure, configure.ac: contribution from Marcos H. Woehrmann
2311         on Bugzilla Bug #2405.  Correct shell equality operator.
2312
2313         * tools/tiffgt.c (raster_draw): contribution from Jay Berkenbilt
2314         on Bugzilla Bug #2401.  Appropriately call glFlush().
2315
2316         * tools/tiff2pdf.c: change ColorTransform from "0" to "1"
2317         following Bugzilla Bug #2150.
2318
2319 2015-06-13  Lee Howard  <faxguy@howardsilvan.com>
2320
2321         * libtiff/tif_lzw.c: contribution from Andy Cave - decode
2322         files that contain consecutive CODE_CLEAR codes.
2323
2324         * tools/tiff2pdf.c: contribution from Antti S. Lankila on
2325         Bugzilla Bug #2078. Suppress initial output of the header.
2326
2327         * tools/tiff2pdf.c: contribution from Yuriy M. Kaminskiy -
2328         Take care in using the return value from snprintf().
2329
2330         * tools/tiffcrop.c: contribution from Eduardo Robles Elvira -
2331         correctly copy the compression tag from the source TIFF.
2332
2333         * tools/tiff2ps.c: contribution from Eduardo Robles Elvira -
2334         correct sizing and scaling problems with output document.
2335
2336 2015-06-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2337
2338         * libtiff/tif_jpeg.c (JPEGDecode): Split JPEGDecode() into two
2339         clean implementations in order to avoid pre-processor hell.  Only
2340         one of the implementations is used in a given build.
2341
2342 2015-06-08  Even Rouault <even.rouault at spatialys.com>
2343
2344         * libtiff/tif_jpeg.c: Fix compilation in BITS_IN_JSAMPLE == 12
2345         case
2346
2347 2015-06-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2348
2349         * libtiff/tif_write.c (TIFFWriteEncodedStrip): Fix Coverity 715975
2350         "Division or modulo by zero".
2351         (TIFFWriteEncodedTile): Fix Coverity 715976 and 715977 "Division
2352         or modulo by zero".
2353         (TIFFWriteRawStrip): Fix Coverity 715978 "Division or modulo by
2354         zero".
2355         (TIFFWriteScanline): Fix Coverity 715979 "Division or modulo by
2356         zero".
2357
2358         * libtiff/tif_read.c (TIFFStartTile): Fix Coverity 715973 and
2359         715974 "Division or modulo by zero".
2360
2361 2015-05-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2362
2363         * libtiff/tif_dir.c (TIFFNumberOfDirectories): Quiet Coverity
2364         1134470 "Logically dead code" by making the roll-over check
2365         explicit.
2366
2367         * libtiff/tif_luv.c (LogLuvDecodeTile): Fix Coverity 991227
2368         "Division or modulo by zero".
2369         (LogLuvDecodeStrip): Fix Coverity 991239 "Division or modulo by
2370         zero".
2371         (LogLuvEncodeStrip): Fix Coverity 991240 "Division or modulo by
2372         zero".
2373         (LogLuvEncodeTile): Fix Coverity 991241 "Division or modulo by
2374         zero".
2375
2376         * libtiff/tif_dirread.c (TIFFReadDirEntryDoubleArray): Fix
2377         Coverity 298626 "Logically dead code".
2378         (TIFFReadDirEntryFloatArray): Fix Coverity 298627 "Logically dead
2379         code".
2380         (TIFFReadDirEntryIfd8Array): Fix Coverity 298628 "Logically dead
2381         code".
2382         (TIFFReadDirEntrySlong8Array): Fix Coverity 298629 "Logically dead
2383         code"
2384
2385         * libtiff/tif_dir.c (TIFFNumberOfDirectories): Don't depend on ++
2386         operator precedenc in evaluation.  Might quench Coverity 1134470
2387         "Logically dead code".
2388
2389         * libtiff/tif_jpeg.c (JPEGDecode): Fix Coverity 602597 "Operands
2390         don't affect result".  This change uses ifdefs to include
2391         applicable code based on properties of libjpeg.  Still needs to be
2392         re-tested with 12-bit "6b" and "MK1".
2393
2394 2015-05-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2395
2396         * libtiff/tif_dirwrite.c (_TIFFRewriteField): Fix Coverity 1024310
2397         "Resource leak".
2398
2399         * libtiff/tif_ojpeg.c (OJPEGReadHeaderInfoSecStreamDht): Fix
2400         Coverity 601720 "Resource leak".
2401
2402         * libtiff/tif_jpeg.c (JPEGCleanup): Fix Coverity 298624
2403         "Dereference before null check".
2404
2405         * libtiff/tif_ojpeg.c (OJPEGReadBufferFill): Fix Coverity 603400
2406         "Missing break in switch".
2407
2408         * contrib/addtiffo/tif_overview.c (TIFF_DownSample): Check buffer
2409         size calculation for overflow.
2410
2411         * contrib/addtiffo/addtiffo.c (main): Possibly address Coverity
2412         1024226 "Untrusted value as argument".
2413
2414         * tools/gif2tiff.c (readgifimage): Fix Coverity 1024222 "Untrusted
2415         value as argument".
2416         (checksignature): Fix Coverity 1024894 "Ignoring number of bytes
2417         read".
2418         (readextension): Fix Coverity 1024893 "Ignoring number of bytes
2419         read".
2420         (readgifimage): Fix Coverity 1024890 "Ignoring number of bytes
2421         read".
2422         (readraster): Fix Coverity 1024891 "Ignoring number of bytes
2423         read".
2424         (readgifimage): Fix Coverity 1024892 "Ignoring number of bytes
2425         read".
2426
2427         * tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 1024181
2428         "Structurally dead code".
2429
2430         * tools/raw2tiff.c (main): Fix Coverity 1024887 "Unchecked return
2431         value from library".
2432         (guessSize): Fix Coverity 1024888 "Unchecked return value from
2433         library".
2434         (guessSize): Fix Coverity 1214162 "Ignoring number of bytes read".
2435         (guessSize): Fix Coverity 1024889 "Unchecked return value from
2436         library".
2437
2438         * tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 298621
2439         "Resource leak".
2440         (t2p_readwrite_pdf_image): Fix Coverity 1024181 "Structurally dead
2441         code".
2442         (t2p_write_pdf): Fix Coverity 1227690 "Unused value".
2443
2444 2015-05-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2445
2446         * contrib/iptcutil/iptcutil.c (formatIPTC): Fix Coverity 1024468
2447         "Infinite loop".
2448         (formatIPTC): Fix Coverity 1024727 "Truncated stdio return value".
2449         (formatIPTC): Fix Coverity 1214240 "Untrusted loop bound".
2450
2451 2015-05-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2452
2453         * contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix
2454         Coverity 298615 "Resource leak".
2455         (TIFFGetOvrBlock): Fix Coverity 1024649 "Unintended sign
2456         extension".
2457
2458         * tools/bmp2tiff.c (main): Fix Coverity 1024225 "Untrusted value
2459         as argument".
2460         (main): Fix Coverity 1024678 "Unchecked return value from
2461         library".
2462         (main): Fix Coverity 1024679 "Unchecked return value from
2463         library".
2464         (main): Fix Coverity 1214160 "Ignoring number of bytes read".
2465
2466         * contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix
2467         Coverity 298615 "Resource leak".
2468
2469         * tools/tiffcp.c: Fix Coverity 1024306, 1024307, 1024308, 1024309
2470         "Resource leak".
2471
2472         * tools/tiffsplit.c (cpTiles): Fix Coverity 1024304 "Resource
2473         leak".
2474         (cpStrips): Fix Coverity 1024305 "Resource leak".
2475
2476 2015-05-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2477
2478         * tools/ras2tiff.c: Fix Sun Raster header definition to be safe
2479         for 64-bit systems.  Add some header validations.  Should fix many
2480         Coverity issues.
2481         (main): Fix Coverity 1301206: "Integer handling issues  (BAD_SHIFT)".
2482         (main): Quiet Coverity 1024223 "Untrusted value as argument".
2483
2484         * tools/tiffmedian.c (GetInputLine): Fix Coverity 1024795 "Nesting
2485         level does not match indentation".
2486         (get_histogram): Quiet Coverity 1024386 "Out-of-bounds read".
2487         This was a benign mis-diagnosis but added code to enforce against
2488         buffer overflow.
2489
2490         * tools/tiffcrop.c (ROTATE_ANY): Fix Coverity 1294542 "Logical
2491         vs. bitwise operator".
2492         (readContigStripsIntoBuffer): Fix Coverity 1024545 "Division or
2493         modulo by zero".
2494         (readContigTilesIntoBuffer): Fix Coverity 1024586 "Logically dead
2495         code".
2496         (writeSingleSection): Fix Coverity 1024796 "Nesting level does not
2497         match indentation".
2498         (writeCroppedImage): Fix Coverity 1024797 "Nesting level does not
2499         match indentation".
2500         (loadImage): Fix Coverity 1299741 "Dereference before null check".
2501         (loadImage): Fix Coverity 1299740 "Out-of-bounds write".
2502
2503 2015-03-02  Even Rouault  <even.rouault@spatialys.com>
2504
2505         * tools/tiffdither.c: check memory allocations to avoid writing to
2506         NULL pointer. Also check multiplication overflow. Fixes #2501,
2507         CVE-2014-8128. Derived from patch by Petr Gajdos.
2508
2509 2015-01-26  Even Rouault  <even.rouault@spatialys.com>
2510
2511         * add html/v4.0.4beta.html under version control
2512         * HOWTO-RELEASE: write that cvs add html/vX.X.html must be used
2513
2514 2015-01-26  Even Rouault  <even.rouault@spatialys.com>
2515
2516         * libtiff 4.0.4beta released
2517
2518 2015-01-26  Even Rouault  <even.rouault@spatialys.com>
2519
2520         * automake: updated to 1.15
2521         * libtool: updated to 2.4.5
2522
2523 2015-01-22  Even Rouault  <even.rouault@spatialys.com>
2524
2525         * tools/tiff2pdf.c: Fix two crashes (oCERT-2014-013)
2526
2527 2015-01-05  Frank Warmerdam  <warmerdam@pobox.com>
2528
2529         * html/bugs.html: remove note about needing to email the tiff mailing
2530         list administrator about being approved for membership, this appears
2531         not to be true.
2532
2533 2015-01-05  Olivier Paquet  <olivier.paquet@gmail.com>
2534
2535         * tools/tiff2pdf.c: Fixed unsigned integer addition overflow detection.
2536
2537 2015-01-03  Even Rouault  <even.rouault@spatialys.com>
2538
2539         * libtiff/tif_dirread.c: in TIFFCheckDirOffset(), avoid uint16 overflow
2540         when reading more than 65535 directories, and effectively error out when
2541         reaching that limit.
2542
2543 2014-12-29  Even Rouault  <even.rouault@spatialys.com>
2544
2545         * libtiff/tif_jpeg.c: in JPEGFixupTags(), recognize SOF2, SOF9 and SOF10
2546         markers to avoid emitting a warning (even if, according to the TechNote,
2547         there are admittedly unusual/not recommended or even forbidden variants, but
2548         they do work well with libjpeg for SOF2, and with libjpeg-turbo for SOF2,
2549         SOF9 and SOF10).
2550         Define in_color_space and input_components to the right values in
2551         JPEGSetupEncode(), before calling jpeg_set_defaults(), as specified by
2552         libjpeg API documentation, so as to be compatible with mozjpeg library.
2553         Note: the default settings of mozjpeg will produce progressive scans, which
2554         is forbidden by the TechNote.
2555
2556 2014-12-29  Even Rouault  <even.rouault@spatialys.com>
2557
2558         * libtiff/tif_getimage.c: move test on vertical value of YCbCr subsampling.
2559         to avoid buffer leak (fix previous fix, found by Coverity scan)
2560
2561 2014-12-29  Even Rouault  <even.rouault@spatialys.com>
2562
2563         * libtiff/tif_next.c: add new tests to check that we don't read outside of
2564         the compressed input stream buffer.
2565
2566         * libtiff/tif_getimage.c: in OJPEG case, fix checks on strile width/height
2567     in the putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile and
2568     putcontig8bitYCbCr21tile cases.
2569
2570 2014-12-27  Even Rouault  <even.rouault@spatialys.com>
2571
2572         * libtiff/tif_dir.c: in TIFFDefaultDirectory(), reset any already existing
2573         extented tags installed by user code through the extender mechaninm before
2574         calling the extender callback (GDAL #5054)
2575
2576 2014-12-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2577
2578         * tools/tiffcrop.c: Fix warnings about variables set but not used.
2579
2580         * contrib/iptcutil/iptcutil.c: Fix warnings about variables set
2581         but not used.
2582
2583         * tools/tiffgt.c: Fix warnings about unused parameters.
2584
2585         * libtiff/tif_stream.cxx: Fix warnings about unused parameters.
2586
2587 2014-12-25  Even Rouault  <even.rouault@spatialys.com>
2588
2589         * libtiff/tif_getimage.c, libtiff/tif_ojpeg.c, libtiff/tif_zip.c: fix
2590         various typos found by Debian lintian tool (GDAL #5756)
2591
2592 2014-12-24  Even Rouault  <even.rouault@spatialys.com>
2593
2594         * libtiff/tif_getimage.c: avoid divide by zero on invalid YCbCr subsampling.
2595         http://bugzilla.maptools.org/show_bug.cgi?id=2235
2596
2597 2014-12-24  Even Rouault  <even.rouault@spatialys.com>
2598
2599         * tools/tiff2pdf.c: fix buffer overflow on some YCbCr JPEG compressed images.
2600         http://bugzilla.maptools.org/show_bug.cgi?id=2445
2601
2602 2014-12-24  Even Rouault  <even.rouault@spatialys.com>
2603
2604         * tools/tiff2pdf.c: fix buffer overflow on YCbCr JPEG compressed image.
2605         Derived from patch by Petr Gajdos,
2606         http://bugzilla.maptools.org/show_bug.cgi?id=2443
2607
2608 2014-12-23  Even Rouault  <even.rouault@spatialys.com>
2609
2610         * libtiff/tif_dirread.c: In EstimateStripByteCounts(), check return code
2611         of _TIFFFillStriles(). This solves crashing bug on corrupted
2612         images generated by afl.
2613
2614 2014-12-23  Even Rouault  <even.rouault@spatialys.com>
2615
2616         * libtiff/tif_read.c: fix several invalid comparisons of a uint64 value with
2617         <= 0 by casting it to int64 first. This solves crashing bug on corrupted
2618         images generated by afl.
2619
2620 2014-12-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2621
2622         * tools/tiffdump.c: Guard against arithmetic overflow when
2623         calculating allocation buffer sizes.
2624
2625 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2626
2627         * tools/tiff2bw.c: when Photometric=RGB, the utility only works if
2628         SamplesPerPixel = 3. Enforce that
2629         http://bugzilla.maptools.org/show_bug.cgi?id=2485 (CVE-2014-8127)
2630
2631 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2632
2633         * tools/pal2rgb.c, tools/thumbnail.c: fix crash by disabling TIFFTAG_INKNAMES
2634         copying. The right fix would be to properly copy it, but not worth the burden
2635         for those esoteric utilities.
2636         http://bugzilla.maptools.org/show_bug.cgi?id=2484 (CVE-2014-8127)
2637
2638 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2639
2640         * tools/thumbnail.c: fix out-of-buffer write
2641         http://bugzilla.maptools.org/show_bug.cgi?id=2489 (CVE-2014-8128)
2642
2643 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2644
2645         * tools/thumbnail.c, tools/tiffcmp.c: only read/write TIFFTAG_GROUP3OPTIONS
2646         or TIFFTAG_GROUP4OPTIONS if compression is COMPRESSION_CCITTFAX3 or
2647         COMPRESSION_CCITTFAX4
2648         http://bugzilla.maptools.org/show_bug.cgi?id=2493 (CVE-2014-8128)
2649
2650 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2651
2652         * libtiff/tif_next.c: check that BitsPerSample = 2. Fixes
2653         http://bugzilla.maptools.org/show_bug.cgi?id=2487 (CVE-2014-8129)
2654
2655 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2656
2657         * tools/tiff2pdf.c: check return code of TIFFGetField() when reading
2658         TIFFTAG_SAMPLESPERPIXEL
2659
2660 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2661
2662         * tools/tiffcp.c: fix crash when converting YCbCr JPEG-compressed to none.
2663         Based on patch by Tomasz Buchert (http://bugzilla.maptools.org/show_bug.cgi?id=2480)
2664         Description: fix for Debian bug #741451
2665         tiffcp crashes when converting JPEG-encoded TIFF to a different
2666         encoding (like none or lzw). For example this will probably fail:
2667         tiffcp -c none jpeg_encoded_file.tif output.tif
2668         The reason is that when the input file contains JPEG data,
2669         the tiffcp code forces conversion to RGB space. However,
2670         the output normally inherits YCbCr subsampling parameters
2671         from the input, which leads to a smaller working buffer
2672         than necessary. The buffer is subsequently overrun inside
2673         cpStripToTile() (called from writeBufferToContigTiles).
2674         Note that the resulting TIFF file would be scrambled even
2675         if tiffcp wouldn't crash, since the output file would contain
2676         RGB data intepreted as subsampled YCbCr values.
2677         This patch fixes the problem by forcing RGB space on the output
2678         TIF if the input is JPEG-encoded and output is *not* JPEG-encoded.
2679         Author: Tomasz Buchert <tomasz.buchert@inria.fr>
2680
2681 2014-12-21  Even Rouault  <even.rouault@spatialys.com>
2682
2683         Fix various crasher bugs on fuzzed images.
2684         * libtiff/tif_dir.c: TIFFSetField(): refuse to set negative values for
2685         TIFFTAG_XRESOLUTION and TIFFTAG_YRESOLUTION that cause asserts when writing
2686         the directory
2687         * libtiff/tif_dirread.c: TIFFReadDirectory(): refuse to read ColorMap or
2688         TransferFunction if BitsPerSample has not yet been read, otherwise reading
2689         it later will cause user code to crash if BitsPerSample > 1
2690         * libtiff/tif_getimage.c: TIFFRGBAImageOK(): return FALSE if LOGLUV with
2691         SamplesPerPixel != 3, or if CIELAB with SamplesPerPixel != 3 or BitsPerSample != 8
2692         * libtiff/tif_next.c: in the "run mode", use tilewidth for tiled images
2693         instead of imagewidth to avoid crash
2694         * tools/bmp2tiff.c: fix crash due to int overflow related to input BMP dimensions
2695         * tools/tiff2pdf.c: fix crash due to invalid tile count (should likely be checked by
2696         libtiff too). Detect invalid settings of BitsPerSample/SamplesPerPixel for CIELAB / ITULAB
2697         * tools/tiffcrop.c: fix crash due to invalid TileWidth/TileHeight
2698         * tools/tiffdump.c: fix crash due to overflow of entry count.
2699
2700 2014-12-15  Even Rouault  <even.rouault@spatialys.com>
2701
2702         * libtiff/tif_jpeg.c: Fix regression introduced on 2010-05-07 that caused
2703         all tiles/strips to include quantization tables even when the jpegtablesmode
2704         had the JPEGTABLESMODE_QUANT bit set.
2705         Also add explicit removal of Huffman tables when jpegtablesmode has the
2706         JPEGTABLESMODE_HUFF bit set, which avoids Huffman tables to be emitted in the
2707         first tile/strip (only useful in update scenarios. create-only was
2708         fine)
2709
2710 2014-12-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2711
2712         * tools/tiff2pdf.c: Assure that memory size calculations for
2713         _TIFFmalloc() do not overflow the range of tmsize_t.
2714
2715 2014-12-07  Even Rouault  <even.rouault@spatialys.com>
2716
2717         * tools/thumbnail.c, tools/tiffcrop.c: "fix" heap read over-run found with
2718         Valgrind and Address Sanitizer on test suite
2719
2720 2014-12-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2721
2722         * tools/tiff2pdf.c (t2p_read_tiff_init): TIFFTAG_TRANSFERFUNCTION
2723         tag can return one channel, with the other two channels set to
2724         NULL.  The tiff2pdf code was expecting that other two channels
2725         were duplicate pointers in the case where there is only one
2726         channel.  Detect this condition in order to avoid a crash, and
2727         presumably perform correctly with just one channel.
2728
2729 2014-12-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2730
2731         * tools/tiffdump.c: Fix double-free bug.
2732
2733 2014-11-27  Even Rouault  <even.rouault@spatialys.com>
2734
2735         * libtiff/tif_config.vc.h: no longer use "#define snprintf _snprintf" with
2736         Visual Studio 2015 aka VC 14 aka MSVC 1900
2737
2738 2014-11-20  Even Rouault  <even.rouault@spatialys.com>
2739
2740         * libtiff/tif_lzw.c: prevent potential null dereference of
2741         sp->dec_codetab in LZWPreDecode (bug #2459)
2742
2743         * libtiff/tif_read.c: in TIFFReadBufferSetup(), avoid passing -1 size
2744         to TIFFmalloc() if passed user buffer size is 0 (bug #2459)
2745
2746         * libtiff/tif_ojpeg.c: make Coverity happier (not a bug, #2459)
2747
2748         * libtiff/tif_dir.c: in _TIFFVGetField() and _TIFFVSetField(), make
2749         Coverity happier (not a bug, #2459)
2750
2751         * libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make Coverity happier
2752         (not a bug, #2459)
2753
2754         * tools/tiff2pdf.c: close PDF file (bug #2479)
2755
2756         * tools/fax2ps.c: check malloc()/realloc() result (bug #2470)
2757
2758         * tools/tiffdump.c: detect cycle in TIFF directory chaining (bug #2463)
2759         and avoid passing a NULL pointer to read() if seek() failed before (bug #2459)
2760
2761         * tools/tiffcrop.c: fix segfault if bad value passed to -Z option
2762         (bug #2459) and add missing va_end in dump_info (#2459)
2763
2764         * tools/gif2tif.c: apply patch for CVE-2013-4243 (#2451)
2765
2766 2014-11-20  Even Rouault  <even.rouault@spatialys.com>
2767         * libtiff/tif_jpeg.c: fix segfault in JPEGFixupTagsSubsampling() on
2768         corrupted image where tif->tif_dir.td_stripoffset == NULL (bug #2471)
2769
2770 2014-11-20  Even Rouault  <even.rouault@spatialys.com>
2771         * automake: updated to 1.14.1
2772         * libtool: updated to 2.4.3
2773         * HOWTO-RELEASE: small update about autotools building order
2774
2775 2014-10-20  Olivier Paquet  <olivier.paquet@gmail.com>
2776         * tools/tiff2pdf.c: Preserve input file directory order when pages
2777         are tagged with the same page number.
2778
2779 2014-08-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2780
2781         * libtiff/tif_dirread.c (TIFFReadDirEntryOutputErr): Incorrect
2782         count for tag should be a warning rather than an error since
2783         errors terminate processing.
2784
2785 2014-06-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2786
2787         * tools/tiff2rgba.c (]): Fixed tiff2rgba usage message in that zip
2788         was wrongly described.  Fix suggested by Miguel Medalha.
2789
2790 2014-05-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2791
2792         * libtiff/tif_dirinfo.c (TIFFField) : Fix data type for
2793         TIFFTAG_GLOBALPARAMETERSIFD tag.  Patch by Steve Underwood.
2794         Reviewed and forwarded by Lee Howard.
2795
2796 2013-11-30  Frank Warmerdam  <warmerdam@pobox.com>
2797
2798         * libtiff/tif_dir.c: fix last fix for TIFFNumberOfDirectories()
2799
2800 2013-10-21  Frank Warmerdam  <warmerdam@pobox.com>
2801
2802         * libtiff/tif_dir.c: generate error in case of directory count
2803         overflow.
2804
2805 2013-10-01  Frank Warmerdam  <warmerdam@pobox.com>
2806
2807         * libtiff/tiff.h, libtiff/tif_dirinfo.c: add definitions for
2808         TIFF/EP CFARepeatPatternDim and CFAPattern tags (bug #2457)
2809
2810 2013-09-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2811
2812         * libtiff/tif_dir.c (TIFFAdvanceDirectory): If nextdir is found to
2813         be defective, then set it to zero before returning error in order
2814         to terminate processing of truncated TIFF.  Issue found and fix
2815         suggested by Richard Nolde.
2816
2817 2013-08-14  Frank Warmerdam  <warmerdam@pobox.com>
2818
2819         * tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244)
2820
2821 2013-08-13  Frank Warmerdam  <warmerdam@pobox.com>
2822
2823         * tools/gif2tiff.c: Be more careful about corrupt or
2824         hostile input files (#2450, CVE-2013-4231)
2825
2826         * tools/tiff2pdf.c: terminate after failure of allocating
2827         ycbcr buffer (bug #2449, CVE-2013-4232)
2828
2829 2013-07-09  Frank Warmerdam  <warmerdam@google.com>
2830
2831         * tools/tiffinfo.c: Default various values fetched with
2832         TIFFGetField() to avoid being uninitialized.
2833
2834 2013-05-02  Tom Lane  <tgl@sss.pgh.pa.us>
2835
2836         * tools/tiff2pdf.c: Rewrite JPEG marker parsing in
2837         t2p_process_jpeg_strip to be at least marginally competent.  The
2838         approach is still fundamentally flawed, but at least now it won't
2839         stomp all over memory when given bogus input.  Fixes CVE-2013-1960.
2840
2841 2013-05-02  Tom Lane  <tgl@sss.pgh.pa.us>
2842
2843         * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c,
2844         libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c,
2845         tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c,
2846         tools/tiffdither.c: Enlarge some fixed-size buffers that weren't
2847         large enough, and eliminate substantially all uses of sprintf(buf,
2848         ...)  in favor of using snprintf(buf, sizeof(buf), ...), so as to
2849         protect against overflow of fixed-size buffers.  This responds in
2850         particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's
2851         t2p_write_pdf_page(), but in general it seems like a good idea to
2852         deprecate use of sprintf().
2853
2854 2013-03-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2855
2856         * configure.ac: Applied patch by Brad Smith to improve pkg-config
2857         static linking by adding -lm to Libs.private when needed.
2858
2859 2013-03-05  Tom Lane  <tgl@sss.pgh.pa.us>
2860
2861         * html/man/tiff2ps.1.html, html/man/tiffcp.1.html,
2862         html/man/tiffdither.1.html, man/tiff2ps.1, man/tiffcp.1,
2863         man/tiffdither.1, tools/tiff2ps.c, tools/tiffcp.c,
2864         tools/tiffdither.c: Sync tool usage printouts and man pages with
2865         reality (quite a few options had escaped being documented in one
2866         or both places).  Per an old report from Miroslav Vadkerti.
2867
2868 2013-01-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2869
2870         * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a
2871         rotation angle was set by the auto rotate check, it was retained
2872         for all pages that followed instead ofa being retested for each
2873         page.  Patch by Richard Nolde.
2874
2875 2013-01-18  Frank Warmerdam  <warmerdam@google.com>
2876
2877         * libtiff/tif_write.c: tmsize_t related casting warning fixed for
2878         64bit linux.
2879
2880         * libtiff/tif_read.c: uint64/tmsize_t change for MSVC warnings.
2881         http://bugzilla.maptools.org/show_bug.cgi?id=2427
2882
2883 2012-12-20  Tom Lane  <tgl@sss.pgh.pa.us>
2884
2885         * test/raw_decode.c: Relax raw_decode's pixel-value checks so that
2886         it will pass with more versions of libjpeg.  (There are at least
2887         three in active use now, and JPEG_LIB_VERSION doesn't tell us
2888         enough to uniquely identify expected results.)
2889
2890 2012-12-12  Tom Lane  <tgl@sss.pgh.pa.us>
2891
2892         * libtiff/tif_print.c: Fix TIFFPrintDirectory's handling of
2893         field_passcount fields: it had the TIFF_VARIABLE and
2894         TIFF_VARIABLE2 cases backwards.
2895
2896 2012-12-10  Tom Lane  <tgl@sss.pgh.pa.us>
2897
2898         * tools/ppm2tiff.c: Improve previous patch for CVE-2012-4564:
2899         check the linebytes calculation too, get the max() calculation
2900         straight, avoid redundant error messages, check for malloc
2901         failure.
2902
2903 2012-12-10  Tom Lane  <tgl@sss.pgh.pa.us>
2904
2905         * libtiff/tif_pixarlog.c: Improve previous patch for CVE-2012-4447
2906         (to enlarge tbuf for possible partial stride at end) so that
2907         overflow in the integer addition is detected.  Per gripe from
2908         Huzaifa Sidhpurwala.
2909
2910 2012-12-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2911
2912         * tools/tiffset.c: tiffset now supports a -u option to unset a
2913         tag.  Patch by Zach Baker. See
2914         http://bugzilla.maptools.org/show_bug.cgi?id=2419
2915
2916 2012-11-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2917
2918         * automake: Update Automake to 1.12.5 release.
2919
2920         * libtiff/tif_{unix,vms,win32}.c (_TIFFmalloc): ANSI C does not
2921         require malloc() to return NULL pointer if requested allocation
2922         size is zero.  Assure that _TIFFmalloc does.
2923
2924 2012-11-01  Frank Warmerdam  <warmerdam@pobox.com>
2925
2926         * tools/ppm2tiff.c: avoid zero size buffer vulnerability.
2927         CVE-2012-4564 - Thanks to Huzaifa Sidhpurwala of the
2928         Red Hat Security Response team for the fix.
2929
2930 2012-10-18  Frank Warmerdam  <warmerdam@google.com>
2931
2932         * tif_zip.c: Avoid crash on NULL error messages.
2933
2934 2012-09-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2935
2936         * libtiff 4.0.3 released.
2937
2938 2012-09-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2939
2940         * Makefile.am: Update to Automake 1.12.4
2941
2942 2012-08-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2943
2944         * Makefile.in: Update to Automake 1.12.3
2945
2946         * libtiff{tiff.h, tif_print.c, tif_dirinfo.c, tif_dirread.c}: Add
2947         some TIFF/FX support in libtiff.  Add the tag definitions to
2948         tiff.h.  Add the related TIFF field definitions to tif_dirinfo.c,
2949         and also fixes an error in a comment.  Adds the photometric values
2950         to tif_print.c, and fixes a bug.  These changes are by Steve
2951         Underwood.
2952
2953 2012-08-13  Frank Warmerdam  <warmerdam@google.com>
2954
2955         * libtiff/tif_write.c: Fix bug rewriting image tiles in a
2956         compressed file: http://trac.osgeo.org/gdal/ticket/4771
2957
2958 2012-08-02  Frank Warmerdam  <warmerdam@google.com>
2959
2960         * libtiff/tif_dirread.c: report error in case of mismatch value
2961         counts for tags (ie. DotRange).
2962
2963 2012-07-26  Tom Lane  <tgl@sss.pgh.pa.us>
2964
2965         * libtiff/{tiffio.h, tif_dirinfo.c, libtiff.def}: Add six new
2966         functions TIFFFieldTag(), TIFFFieldName(), TIFFFieldDataType(),
2967         TIFFFieldPassCount(), TIFFFieldReadCount(), TIFFFieldWriteCount()
2968         as external accessors for the opaque type TIFFField.
2969
2970         * tools/tiffset.c: Make tiffset use the above functions instead of
2971         relying on library private headers.
2972
2973 2012-07-19  Tom Lane  <tgl@sss.pgh.pa.us>
2974
2975         * tools/tiff2pdf.c: Fix two places where t2p_error didn't get set
2976         after a malloc failure.  No crash risk AFAICS, but the program
2977         might not report exit code 1 as desired.  h/t mancha@mac.hush.com
2978
2979 2012-07-18  Tom Lane  <tgl@sss.pgh.pa.us>
2980
2981         * tools/tiff2pdf.c: Fail when TIFFSetDirectory() fails.  This
2982         prevents core dumps or perhaps even arbitrary code execution when
2983         processing a corrupt input file (CVE-2012-3401).
2984
2985 2012-07-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2986
2987         * test/raw_decode.c (main): Test fixes to work with IJG JPEG 7+.
2988         IJG JPEG 7+ uses a different upsampling algorithm which produces
2989         different numeric results.
2990
2991         * libtiff/tif_jpeg.c (JPEGPreDecode): Patch from Even Rouault to
2992         work with IJG JPEG 7+.
2993
2994 2012-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2995
2996         * test/raw_decode.c: Add changes so that test can run with build
2997         directory outside of source directory.
2998
2999 2012-07-02  Frank Warmerdam  <warmerdam@google.com>
3000
3001         * libtiff/tif_jpeg.c: Fix handling when writing RGBA jpeg compressed
3002         imagery (http://trac.osgeo.org/gdal/ticket/4732)
3003
3004 2012-06-20  Frank Warmerdam  <warmerdam@google.com>
3005
3006         * libtiff/tif_fax3.c: fix memory initialization of runs, only
3007         partly done.
3008
3009         * libtiff/tif_pixarlog.c: Make sure tbuf is large enough for one
3010         full "stride" past the end.
3011
3012 2012-06-19  Frank Warmerdam  <warmerdam@google.com>
3013
3014         * libtiff/tif_packbits.c: fix read past end of data buffer.
3015
3016 2012-06-15  Frank Warmerdam  <warmerdam@google.com>
3017
3018         *  libtiff 4.0.2 released.
3019
3020         * tools/tif2pdf.c, tools/tifdump.c: avoid unitialized variable
3021         warnings with clang.
3022
3023 2012-06-15  Tom Lane  <tgl@sss.pgh.pa.us>
3024
3025         * tools/tiff2pdf.c: Defend against integer overflows while
3026         calculating required buffer sizes (CVE-2012-2113).
3027
3028 2012-06-12  Frank Warmerdam  <warmerdam@google.com>
3029
3030         * libtiff/tif_print.c: Be careful about printing corrupt inknames.
3031
3032         * libtiff/tif_fax3.c: Ensure runs array is initialized to zeros.
3033
3034 2012-06-07  Frank Warmerdam  <warmerdam@google.com>
3035
3036         * libtiff/tif_print.c: avoid pretty printing other fields when
3037         we don't have the proper amount and type of data or if the field
3038         is actually autodefined.
3039
3040 2012-06-05  Frank Warmerdam  <warmerdam@google.com>
3041
3042         * libtiff/tif_tile.c, libtiff/tif_strip.c: Ensure that illegal
3043         ycbcrsubsampling values result in a runtime error, not just an
3044         assertion.
3045
3046         * tests/custom_dir.c: Add testing of EXIF and custom directory
3047         reading and writing.
3048
3049         * libtiff/tif_dir.c, libtiff/tiffio.h: Add TIFFCreateCustomDirectory()
3050         and TIFFCreateEXIFDirectory() functions.
3051
3052         * libtiff/tif_dir.c, tif_print.c : Remove FIELD_CUSTOM handling for
3053         PAGENUMBER, HALFTONEHINTS, and YCBCRSUBSAMPLING.  Implement DOTRANGE
3054         differently.  This is to avoid using special TIFFGetField/TIFFSetField
3055         rules for these fields in non-image directories (like EXIF).
3056
3057 2012-06-04  Frank Warmerdam  <warmerdam@google.com>
3058
3059         * libtiff/tif_jpeg.c: Remove code for fixing up h_sampling and v_sampling
3060         in JPEGPreDecode().  If a fixup will be done it needs to be done sooner
3061         in JPEGFixupTagsSubsampling() or else buffer sized may be wrong.
3062
3063 2012-06-01  Frank Warmerdam  <warmerdam@google.com>
3064
3065         * tools/tiffinfo.c: Do not try to read image data in EXIF directories.
3066
3067         * libtiff/tif_getimage.c: added support for _SEPARATED CMYK images.
3068         http://bugzilla.maptools.org/show_bug.cgi?id=2379
3069
3070         * libtiff/tif_unix.c: use strerror() to return a more specific error message
3071         on failed open.
3072         http://bugzilla.maptools.org/show_bug.cgi?id=2341
3073
3074         * libtiff/tif_jpeg.c: Fix JPEGDecodeRaw() bugs.
3075         http://bugzilla.maptools.org/show_bug.cgi?id=2386
3076
3077         * tests/decode_raw.c, tests/images/quad-tile.jpg.tiff: add limited support
3078         for testing jpeg in tiff image decoding including the "raw" decode interface.
3079
3080 2012-05-31  Frank Warmerdam  <warmerdam@google.com>
3081
3082         * libtiff/tif_jpeg.c: avoid overrunning the end of the output buffer in
3083         JPEGDecodeRaw() - mostly likely to occur when there is confusion about
3084         sampling values.
3085
3086         * libtiff/tif_read.c: Make sure tif_rawdatasize is cleared when tif_rawdata is freed.
3087
3088         * libtiff/tif_getimage.c: Add support for greyscale+alpha c/o Jérémie Laval.
3089         http://bugzilla.maptools.org/show_bug.cgi?id=2398
3090
3091 2012-05-29  Frank Warmerdam  <warmerdam@google.com>
3092
3093         * libtiff/tif_dir.c: avoid using specific set/get logic to process fields in custom directories,
3094         like EXIF directories.  This fixes problems like a tag "320" existing in a custom directory getting
3095         processed as if it were a colormap when it isn't really.  Damn the wide variety of argument formulations
3096         to get/set functions for different tags!
3097
3098         * libtiff/tif_dir.c: Ensure that we keep track of when tif_rawdata
3099         is a pointer into an mmap()ed file via TIFF_BUFFERMMAP flag.
3100
3101 2012-05-24  Frank Warmerdam  <warmerdam@google.com>
3102
3103         * libtiff/tif_pixarlog.c: Allocate working buffer one word larger since we "forward
3104         accumulate" and overwrite the end by one word in at least some cases.
3105
3106 2012-05-23  Frank Warmerdam  <warmerdam@google.com>
3107
3108         * libtiff/tif_pixarlog.c: avoid accessing out of the lookup arrays for out of range inputs.
3109
3110         * tools/tiffinfo.c: initialize h=0 to avoid undefined variable for degenerate files.
3111
3112         * libtiff/tif_ojpeg.c: if OJPEGWriteHeader() fails once do not bother trying again on
3113         the same image.
3114
3115         * libtiff/tif_ojpeg.c: make things more resilient in the face of files without
3116         stripbytecounts or stripoffsets or where loading these fails.
3117
3118         * libtiff/tif_print.c: be careful about whether min/max values are singular
3119         or one per sample.
3120
3121         * libtiff/tif_print.c: Avoid confusion about count size when printing custom fields.
3122         May affect things like ISOSpeedRatings.
3123
3124         * libtiff/tif_dir.c: avoid one byte past end of ink names reading
3125         in some cases.
3126
3127 2012-05-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3128
3129         * man/TIFFGetField.3tiff: Correct the 'count' field type in the
3130         example for how to retrieve the value of unsupported tags.
3131
3132 2012-03-30  Frank Warmerdam  <warmerdam@google.com>
3133
3134         * tif_getimage.c: Fix size overflow (zdi-can-1221,CVE-2012-1173)
3135         care of Tom Lane @ Red Hat.
3136
3137 2012-02-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3138
3139         * libtiff 4.0.1 released.
3140
3141         * Update automake used to 1.11.3.
3142
3143         * libtiff/tiffio.h: Use double-underbar syntax in GCC printf
3144         attribute specification to lessen the risk of accidental macro
3145         substitution.  Patch from Vincent Torri.
3146
3147 2012-01-31  Frank Warmerdam  <warmerdam@pobox.com>
3148
3149         * libtiff/tif_dir.c, libtiff/tif_dirread.c: Extra caution around
3150         assumption tag fetching is always successful.
3151
3152         * libtiff/tif_jpeg.c: Extra caution for case where sp is NULL.
3153
3154 2012-01-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3155
3156         * configure.ac: Add support for using library symbol versioning on
3157         ELF systems with the GNU linker.  Support is enabled via
3158         --enable-ld-version-script.  Disabled by default for now until
3159         there is a decision for how to deploy a libtiff with versioned
3160         symbols after libtiff 4.0.0 was already released.
3161
3162 2011-12-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3163
3164         * libtiff/tif_win32.c: Eliminate some minor 64-bit warnings in
3165
3166         tif_win32.c.  Patch by Edward Lam.
3167
3168         * configure.ac: Add libtiff private dependency on -llzma for
3169         pkg-config.  Patch by Mark Brand.
3170         Updated Automake to 1.11.2.
3171
3172 2011-12-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3173
3174         * libtiff 4.0.0 released.
3175
3176 2011-12-08  Frank Warmerdam  <warmerdam@pobox.com>
3177
3178         * libtiff/tif_dirread.c, libtiff/tif_read.c: more cautious checking
3179         of _TIFFFillStriles() results (#gdal 4372)
3180
3181 2011-12-07  Frank Warmerdam  <warmerdam@pobox.com>
3182
3183         * libtiff/tif_dirread.c: fixes to deal with invalid files where
3184         _TIFFFillStriles() fails, and we try to chop up strips (gdal #4372)
3185
3186         * libtiff/tif_dirread.c: fix error reporting when there is no
3187         tag information struct and name (gdal #4373)
3188
3189 2011-10-22  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3190
3191         * Update GNU libtool to 2.4.2.
3192
3193         * tools/tiffsplit.c (tiffcp): TIFFGetField count field should be
3194         uint32 type for TIFFTAG_JPEGTABLES.  Patch by Christophe
3195         Deroulers.
3196
3197 2011-06-21  Frank Warmerdam  <warmerdam@pobox.com>
3198
3199         * libtiff/libtiff.def: Restore TIFFMergeFieldInfo.
3200
3201 2011-05-31  Jim Meyering  <meyering@redhat.com>
3202
3203         * libtiff/tif_dirread.c (TIFFFetchStripThing): Free "data" also
3204         upon failure to allocate "resizeddata".
3205         * tools/tiff2ps.c (PSDataBW): Zero buffer *after* checking for
3206         allocation failure, not before.
3207         * libtiff/tif_ojpeg.c: plug leaks on OJPEG read failure path
3208         * tools/rgb2ycbcr.c (cvtRaster): unchecked malloc
3209         * libtiff/tif_jpeg.c, tools/tiff2pdf.c, tools/tiff2ps.c: mark
3210         NULL-deref and possible overflow
3211         * tools/tiff2pdf.c: remove decl+set of set-but-not-used local, "written"
3212         * libtiff/tif_jpeg.c (JPEGInitializeLibJPEG): Remove declaration
3213         and set of otherwise unused local, data_is_empty.
3214         * libtiff/tif_jpeg.c (JPEGDecodeRaw) [JPEG_LIB_MK1_OR_12BIT]:
3215         Diagnose out-of-memory failure and return 0 rather than
3216         dereferencing NULL.
3217
3218 2011-05-24  Frank Warmerdam  <warmerdam@pobox.com>
3219
3220         * libtiff/tif_dirread.c: produce special error message for zero tag
3221         directories instead of error out on the malloc(0) failure.
3222
3223 2011-05-16  Frank Warmerdam  <warmerdam@pobox.com>
3224
3225         * libtiff/tif_dirinfo.c: Restore TIFFMergeFieldInfo() and
3226         related declarations as they are in active use by libraries
3227         such as libgeotiff, and work just fine.  (#2315)
3228
3229 2011-04-20  Frank Warmerdam  <warmerdam@pobox.com>
3230
3231         * libtiff/tif_dirinfo.c,tiffio.h: Remove the obsolete
3232         TIFFMergeFieldInfo/TIFFFindFieldInfo/TIFFFindFieldInfoByName API.
3233         http://bugzilla.maptools.org/show_bug.cgi?id=2315
3234
3235         * libtiff/libtiff.def: add some missing (64bit) APIs.
3236         http://bugzilla.maptools.org/show_bug.cgi?id=2316
3237
3238 2011-04-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3239
3240         * libtiff 4.0.0beta7 released.
3241
3242 2011-04-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3243
3244         * configure.ac: Should use AC_CANONICAL_HOST since host specifies
3245         the run-time target whereas target is used to specify the final
3246         output target if the package is a build tool (like a compiler),
3247         which libtiff is not.  Resolves libtiff bug 2307 "Use
3248         AC_CANONICAL_HOST macro".
3249
3250 2011-04-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3251
3252         * configure.ac: Support configuring TIFF_INT64_FORMAT and
3253         TIFF_UINT64_FORMAT appropriately for MinGW32.
3254
3255         * tools/tiffdump.c (ReadDirectory): MinGW32 needs to use WIN32
3256         printf conventions for 64-bit types because it uses the WIN32 CRT.
3257
3258         * libtiff/{tif_dumpmode.c,tif_luv.c,tif_lzw.c,tif_print.c,
3259         tif_read.c,tif_strip.c,tif_thunder.c}: MinGW32 needs to use WIN32
3260         printf conventions for 64-bit types because it uses the WIN32 CRT.
3261
3262         * tools/tiff2pdf.c (t2p_write_pdf_string): Fix printf syntax not
3263         understood by WIN32 CRT.
3264
3265         * libtiff/tif_ojpeg.c: Fixes to compile with MinGW32 GCC.
3266
3267         * tools/fax2ps.c (main): Use tmpfile() rather than mkstemp() since
3268         it is much more portable.  Tmpfile is included in ISO/IEC
3269         9899:1990 and the WIN32 CRT.
3270
3271 2011-03-26  Frank Warmerdam  <warmerdam@pobox.com>
3272
3273         * tools/tiffset.c: add -d and -sd switches to allow operation on
3274         a particular directory, not just the first (jef).
3275
3276 2011-03-21  Frank Warmerdam  <warmerdam@pobox.com>
3277
3278         * libtiff/tif_thunder.c: Correct potential buffer overflow with
3279         thunder encoded files with wrong bitspersample set.  The libtiff
3280         development team would like to thank Marin Barbella and TippingPoint's
3281         Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004,
3282         CVE-2011-1167).
3283         http://bugzilla.maptools.org/show_bug.cgi?id=2300
3284
3285 2011-03-10  Frank Warmerdam  <warmerdam@pobox.com>
3286
3287         * libtiff/tif_fax3.h: Fix to last change allowing zero length
3288         runs at the start of a scanline - needed for legal cases.
3289
3290 2011-03-02  Frank Warmerdam  <warmerdam@pobox.com>
3291
3292         * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding
3293         a move left.  Without this, a malicious input file can generate an
3294         indefinitely large series of runs without a0 ever reaching the right
3295         margin, thus overrunning our buffer of run lengths.  Per CVE-2011-0192.
3296         This is a modified version of a patch proposed by Drew Yao of Apple
3297         Product Security.  It adds an unexpected() report, and disallows the
3298         equality case, since emitting a run without increasing a0 still allows
3299         buffer overrun.
3300
3301 2011-02-23  Frank Warmerdam  <warmerdam@pobox.com>
3302
3303         * libtiff/tif_jpeg.c: avoid divide by zero in degenerate case (#2296)
3304
3305         * tools/tiff2rgba.c: close source file on error to make leak
3306         detection easier.
3307
3308         * libtiff/tif_getimage.c: avoid leaks if TIFFRGBAImageBegin() fails.
3309
3310         http://bugzilla.maptools.org/show_bug.cgi?id=2295
3311
3312 2011-02-22  Frank Warmerdam  <warmerdam@pobox.com>
3313
3314         * libtiff/tif_lzma.c: Maintain tif_rawcc/tif_rawcp (CHUNKY_STRING_READ
3315         _SUPPORT)
3316
3317 2011-02-18  Frank Warmerdam  <warmerdam@pobox.com>
3318
3319         * configure.ac, configure: Added support for --enable-chunky-strip-read
3320         configure option to enable the experimental feature from a couple
3321         months ago for reading big strips in chunks.
3322
3323         * configure.ac, tif_read.c, tif_readdir.c, tif_dir.h, tiffiop.h,
3324         tif_write.c, tif_print.c, tif_jpeg.c, tif_dirwrite.c, tif_write.c:
3325         Implement optional support for deferring the load of strip/tile
3326         offset and size tags for optimized scanning of directories.  Enabled
3327         with the --enable-defer-strile-load configure option (DEFER_STRILE_LOAD
3328         #define in tif_config.h).
3329
3330 2011-02-11  Frank Warmerdam  <warmerdam@pobox.com>
3331
3332         * libtiff/tif_print.c: remove unused variable.
3333
3334 2011-02-09  Frank Warmerdam  <warmerdam@pobox.com>
3335
3336         * libtiff/tif_win32.c: avoid error/warning buffer overrun problem
3337         with non-console (popup message) builds on win32.
3338
3339         http://bugzilla.maptools.org/show_bug.cgi?id=2293
3340
3341 2011-01-24  Olivier Paquet  <olivier.paquet@gmail.com>
3342
3343         * libtiff/{tif_dir.{h,c}, tif_dirinfo.c, tif_dirread.c, tif_dirwrite.c,
3344         tif_print.c, tiff.h, tiffiop.h} : Added support for
3345         TIFFTAG_SMINSAMPLEVALUE and TIFFTAG_SMAXSAMPLEVALUE to have different
3346         values for each sample. Presents the min/max of all samples by default for
3347         compatibility. TIFFSetField/TIFFGetField can be made to handle those tags
3348         as arrays by changing the new TIFFTAG_PERSAMPLE pseudo tag.
3349         http://www.asmail.be/msg0055458208.html
3350
3351 2011-01-06  Frank Warmerdam  <warmerdam@pobox.com>
3352
3353         * libtiff/tif_pixarlog.c: Note that tif_rawcc/tif_rawcp are not
3354         maintained.
3355
3356         * libtiff/tif_zip.c: Maintain tif_rawcc/tif_rawcp when decoding
3357         for CHUNKY_STRIP_READ_SUPPORT.
3358
3359         * libtiff/tif_jpeg.c: ensure that rawcc and rawcp are maintained
3360         during JPEGPreDecode and JPEGDecode calls.
3361         * libtiff/tif_read.c: larger read ahead for CHUNKY_STRIP_READ_SUPPORT,
3362         as compression formats like JPEG keep 16 lines interleaved in a sense
3363         and might need to touch quite a bit of data.
3364
3365         http://trac.osgeo.org/gdal/ticket/3894
3366
3367 2011-01-03  Lee Howard <faxguy@howardsilvan.com>
3368
3369         * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images
3370         caused by commit on 2010-12-14.  Submitted by e-mail from
3371         Even Rouault <even.rouault@mines-paris.org>
3372
3373 2010-12-31  Olivier Paquet  <olivier.paquet@gmail.com>
3374
3375         * libtiff/tif_dirwrite.c: Fixed writing of TIFFTAG_REFERENCEBLACKWHITE.
3376         http://bugzilla.maptools.org/show_bug.cgi?id=2266
3377
3378 2010-12-23  Andrey Kiselev  <dron@ak4719.spb.edu>
3379
3380         * tools/tiffcp.c, man/tiffcp.1: Added support for specifying the
3381         compression level parameter (preset) for Deflate and LZMA encoders,
3382         e.g "-c lzma:p1" or "-c zip:p9".
3383
3384         * libtiff/tif_lzma.c: Properly set the LZMA2 compression level
3385         (preset) in LZMAVSetField().
3386
3387 2010-12-18  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3388
3389         * libtiff/Makefile.am (libtiff_la_SOURCES): Added tif_lzma.c to
3390         Makefile.
3391
3392 2010-12-14  Andrey Kiselev  <dron@ak4719.spb.edu>
3393
3394         * configure.ac, libtiff/{tif_codec.c, tif_config.h.in, tiff.h,
3395         tiffiop.h, tif_lzma.c}, tools/tiffcp.c, man/tiffcp.1: Implement a new
3396         TIFF compression scheme LZMA reserving a new value 34925 for
3397         Compression tag. As per
3398         bug http://bugzilla.maptools.org/show_bug.cgi?id=2221
3399
3400 2010-12-14  Lee Howard <faxguy@howardsilvan.com>
3401
3402         * libtiff/tif_dirread.c: tolerate some cases where
3403         FIELD_COLORMAP is missing
3404         http://bugzilla.maptools.org/show_bug.cgi?id=2189
3405
3406 2010-12-14  Lee Howard <faxguy@howardsilvan.com>
3407
3408         * libtiff/tif_read.c: change read_ahead to tmsize_t
3409         http://bugzilla.maptools.org/show_bug.cgi?id=2222
3410
3411 2010-12-14  Lee Howard <faxguy@howardsilvan.com>
3412
3413         * configure.ac, libtiff/Makefile.am: Build tif_win32.c on
3414         Windows except on Cygwin
3415         http://bugzilla.maptools.org/show_bug.cgi?id=2224
3416
3417 2010-12-14  Lee Howard <faxguy@howardsilvan.com>
3418
3419         * tools/gif2tiff.c: fix buffer overrun
3420         http://bugzilla.maptools.org/show_bug.cgi?id=2270
3421
3422 2010-12-14  Lee Howard <faxguy@howardsilvan.com>
3423
3424         * libtiff/tif_jpeg.c: reduce usage of JCS_UNKNOWN in order
3425         to improve compatibility with various viewers
3426         submitted by e-mail from Dwight Kelly <dkelly@apago.com>
3427
3428 2010-12-13  Lee Howard <faxguy@howardsilvan.com>
3429
3430         * tools/fax2ps.c: be consistent with page-numbering
3431         http://bugzilla.maptools.org/show_bug.cgi?id=2225
3432
3433 2010-12-13  Lee Howard <faxguy@howardsilvan.com>
3434
3435         * libtiff/tif_color.c: prevent crash in handling bad TIFFs
3436         resolves CVE-2010-2595
3437         http://bugzilla.maptools.org/show_bug.cgi?id=2208
3438
3439 2010-12-13  Lee Howard <faxguy@howardsilvan.com>
3440
3441         * tools/tiffcrop.c: new release by Richard Nolde
3442         http://bugzilla.maptools.org/show_bug.cgi?id=2004
3443
3444 2010-12-12  Lee Howard <faxguy@howardsilvan.com>
3445
3446         * tools/tiff2pdf.c: fix colors for images with RGBA
3447         interleaved data
3448         http://bugzilla.maptools.org/show_bug.cgi?id=2250
3449
3450 2010-12-12  Lee Howard <faxguy@howardsilvan.com>
3451
3452         * libtiff/tif_dirread.c: fix for Zeiss LSM and Canon CR2 files
3453         http://bugzilla.maptools.org/show_bug.cgi?id=2164
3454
3455 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3456
3457         * tools/tiff2pdf.c: remove invalid duplication for Lab
3458         http://bugzilla.maptools.org/show_bug.cgi?id=2162
3459
3460 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3461
3462         * libtiff/tif_jpeg.c: fix use of clumplines calculation
3463         http://bugzilla.maptools.org/show_bug.cgi?id=2149
3464
3465 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3466
3467         * tools/fax2ps.c: replace unsafe tmpfile() with mkstemp()
3468         http://bugzilla.maptools.org/show_bug.cgi?id=2118
3469
3470 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3471
3472         * libtiff/tif_ojpeg.c, libtiff/tif_pixarlog.c,
3473           libtiff/tif_zip.c: fix build errors for VC6
3474         http://bugzilla.maptools.org/show_bug.cgi?id=2105
3475
3476 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3477
3478         * libtiff/tif_stream.cxx: warnings cleanup
3479         http://bugzilla.maptools.org/show_bug.cgi?id=2091
3480         * libtiff/tif_dirread.c: warnings cleanup
3481         http://bugzilla.maptools.org/show_bug.cgi?id=2092
3482
3483 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3484
3485         * tools/tiff2pdf.c: add fill-page option
3486         http://bugzilla.maptools.org/show_bug.cgi?id=2051
3487
3488 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3489
3490         * libtiff/tif_dirread.c: modify warnings
3491         http://bugzilla.maptools.org/show_bug.cgi?id=2016
3492
3493 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3494
3495         * libtiff/tif_ojpeg.c: fix buffer overflow on problem data
3496         http://bugzilla.maptools.org/show_bug.cgi?id=1999
3497
3498 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3499
3500         * tools/tiffinfoce.c: strip byte counts are uint64* now
3501
3502 2010-12-11  Lee Howard <faxguy@howardsilvan.com>
3503
3504         * libtiff/tif_ojpeg.c: fix crash when reading a TIFF with a zero
3505         or missing byte-count tag
3506         * tools/tiffsplit.c: abort when reading a TIFF without a byte-count
3507         per http://bugzilla.maptools.org/show_bug.cgi?id=1996
3508
3509 2010-12-08  Lee Howard <faxguy@howardsilvan.com>
3510
3511         * libtiff/tif_dirread.c: fix crash when reading a badly-constructed
3512         TIFF per http://bugzilla.maptools.org/show_bug.cgi?id=1994
3513
3514 2010-12-06  Lee Howard <faxguy@howardsilvan.com>
3515
3516         * libtiff/tif_open.c: Fix mode check before opening a file.
3517         http://bugzilla.maptools.org/show_bug.cgi?id=1906
3518
3519 2010-11-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3520
3521         * libtiff-4.pc.in: Added libtiff pkg-config .pc file support.
3522         Patch by Vincent Torri.
3523
3524 2010-10-21  Frank Warmerdam  <warmerdam@pobox.com>
3525
3526         * tools/tiffinfo.c: avoid direct reference to _TIFFerrorHandler.
3527
3528         * libtiff/tif_config.vc.h: define snprintf to _snprintf for tiff2pdf.
3529
3530         * libtiff/libtiff.def: export _TIFFCheckMalloc for tools.
3531
3532 2010-09-25  Lee Howard <faxguy@howardsilvan.com>
3533
3534         * tools/tiff2ps.c: improvements and enhancements from Richard Nolde
3535         with additional command line options for Document Title,
3536         Document Creator, and Page Orientation
3537
3538 2010-07-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3539
3540         * tools/tiffcrop.c: Patch from Richard Nolde to avoid a
3541         potentially unterminated buffer due to using an exceptionally long
3542         file name.
3543
3544 2010-07-08  Andrey Kiselev  <dron@ak4719.spb.edu>
3545
3546         * tools/tiff2pdf.c: Fixed ID buffer filling in
3547         t2p_write_pdf_trailer(), thanks to Dmitry V. Levin.
3548
3549 2010-07-07  Andrey Kiselev  <dron@ak4719.spb.edu>
3550
3551         * libtiff/tif_dirread.c: Really reset the tag count in CheckDirCount()
3552         to expected value as the warning message suggests. As per bug
3553         http://bugzilla.maptools.org/show_bug.cgi?id=1963
3554
3555 2010-07-06  Andrey Kiselev  <dron@ak4719.spb.edu>
3556
3557         * tools/tiffset.c: Properly handle TIFFTAG_PAGENUMBER,
3558         TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING, TIFFTAG_DOTRANGE
3559         which should be set by value.
3560
3561         * libtiff/tif_dirinfo.c: Don't use assertions in _TIFFFieldWithTag()
3562         and _TIFFFieldWithName() if the tag is not found in the tag table.
3563         This should be normal situation and returned NULL value should be
3564         properly handled by the caller.
3565
3566 2010-07-02  Andrey Kiselev  <dron@ak4719.spb.edu>
3567
3568         * libtiff/tif_getimage.c: Avoid wrong math du to the signed/unsigned
3569         integer type conversions. As per bug
3570         http://bugzilla.maptools.org/show_bug.cgi?id=2207
3571
3572         * tools/{tiff2bw.c, thumbnail.c, pal2rgb.c}: Fix the count for
3573         WhitePoint tag as per bug
3574         http://bugzilla.maptools.org/show_bug.cgi?id=2042
3575
3576         * libtiff/tif_getimage.c: Check the number of samples per pixel when
3577         working with YCbCr image in PickContigCase(). As per bug
3578         http://bugzilla.maptools.org/show_bug.cgi?id=2216
3579
3580         * libtiff/tif_dir.c: Set the bogus post-decoding hook when processing
3581         TIFFTAG_BITSPERSAMPLE in _TIFFVSetField() for the case of 8 bit when
3582         we don't need any post-processing. That helps to reset the hook if we
3583         previously set this field to some other value and the hook was
3584         initialized accordingly. As per bug
3585         http://bugzilla.maptools.org/show_bug.cgi?id=2035
3586
3587 2010-07-01  Andrey Kiselev  <dron@ak4719.spb.edu>
3588
3589         * tools/tiffgt.c: Properly check the raster buffer allocations for
3590         integer overflows. As per bug
3591         http://bugzilla.maptools.org/show_bug.cgi?id=2108
3592
3593         * m4/acinclude.m4: Update GL/GLU/GLUt/Pthread macros from the
3594         upstream.
3595
3596         * libtiff/{tif_aux.c, tif_strip.c, tif_tile.c, tiffiop.h}: Move
3597         multiply_32() and multiply_64() functions into tif_aux.c file and
3598         rename them into _TIFFMultiply32() and _TIFFMultiply64() respectively.
3599
3600 2010-06-30  Andrey Kiselev  <dron@ak4719.spb.edu>
3601
3602         * tools/tiff2pdf.c: Better generation of ID field in
3603         t2p_write_pdf_trailer(). Get rid of GCC aliasing warnings.
3604
3605         * tools/tiff2pdf.c: Fixed computation of the tile buffer size when
3606         converting JPEG encoded tiles.
3607
3608         * tools/tiff2pdf.c: Better handling of string fields, use static
3609         string buffers instead of dynamically allocated, use strncpy() instead
3610         of strcpy(), control the string lengths.
3611
3612 2010-06-25  Andrey Kiselev  <dron@ak4719.spb.edu>
3613
3614         * tools/tiffcp.c: Initialize buffer arrays with zero to avoid
3615         referencing to uninitialized memory in some cases (e.g. when tile size
3616         set bigger than the image size).
3617
3618 2010-06-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3619
3620         * tools/tiffcrop.c: Patch from Richard Nolde. Reject YCbCr
3621         subsampled data since tiffcrop currently doesn't support it.  Fix
3622         JPEG support.
3623
3624 2010-06-13  Frank Warmerdam  <warmerdam@pobox.com>
3625
3626         * libtiff/tif_dirinfo.c: Fix invocation of tag compare function (#2201)
3627
3628         * tools/tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return"
3629         in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
3630         wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
3631         size is larger.  Also, there are a bunch of places that try to
3632         memset() a malloc'd buffer before checking for malloc failure, which
3633         would result in core dump if there actually were a failure. (#2211)
3634
3635 2010-06-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3636
3637         * libtiff/tiffiop.h (TIFFSafeMultiply): Need more castings to
3638         avoid compiler warnings if parameter types are not sign
3639         consistent.
3640
3641         * libtiff 4.0.0alpha6 released.
3642
3643         * tools/tiffcrop.c: Applied patch from Richard Nolde: Corrected
3644         European page size dimensions.  Added an option to allow the user
3645         to specify a custom page size on the command line.  Fix the case
3646         where a page size specified with a fractional part was being
3647         coerced to an integer by retyping the variables that define the
3648         paper size.
3649
3650         * html/index.html: Update for the 3.9.3 release.
3651
3652         * tools/tiffcp.c (tiffcp): Applied Tom Lane's patch to reject
3653         YCbCr subsampled data since tiffcp currently doesn't support it.
3654         http://bugzilla.maptools.org/show_bug.cgi?id=2097
3655
3656         * Update libtool to version 2.2.10.
3657
3658 2010-06-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3659
3660         * libtiff/tiffiop.h (TIFFSafeMultiply): Work properly if
3661         multiplier is zero.
3662
3663 2010-06-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3664
3665         * libtiff/tif_fax3.c (Fax3SetupState): Yesterday's fix for
3666         CVE-2010-1411 was not complete.
3667
3668         * libtiff/tiffiop.h (TIFFSafeMultiply): New macro to safely
3669         multiply two integers.  Returns zero if there is an integer
3670         overflow.
3671
3672         * tools/tiffcp.c (main): tiffcp should not leak memory if an error
3673         is reported when reading the input file.
3674
3675 2010-06-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3676
3677         * Update libtool to version 2.2.8.
3678
3679         * libtiff/tif_fax3.c (Fax3SetupState): Avoid under-allocation of
3680         buffer due to integer overflow in TIFFroundup() and several other
3681         potential overflows.  In conjunction with the fix to TIFFhowmany(),
3682         fixes CVE-2010-1411.
3683
3684         * libtiff/tiffiop.h (TIFFhowmany): Return zero if parameters would
3685         result in an integer overflow. This causes TIFFroundup() to also
3686         return zero if there would be an integer overflow.
3687
3688         * contrib: Add an emacs formatting mode footer to all source files
3689         so that emacs can be effectively used.
3690
3691 2010-06-03  Oliver Chen Feng <scip8183@gmail.com>
3692
3693         * libtiff/tools/tiffcp.c: add a new option -x to force merged tiff
3694         file PAGENUMBER value in sequence for users who care the page
3695         sequence, this will also prevent tiff2pdf from creating pdf file from
3696         the merged tiff file with wrong page sequence.
3697
3698 2010-05-08  Olivier Paquet  <olivier.paquet@gmail.com>
3699
3700         * libtiff/tif_dirread.c: Restored TIFFReadDirEntryFloat function in order
3701         to add missing TIFF_SETGET_FLOAT case to TIFFFetchNormalTag.
3702         * libtiff/tif_dirinfo.c: Use correct set_field_type for
3703         TIFFTAG_PIXAR_FOVCOT so it is readable again (regression from 3.9.2).
3704         http://bugzilla.maptools.org/show_bug.cgi?id=2192
3705
3706 2010-05-07  Frank Warmerdam  <warmerdam@pobox.com>
3707
3708         * libtiff/tif_jpeg.c: Ensure that quality is always set in
3709         JPEGPreEncode(), not just when we want to output local tables.
3710         Otherwise the quality used during compression may not be right and
3711         might not match the tables in the tables tag.   This bug only occurs
3712         when seeking between directories in the midst of writing blocks.
3713         http://trac.osgeo.org/gdal/ticket/3539
3714
3715 2010-05-06  Andrey Kiselev  <dron@ak4719.spb.edu>
3716
3717         * html/man/TIFFGetField.3tiff.html, html/man/TIFFSetField.3tiff.html:
3718         Regenerated from the source.
3719
3720 2010-05-05  Olivier Paquet  <olivier.paquet@gmail.com>
3721
3722         * libtiff/tif_print.c: Fixed printing of TIFFTAG_REFERENCEBLACKWHITE which
3723         had stopped working. Also made it always print 6 floats instead of
3724         2*SamplesPerPixel.
3725         http://bugzilla.maptools.org/show_bug.cgi?id=2191
3726         http://bugzilla.maptools.org/show_bug.cgi?id=2186
3727         * man/TIFFGetField.3tiff, man/TIFFSetField.3tiff: Fixed doc to reflect the
3728         fact that libtiff considers TIFFTAG_REFERENCEBLACKWHITE to be 6 floats.
3729
3730 2010-05-05  Frank Warmerdam  <warmerdam@pobox.com>
3731
3732         * libtiff/tif_jpeg.c: Fix to use memcmp(), not memcpy() when checking
3733         if the jpeg table was written.  This is a fix for the last fix on 04-21.
3734
3735 2010-04-21  Frank Warmerdam  <warmerdam@pobox.com>
3736
3737         * libtiff/tif_jpeg.c: avoid preparing jpeg tables every time
3738         JPEGSetupEncode() is called if the tables already seem to be
3739         established.  This prevents spurious updates and rewriting of
3740         directories with jpegtables when doing updates to existing images.
3741         http://trac.osgeo.org/gdal/ticket/3539
3742
3743 2010-04-20  Olivier Paquet  <olivier.paquet@gmail.com>
3744
3745         * libtiff/tif_dirinfo.c: Use correct set_field_type for
3746         TIFFTAG_PIXAR_IMAGEFULLWIDTH, TIFFTAG_PIXAR_IMAGEFULLLENGTH,
3747         TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN and TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA.
3748         They were unreadable with TIFF_SETGET_UNDEFINED, a regression from 3.9.2.
3749         http://bugzilla.maptools.org/show_bug.cgi?id=2139
3750
3751 2010-04-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3752
3753         * libtiff/tif_dir.c (_TIFFVSetField): Add a special error case for
3754         when the tag count value is zero.  Error handling is still a
3755         regression since in 3.9.2, empty tags are skipped (with a warning)
3756         rather than returning a hard error and refusing to read the file.
3757
3758         * tools/ppm2tiff.c (main): While case for parsing comment line
3759         requires extra parenthesis to work as expected.  Reported by
3760         Thomas Sinclair.
3761
3762 2010-04-02  Frank Warmerdam  <warmerdam@pobox.com>
3763
3764         * libtiff/tif_read.c (primarily): Add support for
3765         CHUNKY_STRIP_READ_SUPPORT where large strips are
3766         read in chunks for applications using TIFFReadScanline().
3767         This is intended to make it more practical work with very
3768         large compressed one-strip files.   Feature is off by default.
3769         Enable by defining CHUNK_STRIP_READ_SUPPORT as a macro.
3770         http://trac.osgeo.org/gdal/ticket/3514
3771
3772 2010-03-31  Frank Warmerdam  <warmerdam@pobox.com>
3773
3774         * libtiff/tif_flush.c: Use TIFFRewriteDirectory() when flushing
3775         directories so previously placed directories will be migrated to
3776         the end of file if needed.
3777
3778 2010-03-30  Frank Warmerdam  <warmerdam@pobox.com>
3779
3780         * libtiff/tif_lzw.c: change type of dec_bitsleft field to uint64
3781         to support operating on strips/tiles of more than 256MB.
3782         http://trac.osgeo.org/gdal/ticket/3512
3783
3784 2010-03-10  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3785
3786         * libtiff/tif_aux.c (_TIFFCheckRealloc): Improve error message so
3787         that it is clearly a memory allocation error message, and also
3788         includes the size of the allocation request.
3789
3790 2010-02-22  Lee Howard  <faxguy@howardsilvan.com>
3791
3792         * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating
3793         the JPEG TIFF as is is not required in order to prevent it from
3794         being unused and filled with invalid data.  (Leave it to be
3795         generated by later activity.)
3796         http://bugzilla.maptools.org/show_bug.cgi?id=2135
3797         * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip
3798         data rather than skipping them.  This fixes the ability to view in
3799         Acrobat Reader, Evince, and Ghostscript.
3800         http://bugzilla.maptools.org/show_bug.cgi?id=2135
3801         * libtiff/tif_fax3.c: Don't return error on badly-terminated MMR
3802         strips.
3803         http://bugzilla.maptools.org/show_bug.cgi?id=2029
3804
3805 2009-12-03  Frank Warmerdam  <warmerdam@pobox.com>
3806
3807         * libtiff/tif_jpeg.c: Made JPEGDecodeRaw() check for buffer overruns.
3808         Made so that when working with downsampled images a stub function
3809         reporting an error is used for tif_decoderow.  We cannot meaningfully
3810         support reading scanlines in this situation.  (#1936)
3811
3812         * libtiff/tif_jpeg.c: Ensure that tif_scanlinesize is computed after
3813         resetting of the upsampling values (gdal:#3259).
3814         http://bugzilla.maptools.org/show_bug.cgi?id=1936
3815
3816 2009-11-30  Frank Warmerdam  <warmerdam@pobox.com>
3817
3818         * contrib/dbs/tiff-grayscale.c, contrib/tif-palette.c,
3819         tools/ras2tiff.c: Fix resource leaks on error.
3820         http://bugzilla.maptools.org/show_bug.cgi?id=2121
3821
3822         * libtiff/tif_{aux.c,dir.c,dir.h,dirinfo.c}: Return to handling
3823         TIFFTAG_REFERENCEBLACKWHITE as a field in the TIFF directory instead
3824         of as a custom(generic) field to avoid a potential reentrancy problem.
3825         http://bugzilla.maptools.org/show_bug.cgi?id=2125
3826
3827         * libtiff/tif_color.c, libtiff/tif_getimage.c, libtiff/tiffio.h,
3828         man/TIFFcolor.3tiff: Make TIFFDisplay argument in TIFFCIELabToRGBInit
3829         const, and display_sRGB static and const.
3830         http://bugzilla.maptools.org/show_bug.cgi?id=2124
3831
3832 2009-11-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3833
3834         * libtiff 4.0.0alpha5 released.
3835
3836 2009-11-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3837
3838         * tools/tiffcrop.c: Updated tiffcrop from Richard Nolde.  This
3839         version has undergone substantial testing with arbitrary sample
3840         bit depths.  Also eliminates GCC compilation warnings.
3841
3842 2009-11-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3843
3844         * port/libport.h: Add extern declarations for getopt standard
3845         globals.
3846
3847 2009-10-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3848
3849         * libtiff/tif_lzw.c (LZWDecode, LZWDecodeCompat): Fix warnings
3850         noticed in 64-bit build of libtiff with Visual Studio 2005.
3851         Resolves "Bug 2067 - Visual Studio 2005 64-bit warnings in
3852         tif_lzw.c", http://bugzilla.maptools.org/show_bug.cgi?id=2067
3853
3854         * libtiff/tif_pixarlog.c (PixarLogEncode): Fix non-important
3855         warning noticed in Visual Studio 2005 build. Resolves "Bug 2068 -
3856         Visual Studio 2005 64-bit warning in tif_pixarlog.c",
3857         http://bugzilla.maptools.org/show_bug.cgi?id=2068
3858
3859 2009-10-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3860
3861         * libtiff/tif_dirread.c: Eliminate GCC "dereferencing type-punned
3862         pointer" warnings.
3863
3864 2009-10-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3865
3866         * html/tools.html: Add manual page links, and a summary
3867         description of tiffcrop.
3868
3869 2009-10-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3870
3871         * configure.ac: x86_64 should use the same fill order as i386.
3872
3873 2009-09-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3874
3875         * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop from Richard
3876         Nolde.  Major updates to add significant functionality for reading
3877         and writing tile based images with bit depths not a multiple of 8
3878         which cannot be handled by tiffcp.
3879
3880 2009-09-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3881
3882         * libtiff/tif_ojpeg.c (OJPEGWriteHeaderInfo): IJG JPEG 7 needs
3883         do_fancy_upsampling=FALSE in order to read raw data.  Resolves
3884         "Bug 2090 - OJPEG crash with libjpeg v7".
3885         http://bugzilla.maptools.org/show_bug.cgi?id=2090
3886
3887 2009-09-03  Frank Warmerdam  <warmerdam@pobox.com>
3888
3889         * libtiff/tif_getimage.c: Fixed error recognition handling in RGBA
3890         interface when stoponerror is set.
3891         http://bugzilla.maptools.org/show_bug.cgi?id=2071
3892
3893 2009-08-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3894
3895         * tools/{tiffcrop.c,tiffgt.c}: Applied patch from Oden Eriksson to
3896         fix build with gcc when using the "-Wformat
3897         -Werror=format-security" flags.
3898
3899 2009-08-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3900
3901         * test/{bmp2tiff_palette.sh, bmp2tiff_rgb.sh, gif2tiff.sh,
3902         ppm2tiff_pbm.sh, ppm2tiff_pgm.sh, ppm2tiff_ppm.sh}: Additional
3903         utilities tests.
3904
3905 2009-08-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3906
3907         * tools/tiffinfo.c: tiffinfo should return error status to the
3908         caller.  Register a private error callback to accomplish that.
3909
3910         * test/Makefile.am (TIFFIMAGES): Add test images in BMP, GIF, and
3911         PNM formats so that we will be able to test more of the tools.
3912         While adding these test images I notice that bmp2tiff and gif2tiff
3913         only support ancient versions of their respective formats.
3914
3915 2009-08-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3916
3917         * libtiff 4.0.0alpha4 released.
3918
3919         * HOWTO-RELEASE: Improved release instructions.
3920
3921 2009-08-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3922
3923         * man/{TIFFClose.3tiff,raw2tiff.1,tiffcmp.1,tiffsplit.1}: Applied
3924         fixes for "Bug 2023 - nroff errors in manual pages".
3925         http://bugzilla.maptools.org/show_bug.cgi?id=2023
3926
3927         * tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied fixes for "Bug 2079 -
3928         CVE-2009-2347 libtiff: integer overflows in various inter-color
3929         space conversion tools".
3930         http://bugzilla.maptools.org/show_bug.cgi?id=2079
3931
3932         * libtiff/tif_print.c (TIFFPrintDirectory): Apply fix from Jay
3933         Berkenbilt for "Bug 2024 - possible null pointer dereference with
3934         one-line fix".
3935         http://bugzilla.maptools.org/show_bug.cgi?id=2024
3936
3937         * libtiff/tif_dirread.c (TIFFReadCustomDirectory): Apply patch
3938         from Jay Berkenbilt for "Bug 1895 - logic error in tif_dirread.c:
3939         segfault after setting tdir_tag = IGNORE".
3940         http://bugzilla.maptools.org/show_bug.cgi?id=1895
3941
3942 2009-08-23  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3943
3944         * test/Makefile.am, test/tiffcrop*.sh: Split previously existing
3945         tiffcrop.sh into a collection of many specific tests.  Re-wrote
3946         all of the existing tests to be based on some simple shell
3947         functions.  Make distcheck works again.
3948
3949         Export certain variables (MAKE, MAKEFLAGS, MEMCHECK) to tests and
3950         added 'memcheck' and 'ptrcheck' targets to make it easy to run the
3951         tests under valgrind.
3952
3953 2009-08-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3954
3955         * test/tiffcp-logluv.sh: Fix test so that it works with a VPATH
3956         build.
3957
3958         * test/Makefile.am (AUTOMAKE_OPTIONS): Colorized tests was not
3959         actually activated since it needed to be enabled in this
3960         Makefile.am.  Also activated parallel-tests mode since it offers
3961         useful features such as per-test .log files and a summary test
3962         report .log file.
3963
3964 2009-08-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
3965
3966         * configure.ac: Updated autotools.  Autoconf 2.64, Automake 1.11,
3967         libtool 2.2.6.  Enabled support for silent build rules
3968         (--enable-silent-rules or 'make V=0') and colorized tests.
3969
3970         * html/{index.html, v3.9.0.html}: Update for 3.9.0 release.
3971
3972 2009-06-30  Frank Warmerdam  <warmerdam@pobox.com>
3973
3974         * tests/tiffcp-logluv.sh: minimal testing of sgilog compression.
3975
3976         * tools/tiffcp.c: add -c sgilog support.
3977
3978         * libtiff/tif_luv.c: correct return codes from encoderow to be
3979         1 on success instead of zero.
3980         http://bugzilla.maptools.org/show_bug.cgi?id=2069
3981
3982         * libtiff/tif_lzw.c: back out patch from #2065 and apply patch from
3983         #1085 for a better underflow fix that errors properly.
3984         http://bugzilla.maptools.org/show_bug.cgi?id=2065
3985         http://bugzilla.maptools.org/show_bug.cgi?id=1985
3986
3987 2009-06-26  Frank Warmerdam  <warmerdam@pobox.com>
3988
3989         * libtiff/tif_strip.c: Remove an inappropriate assertion that often
3990         fails on oddly sized 12bit jpeg compressed ycbcr images.
3991
3992 2009-06-22  Frank Warmerdam  <warmerdam@pobox.com>
3993
3994         * libtiff/tif_lzw.c: Fix buffer underflow bug.
3995         http://bugzilla.maptools.org/show_bug.cgi?id=2065
3996
3997 2009-06-21  Frank Warmerdam  <warmerdam@pobox.com>
3998
3999         * configure.ac, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c: add support
4000         for dual mode 8/12 bit jpeg support.
4001
4002 2009-06-03  Frank Warmerdam  <warmerdam@pobox.com>
4003
4004         * libtiff/tif_write.c: do not override the planar configuration to be
4005         contig for one sample files if planar configuration is already set.
4006         http://bugzilla.maptools.org/show_bug.cgi?id=2057
4007
4008 2009-06-02  Frank Warmerdam  <warmerdam@pobox.com>
4009
4010         * libtiff/libtiff.def: Add TIFFUnsetField.
4011
4012 2009-05-03  Frank Warmerdam  <warmerdam@pobox.com>
4013
4014         * libtiff/{tif_jpeg.c,tif_ojpeg.c,tif_getimage.c}: Fixed various
4015         error reports to use "%s" as format string.
4016         http://trac.osgeo.org/gdal/ticket/2976
4017
4018 2009-03-12  Frank Warmerdam  <warmerdam@pobox.com>
4019
4020         * libtiff/{tif_fax3.c,tif_jpeg.c,tif_ojpeg.c}: Fix printdir chaining
4021         for some codecs (#2020).
4022
4023 2009-02-12  Frank Warmerdam  <warmerdam@pobox.com>
4024
4025         * libtiff/tif_luv.c: Fix handling of tiled logluv images.
4026         http://bugzilla.maptools.org/show_bug.cgi?id=2005
4027
4028 2009-02-09  Frank Warmerdam  <warmerdam@pobox.com>
4029
4030         * libtiff/tif_dirread.c: Improve allocation safety when allocated
4031         buffer for large tags.  (#1998)  Related to (#1993)
4032
4033 2009-02-06  Frank Warmerdam  <warmerdam@pobox.com>
4034
4035         * tools/tiffcrop.c: Don't default image->res_unit to INCH.  Now the
4036         test suite should pass.
4037
4038 2009-02-05  Frank Warmerdam  <warmerdam@pobox.com>
4039
4040         * libtiff/tif_dirread.c: Re-incorporated a sanity check on tag size,
4041         but at the 2GB boundary to avoid overflow on 32bit systems.
4042         http://bugzilla.maptools.org/show_bug.cgi?id=1993
4043
4044         * libtiff/tif_dirread.c: Remove some assertions that blow due to
4045         corrupt files rather than in response to library internal
4046         inconsistencies.
4047         http://bugzilla.maptools.org/show_bug.cgi?id=1995
4048         http://bugzilla.maptools.org/show_bug.cgi?id=1991
4049
4050         * libtiff/tif_dirread.c: Fixed testing for failed result from
4051         TIFFReadDirectoryFindFieldInfo().
4052         http://bugzilla.maptools.org/show_bug.cgi?id=1992
4053
4054 2009-01-23  Frank Warmerdam  <warmerdam@pobox.com>
4055
4056         * libtiff/tif_predict.c: Add support for 32bit integer horz. predictors.
4057         http://bugzilla.maptools.org/show_bug.cgi?id=1911
4058
4059         * libtiff/tif_dirwrite.c: Fix byte swapping of next directory offset.
4060
4061         http://bugzilla.maptools.org/show_bug.cgi?id=1924
4062
4063         * tools/tiffcrop.c: initialize xres/yres values.
4064
4065         * test/*.sh - default ${srcdir} to local directory.
4066
4067         * test/common.sh - start verbose mode after common settings.
4068
4069         * libtiff/tif_dirinfo.c: Replace lfind() with local equivalent to
4070         avoid type mismatches on different platforms.
4071         http://bugzilla.maptools.org/show_bug.cgi?id=1889
4072
4073 2009-01-22  Frank Warmerdam  <warmerdam@pobox.com>
4074
4075         * tools/{fax2tiff.c,thumbnail.c,tiff2pdf.c,tiff2ps.c,tiffdump.c,
4076         tiffsplit.c}: avoid warnings, mostly 32bit/64bit casting issues.
4077
4078         * port,tools: Introduce libport.h, and include in tools if NEED_LIBPORT
4079         defined, primarily to reduce prototype warnings on windows.
4080
4081         * libtiff/tif_dirinfo.c,tif_dirread.c: Avoid warnings
4082         about unused parameters, and uninitialized variables.
4083
4084 2009-01-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4085
4086         * test/common.sh: Execute tests like 'make VERBOSE=TRUE check' in
4087         order to trace full execution detail while executing the test suite.
4088
4089 2009-01-20  Frank Warmerdam  <warmerdam@pobox.com>
4090
4091         * tools/tiffsplit.c: fix sampleformat to be shortv instead of longv.
4092
4093 2009-01-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4094
4095         * test/Makefile.am (CLEANFILES): Make sure that test output files
4096         are removed by 'make clean'
4097
4098         * Update autotools for 4.0.0 beta3
4099
4100         * 4.0.0 beta3 produced.
4101
4102 2009-01-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4103
4104         * test/tiffcrop.sh: New test script for tiffcrop from Richard
4105         Nolde.
4106
4107         * tools/tiff2ps.c: Remove spurious message to stderr.
4108
4109 2009-01-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4110
4111         * tools/tiff2ps.c: Incorporated significant functionality update
4112         from Richard Nolde.  In particular, support for rotating the image
4113         by 90, 180, 270, and 'auto' has been added.
4114
4115         * man/tiffcrop.1: Incorporated documentation updates from Richard
4116         Nolde.
4117
4118         * tools/tiffcrop.c: Incorporated significant functionality update
4119         from Richard Nolde.
4120
4121 2008-12-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4122
4123         * libtiff/tiffio.h: GCC will now validate format specifications
4124         for TIFFError(), TIFFErrorExt(), TIFFWarning(), and
4125         TIFFWarningExt() in order to reveal bugs.
4126
4127         * Many fixes throughout to work better as a 64-bit build.
4128
4129 2008-12-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4130
4131         * tools/{tiff2pdf.c, tiff2ps.c, tiffinfo.c}: Offset and length
4132         tags now require 64-bit parameter rather than 32-bit.
4133
4134         * libtiff/tif_dirread.c: Fixed issues with unaligned access to
4135         64-bit values.
4136
4137         * tools/thumbnail.c: Eliminate crash noticed while running test
4138         suite.
4139
4140 2008-12-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4141
4142         * libtiff/tif_ojpeg.c (OJPEGLibjpegJpegSourceMgrFillInputBuffer):
4143         Initialize stack variables to avoid compiler warning.
4144
4145         * tools/tiffinfoce.c (main): Use toff_t for offset type when
4146         retrieving offset of EXIF IFD.
4147
4148         * libtiff/tiffio.h: Undeprecate toff_t and restore its use in the
4149         TIFFClientOpen() callback and other external function definitions.
4150
4151         * tools/tiffinfo.c (main): Offset to EXIF IFD requires a 64-bit
4152         type now.  Fixes crash when dumping files containing an EXIF IFD.
4153
4154         * m4/libtool.m4: Update to libtool 2.2.6.
4155
4156 2008-12-21  Frank Warmerdam  <warmerdam@pobox.com>
4157
4158         * libtiff/tif_dir.c, tiffio.h: Introduce TIFFUnsetField() function.
4159
4160         * libtiff/tif_jpeg.c: Avoid errors if the application writes a full
4161         strip for the last partial strip in a jpeg compressed file.
4162         http://bugzilla.maptools.org/show_bug.cgi?id=1981
4163
4164 2008-10-29  Frank Warmerdam  <warmerdam@pobox.com>
4165
4166         * libtiff/tif_flush.c: Make sure that BEENWRITING is cleared when
4167         we take the shortcut to only update the strip/tile offsets in place.
4168         http://trac.osgeo.org/gdal/ticket/2621
4169
4170 2008-10-21  Andrey Kiselev  <dron@ak4719.spb.edu>
4171
4172         * libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 (compatibility with
4173         the older versions retained).
4174
4175 2008-10-09  Frank Warmerdam  <warmerdam@pobox.com>
4176
4177         * libtiff/tif_jpeg.c: Add #ifdefs for changes needed if using
4178         IPP enabled version of libjpeg from Intel.
4179         http://bugzilla.maptools.org/show_bug.cgi?id=1951
4180
4181 2008-09-05  Andrey Kiselev  <dron@ak4719.spb.edu>
4182
4183         * tools/tiffsplit.c: Use byte counts of proper size (uint64).
4184         Required for libtiff 4.0.
4185
4186         * tools/tiffsplit.c: Use dynamically allocated array instead of static
4187         when constructing output file names.
4188
4189 2008-09-03  Andrey Kiselev  <dron@ak4719.spb.edu>
4190
4191         * tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() calls when
4192         doing the filename/path construction.
4193
4194         * tools/tiff2pdf.c: More appropriate format string in
4195         t2p_write_pdf_string(); avoid signed/unsigned mismatch.
4196
4197         * libtiff/tif_lzw.c: Properly zero out the codetable. As per bug
4198
4199         http://bugzilla.maptools.org/show_bug.cgi?id=1929
4200
4201         * libtiff/tif_lzw.c: Properly zero out the string table. Fixes
4202         CVE-2008-2327 security issue.
4203
4204 2008-09-01  Frank Warmerdam  <warmerdam@pobox.com>
4205
4206         * libtiff/tif_dirread.c: Avoid unused TIFFReadDirEntryFloat() function.
4207
4208         * libtiff/tif_dirwrite.c: modified to write IFDs as either IFD8 or IFD
4209         depending on whether the file is bigtiff or classic tiff.
4210         http://bugzilla.maptools.org/show_bug.cgi?id=1917
4211
4212 2008-08-12  Edward Lam  <edward@sidefx.com>
4213
4214         * tools/tiffdump.c: When compiling for Microsoft Windows, apply
4215         consistent (__int64) casting when testing if _lseeki64 has
4216         successfully sought as requested.  This is necessary for large
4217         file support to work since off_t is only 32-bit.
4218
4219 2008-07-29  Frank Warmerdam  <warmerdam@pobox.com>
4220
4221         * tif_strip.c: Replace assertions related to samplesperpixel != 3 or
4222         the subsampling values not being 1, 2 or 4 (for jpeg compressed images)
4223         with control logic to return runtime errors (c/o Even Rouault) (#1927).
4224
4225 2008-06-17  Frank Warmerdam  <warmerdam@pobox.com>
4226
4227         * tools/tiffcrop.c: Fix some portability problems.
4228
4229         * libtiff/tif_ojpeg.c: Use same jpeg/win32 boolean/FAR hacks as are
4230         used in tif_jpeg.c.
4231
4232         * libtiff/tif_win32.c: Ensure TIFFOpenW() uses same FILE_SHARE flags
4233         as TIFFOpen().
4234
4235 2008-06-01  Frank Warmerdam  <warmerdam@pobox.com>
4236
4237         * libtiff/tif_dirwrite.c: Fix alignment problems affecting architectures
4238         like Sparc/Solaris.
4239         http://bugzilla.maptools.org/show_bug.cgi?id=1892
4240
4241 2008-05-27  Frank Warmerdam  <warmerdam@pobox.com>
4242
4243         * libtiff.def: Add TIFFFindField
4244         http://bugzilla.maptools.org/show_bug.cgi?id=1891
4245
4246 2008-05-26  Frank Warmerdam  <warmerdam@pobox.com>
4247
4248         * tif_config.*.h, tiffconf.*.h: Remove SIZEOF_LONG definition, unused.
4249
4250         * li2008-04-15  Andrey Kiselev  <dron@ak4719.spb.edu>
4251
4252 btiff/tif_win32.c: Replace custom Win32 memory api with generic
4253         POSIX one.  No apparent value to use of GlobalAlloc() in the modern
4254         age.  http://bugzilla.maptools.org/show_bug.cgi?id=1885
4255
4256         * libtiff/tiffconf.vc.h: Added JBIG_SUPPORT and MDI_SUPPORT items
4257         in windows version (care of Edward Lam).
4258
4259 2008-05-24  Frank Warmerdam  <warmerdam@pobox.com>
4260
4261         * tif_codec.c: Avoid NULL pointer dereferencing for exotic
4262         compression codec codes.
4263
4264         * tif_dirwrite.c: fix potential memory leak.
4265
4266         * tif_dirread.c: Fix unchecked malloc result.
4267
4268 2008-05-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4269
4270         * test {tiff2pdf.sh tiff2ps-EPS1.sh tiff2ps-PS1.sh tiff2ps-PS2.sh
4271         tiff2ps-PS3.sh tiffcp-g3-1d-fill.sh tiffcp-g3-1d.sh
4272         tiffcp-g3-2d-fill.sh tiffcp-g3-2d.sh tiffcp-g3.sh tiffcp-g4.sh
4273         tiffcp-split-join.sh tiffcp-split.sh tiffcp-thumbnail.sh
4274         tiffdump.sh tiffinfo.sh}: Added more test scripts based on
4275         suggestions from Lee Howard posted to the tiff list on 13 Sep
4276         2007.
4277
4278 2008-05-23  Frank Warmerdam  <warmerdam@pobox.com>
4279
4280         * libtiff/tif_fax3.c: Add an assert in an effort to detect a
4281         possible runtime problem reported by coverity.
4282
4283         * contrib/iptcutil/iptcutil.c: Fixed memory leak of str.
4284
4285         * tools/tiffcrop.c, man/tiffcrop.1: Major update from Richard Nolde.
4286         http://bugzilla.maptools.org/show_bug.cgi?id=1888
4287
4288         * tools/tiffdither.c: remove dead onestrip code.  avoid memory leak.
4289
4290         * tools/rgb2ycbcr.c: fix memory leak of raster buffer.
4291
4292         * tools/tiffcp.c: Simplify inknames code to avoid pointless test.
4293         Cleanup scanline allocation to avoid coverity warning.
4294
4295         * tools/thumbnail.c: Check for TIFFOpen() failure.
4296
4297 2008-05-18  Frank Warmerdam  <warmerdam@pobox.com>
4298
4299         * libtiff/tif_dirinfo.c: Use TIFF_SETGET_ASCII for PIXAR_TEXTUREFORMAT
4300         and PIXAR_WRAPMODES instead of TIFF_SETGET_UNDEFINED.  Not exactly clear
4301         why this is needed.
4302
4303 2008-05-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4304
4305         * Makefile.am (ACLOCAL_AMFLAGS): Libtool 2.2.4 does not like
4306         "ACLOCAL_AMFLAGS=-I ./m4".  It wants "ACLOCAL_AMFLAGS=-I m4".
4307
4308 2008-04-15  Andrey Kiselev  <dron@ak4719.spb.edu>
4309
4310         * test/: Test suite updated. Everything is passed now.
4311
4312         * libtiff/tif_dirinfo.c: Fixed description of the
4313         TIFFTAG_NUMBEROFINKS tag.
4314
4315 2008-04-14  Andrey Kiselev  <dron@ak4719.spb.edu>
4316
4317         * libtiff/{tif_dirread.c, tif_dirwrite.c, tiffiop.h}:
4318         Get rid of some of "dereferencing type-punned" warnings by converting
4319         tdir_offset field of TIFFDirEntry structure into union.
4320
4321 2008-04-10  Andrey Kiselev  <dron@ak4719.spb.edu>
4322
4323         * libtiff/{tif_flush.c, tif_dirwrite.c, tiffio.h, tiffiop.h}:
4324         TIFFRewriteField() renamed into _TIFFRewriteField() and moved out
4325         from the public interface. Type of its 'count' parameter changed
4326         from uint32 to tmsize_t.
4327
4328         * /libtiff/tiffiop.h: Make tif_nfields and tif_nfieldscompat fields
4329         of the tiff structure have the size_t type instead of uint32.
4330
4331 2008-04-09  Andrey Kiselev  <dron@ak4719.spb.edu>
4332
4333         * tools/tiffdump.c: Added support for MSVS 6.0.
4334
4335         * libtiff/tif_dirread.c: Use custom functions _TIFFUInt64ToFloat()
4336         and _TIFFUInt64ToDouble() to convert 64-bit integers into floating
4337         point values on MSVS 6.0 platform.
4338
4339 2008-03-14  Frank Warmerdam  <warmerdam@pobox.com>
4340
4341         * tif_dirread.c: Removed sanity checks on tags larger than 4MB in
4342         TIFFReadDirEntryArray() since they are interfering with seemingly
4343         legitimate files.  http://trac.osgeo.org/gdal/ticket/2005
4344
4345 2008-02-09  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4346
4347         * tif_dirread.c: Added handling for the case of number of values for
4348         PageNumber tag different from 2 (previously resulted in an assert
4349         indicating lack of handling and was forgotten about)
4350
4351 2008-02-01  Frank Warmerdam  <warmerdam@pobox.com>
4352
4353         * libtiff/tif_jpeg.c: Do not try to fixup subsampling tags based on
4354         the actual jpeg data stream if the first strip/tile has zero size.
4355         This is the case when GDAL creates a new file with zero sizes, closes
4356         and reopens it.
4357
4358 2008-01-07  Frank Warmerdam  <warmerdam@pobox.com>
4359
4360         * tools/tiff2ps.c: fix up 64bit issues (from Edward Lam).
4361
4362 2008-01-01  Frank Warmerdam  <warmerdam@pobox.com>
4363
4364         * libtiff/tif_dirwrite.c: #ifdef out lots of unused functions.
4365
4366         * Makefile.vc, libtiff/Makefile.vc, tools/Makefile.vc: Improve clean
4367         targets.
4368
4369         * tools/tiffinfo.c, tools/tiffcmp.c, tools/gif2tiff.c, tools/bmp2tiff.c
4370         tools/tiff2pdf.c: Fix 64-bit warnings when compiling under MSVC 2005
4371         (x64).
4372
4373         * tools/tiffset.c: Changes to reflect the fact that TIFFFieldWithTag()
4374         and TIFFFieldWithName() now return TIFFField pointers instead of
4375         TIFFFieldInfo pointers.
4376
4377         * tools/tiffdump.c: Added ssize_t typedef on Windows since it doesn't
4378         exist. This makes it compile again on Windows
4379
4380         * tif_aux.c, tif_getimage.c, tif_next.c, tif_predict.c, tif_win32.c,
4381         tiffconf.vc.h: Various 64bit fixes from Edward Lam identified on win64.
4382
4383         * test/rewrite_tag.c: New test for TIFFRewriteField().
4384
4385 2007-12-31  Frank Warmerdam  <warmerdam@pobox.com>
4386
4387         * tif_dirwrite.c: Added TIFFRewriteField().  This new function
4388         rewrites one field "on disk" updating an existing directory
4389         entry.  Lots of limitations still...
4390
4391         * tiffiop.h, tif_write.c, tif_dirread.c, tif_flush.c: Keep track of
4392         TIFF_DIRTYSTRIP separately from TIFF_DIRTYDIRECT to indicate that
4393         the strip offset/size values are dirty but nothing else about the
4394         directory is dirty.  In flush handle "just stripmaps dirty" as a
4395         special case that just rewrites these values without otherwise
4396         modifying the directory on disk using TIFFRewriteField().
4397
4398         We also modify logic so that in update mode the directory is not
4399         marked dirty on read, but only when something is changed.  This
4400         means we need to keep track of updates to the stripmap stuff in
4401         TIFFAppendToStrip().
4402
4403 2007-12-10  Frank Warmerdam  <warmerdam@pobox.com>
4404
4405         * tif_jpeg.c: Improve ability to switch between encoding and decoding
4406         in the jpeg code (gdal bug #2033).
4407
4408 2007-11-23  Frank Warmerdam  <warmerdam@pobox.com>
4409
4410         * tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_read.c, tif_write.c,
4411         tiffiop.h: Added TIFF_BUF4WRITE flag to indicate if contents of the
4412         rawcp/rawcc buffer are for writing and thus may require flushing.
4413         Necessary to distinguish whether they need to be written to disk when
4414         in mixed read/write mode and doing a mixture of writing followed by
4415         reading.  http://trac.osgeo.org/gdal/ticket/1758
4416
4417 2007-11-23  Andrey Kiselev  <dron@ak4719.spb.edu>
4418
4419         * configure.com, libtiff/tif_vms.c: Better OpenVMS support. Patches
4420         from Alexey Chupahin.
4421
4422 2007-11-02  Frank Warmerdam  <warmerdam@pobox.com>
4423
4424         * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for
4425         establishing if an existing tile can be rewritten to the same location
4426         by comparing the current size to all the other blocks in the same
4427         directory.  This is dangerous in many situations and can easily
4428         corrupt a file.  (observed in esoteric GDAL situation that's hard to
4429         document).  This change involves leaving the stripbytecount[] values
4430         unaltered till TIFFAppendToStrip().  Now we only write a block back
4431         to the same location it used to be at if the new data is the same
4432         size or smaller - otherwise we move it to the end of file.
4433
4434         * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
4435         data when writing the directory just because we have BEENWRITING at
4436         some point in the past.  This was causing odd junk to be written out
4437         in a tile of data when a single tile had an interleaving of reading
4438         and writing with reading last.  (highlighted by gdal
4439         autotest/gcore/tif_write.py test 7.
4440
4441         * tif_predict.c: use working buffer in PredictorEncodeTile to avoid
4442         modifying callers buffer.
4443         http://trac.osgeo.org/gdal/ticket/1965
4444
4445         * tif_predict.c/h: more fixes related to last item, keeping a
4446         distinct pfunc for encode and decode cases as these were getting
4447         mixed up sometimes.
4448         http://trac.osgeo.org/gdal/ticket/1948
4449
4450 2007-11-01  Frank Warmerdam  <warmerdam@pobox.com>
4451
4452         * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that
4453         predictor based encoding and decoding works in read-write update
4454         mode properly.
4455         http://trac.osgeo.org/gdal/ticket/1948
4456
4457 2007-10-24  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4458
4459         * tif_dirread.c: Fixed problem with bogus file triggering
4460         assert(td->td_planarconfig == PLANARCONFIG_CONTIG) in
4461         ChopUpSingleUncompressedStrip
4462
4463 2007-10-22  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4464
4465         * tif_jpeg.c: Resolved buffer incrementation bug that lead to faulty images
4466         at best, access violation at worst, when subsampled JPEG compressed imagery
4467         is decoded without the JPEG_COLORMODE feature
4468
4469 2007-10-11  Frank Warmerdam  <warmerdam@pobox.com>
4470
4471         * html/index.html: Update "people responsible" section.
4472
4473 2007-10-05  Frank Warmerdam  <warmerdam@pobox.com>
4474
4475         * tools/tiff2pdf.c: Fix problem with alpha setting in some cases
4476         as reported on the mailing list.
4477
4478 2007-10-01  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4479
4480         * changed some more incorrect %lud printf flags to %lu
4481
4482 2007-09-29  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4483
4484         * tif_dirread.c: Strip chopping interfered badly with uncompressed
4485         subsampled images because it tried to divide subsampled rowblocks,
4486         leading to all sorts of errors throughout the library for these
4487         images. Fixed by making strip chopping divide in row counts that
4488         are a multiple of vertical subsampling value.
4489
4490 2007-09-28  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4491
4492         * tif_dirread.c: Logical cast working around compiler warning
4493
4494         * tif_read.c: Correction of some error flags and parameter lists
4495
4496 2007-09-27  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4497
4498         * tif_dirread.c: Made calculation of td_maxsamplevalue more robust
4499         when dealing with large bitspersample values, shutting up purification
4500         tools that warn about truncation, though it remains incorrect and
4501         indicates a conceptual problem there.
4502
4503         * tif_open.c: Moved early exit in case of 'h' flag (to disable reading
4504         of first IFD) to proper place because it badly interfered with memory
4505         mapping, resulting in mapping flag even with dummy mapping functions
4506         that returned 0 whilst at the same time the mapping tif_size wasn't
4507         set, thus resulting in continuous incorrect beyond-eof errors.
4508
4509 2007-09-24  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4510
4511         * tif_dirinfo.c: Fixed (MSVC) compiler reports about
4512         inconsistent use of const in tiffFields and exifFields definition
4513
4514 2007-09-20  Frank Warmerdam  <warmerdam@pobox.com>
4515
4516         * tif_dirwrite.c: Always write tile/strip offsets and sizes
4517         using LONG8 type when output format is BigTIFF.  The
4518         TIFFWriteDirectoryTagLongLong8Array() function was restructured
4519         accordingly.
4520
4521         * tif_dirread.c: Improvements to error reporting text in
4522         TIFFFetchDirectory().
4523
4524 2007-09-19  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4525
4526         * test/images: Added a small collection of test images for use by
4527         test programs and scripts.
4528         * test/tiffinfo.sh: A trivial example test script.
4529         * test/common.sh: Added small script for setting the environment
4530         used by script-based tests.
4531
4532 2007-08-24  Frank Warmerdam  <warmerdam@pobox.com>
4533
4534         * tif_dirwrite.c: Write the tif_nextdiroff value instead of a fixed
4535         zero when writing directory contents to preserve the ability to
4536         rewrite directories in place, even in the middle of a directory
4537         chain.
4538
4539         * tif_dirinfo.c:  _TIFFMergeFields() now only merges in field
4540         definitions that are missing.  Existing definitions are silently
4541         ignored.
4542
4543         * tif_dirread.c: Add runtime error for fields for which no definition
4544         is found (in addition to an assert for developers) in
4545         TIFFFetchNormalTag().  Not sure if this is needed, but it seems
4546         prudent.
4547
4548 2007-08-10  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4549
4550         * libtiff/tif_getimage.c: removed SubsamplingHor and SubsamplingVer
4551         from _TIFFRGBAImage structure to revert unwanted ABI change.
4552
4553 2007-08-10  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4554
4555         * libtiff/tif_win32.c: use SetFilePointer instead of
4556         SetFilePointerEx, as per bug
4557
4558         http://bugzilla.remotesensing.org/show_bug.cgi?id=1580
4559
4560 2007-07-19  Andrey Kiselev  <dron@ak4719.spb.edu>
4561
4562         * libtiff/tif_stream.cxx: Put all callback functions declarations
4563         inside extern "C" block.
4564
4565         * libtiff/{tif_lzw.c, tif_luv.c, tif_dumpmode.c, tif_print.c,
4566         tif_read.c, tif_strip.c, tif_thunder.c}: Use "%I64d" printf()
4567         formatter instead of "%lld" with MSVC compiler.
4568
4569         * libtiff/{tiffiop.h, tif_aux.c}:  Added _TIFFUInt64ToFloat() and
4570         _TIFFUInt64ToDouble() functions.
4571
4572 2007-07-18  Andrey Kiselev  <dron@ak4719.spb.edu>
4573
4574         * libtiff/tif_dirread.c: Handle the case of MSVC 6 when using 64-bit
4575         integer constants.
4576
4577         * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h,
4578         remove tif_config.h/tiffconf.h during cleaning. As per bug
4579
4580         http://bugzilla.remotesensing.org/show_bug.cgi?id=1573
4581
4582         * libtiff/tif_unix.c: Do not use O_LARGEFILE. As per bug
4583
4584         http://bugzilla.remotesensing.org/show_bug.cgi?id=1577
4585
4586 2007-07-13  Andrey Kiselev  <dron@ak4719.spb.edu>
4587
4588         * libtiff 4.0.0alpha released.
4589
4590 2007-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>
4591
4592         * tools/tiff2pdf.c: Added missed extern optind as per bug
4593
4594         http://bugzilla.remotesensing.org/show_bug.cgi?id=1567
4595
4596         * libtiff/{tif_close.c, tif_dirinfo.c, tiffiop.c, tif_dirread.c,
4597         tif_dir.h, tif_dir.c, tiffio.h}: Transition to the new-style tag
4598         extending scheme completed.
4599
4600 2007-07-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4601
4602         * libtiff/tif_stream.cxx: Adapt to use toff_t again.  Update to
4603         use standard C++ library size types and attempt to detect overflow
4604         cases.
4605
4606 2007-07-08  Andrey Kiselev  <dron@ak4719.spb.edu>
4607
4608         * libtiff/{tif_jpeg.c, tif_dir.h, tif_dir.c, tif_dirinfo.c, tiffio.h,
4609         tif_ojpeg.c, tif_print.c, tif_fax3.c, tif_dirread.c}: More work on new
4610         tag extending scheme. Use the new scheme everywhere.
4611
4612         * libtiff/{tif_zip.c, tif_predict.c, tif_pixarlog.c, tif_luv.c,
4613         tif_fax3.c, tif_dirread.c, tif_dirwrite.c, tif_close.c, tif_ojpeg.c,
4614         tif_jpeg.c, tif_dirinfo.c, tif_dir.h, tiffio.h, tiffiop.h}:
4615         TIFFFIeldInfo structure replaced with TIFFField structure.
4616         TIFFFieldInfo retained for the backward compatibility.
4617
4618 2007-07-05  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4619
4620         * tools/tiff2pdf.c: Fix a compile problem when JPEG_SUPPORT is not
4621         defined.
4622
4623 2007-07-04  Andrey Kiselev  <dron@ak4719.spb.edu>
4624
4625         * libtiff/{tif_dir.c, tiff.h, tiffio.h, libtiff.def}: Unused
4626         TIFFReassignTagToIgnore() function and TIFFIgnoreSense enumeration
4627         removed.
4628
4629         * libtiff/{tif_dirinfo.c, tif_fax3.c, tif_jbig.c, tif_jpeg.c}: Move
4630         tags TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS,
4631         TIFFTAG_FAXRECVTIME and TIFFTAG_FAXDCS to the common tag directory.
4632         These tags are not codec-specific and relate to image content, so
4633         process them as other normal tags.
4634
4635         * libtiff/{tiffio.h, tif_dir.h}: TIFFTagValue structure moved from the
4636         public tiffio.h to private tif_dir.h.
4637
4638         * contrib/{acorn, mac-cw, mac-mpw}: Removed as unmaintained and
4639         outdated.
4640
4641 2007-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>
4642
4643         * libtiff{tif_acorn.c, tif_apple.c, tif_atari.c, tif_msdos.c,
4644         tif_win3.c}: Obsoleted portability stuff removed.
4645
4646         * tools/tiff2ps.c:  Added support 16-bit images as per bug
4647
4648         http://bugzilla.remotesensing.org/show_bug.cgi?id=1566
4649
4650         Patch from William Bader.
4651
4652         * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
4653         significant upgrade of the whole utility as per bug
4654
4655         http://bugzilla.remotesensing.org/show_bug.cgi?id=1560
4656
4657         Now we don't need tiffiop.h in tiff2pdf anymore and will open output
4658         PDF file using TIFFClientOpen() machinery as it is implemented
4659         by Leon Bottou.
4660
4661 2007-06-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4662
4663         * configure.ac: Fix typo when substituting value for unsigned 8 bit type.
4664         Added support for a TIFF_PTRDIFF_T type to use when doing pointer arithmetic.
4665         Added support for a TIFF_SSIZE_T in order to return memory sizes but still
4666         allow returning -1 for errors.
4667         * libtiff/tiffconf.vc.h: Add porting type defintions for WIN32.
4668
4669 2007-06-25  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4670
4671         * port/strtoull.c: New porting function in case strtoull() is not
4672         available on the target system.
4673         * configure.ac: Add configure support for determining sized types
4674         in a portable way and performing necessary substitutions in
4675         tif_config.h and tiffconf.h.  Updated tiff.h to use the new
4676         definitions.
4677
4678 2007-04-27  Andrey Kiselev  <dron@ak4719.spb.edu>
4679
4680         * tools/tiff2pdf.c: Check the tmpfile() return status as per bug
4681
4682         http://bugzilla.remotesensing.org/show_bug.cgi?id=154
4683
4684 2007-04-07  Andrey Kiselev  <dron@ak4719.spb.edu>
4685
4686         * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
4687         tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
4688         tif_predict.c, tif_zip.c}: Finally fix bug
4689
4690         http://bugzilla.remotesensing.org/show_bug.cgi?id=1274
4691
4692         by introducing _TIFFMergeFieldInfo() returning integer error status
4693         instead of void in case of problems with field merging (e.g., if the
4694         field with such a tag already registered). TIFFMergeFieldInfo() in
4695         public API remains void. Use _TIFFMergeFieldInfo() everywhere and
4696         check returned value.
4697
4698 2007-04-07  Frank Warmerdam  <warmerdam@pobox.com>
4699
4700         * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output
4701         blocks in TIFF_DownSample_Subsampled() (bug 1542).
4702
4703 2007-04-06  Frank Warmerdam  <warmerdam@pobox.com>
4704
4705         * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
4706         will convert from decompressor to compressor or compress to decompress
4707         if required by the force arguments.  This works around a problem in
4708         where the JPEGFixupTestSubsampling() may cause a decompressor to
4709         be setup on a directory when later a compressor is required with the
4710         force flag set.  Occurs with the addtiffo program for instance.
4711
4712 2007-04-06  Andrey Kiselev  <dron@ak4719.spb.edu>
4713
4714         * tools/tiffcrop.c, man/tiffcrop.1: Significant update in
4715         functionality from Richard Nolde. As per bug
4716
4717         http://bugzilla.remotesensing.org/show_bug.cgi?id=1525
4718
4719 2007-03-28  Frank Warmerdam  <warmerdam@pobox.com>
4720
4721         * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.
4722
4723 2007-03-17  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4724
4725         * start of BigTIFF upgrade - CVS HEAD unstable until further notice
4726
4727 2007-03-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4728
4729         * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading
4730         OJPEG images with rowsperstrip that is not a multiple of vertical subsampling
4731         factor. This bug is mentioned in:
4732         http://bugzilla.remotesensing.org/show_bug.cgi?id=1390
4733         http://www.asmail.be/msg0054766825.html
4734
4735 2007-03-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4736
4737         * libtiff/tif_win32.c: made inclusion of windows.h unconditional
4738
4739         * libtiff/tif_win32.c: replaced preprocessor indication for consiously
4740         unused arguments by standard C indication for the same
4741
4742 2007-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>
4743
4744         * libtiff/tif_dirread.c: Use uint32 type instead of tsize_t in byte
4745         counters in TIFFFetchData(). Should finally fix the issue
4746
4747         http://bugzilla.remotesensing.org/show_bug.cgi?id=890
4748
4749 2007-02-24  Andrey Kiselev  <dron@ak4719.spb.edu>
4750
4751         * tools/tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
4752         As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350
4753
4754         * libtiff/tif_dirread.c: Added special function to handle
4755         SubjectDistance EXIF tag as per bug
4756
4757         http://bugzilla.remotesensing.org/show_bug.cgi?id=1362
4758
4759         * tools/tiff2pdf.c: Do not assume inches when the resolution units
4760         do not specified. As per bug
4761
4762         http://bugzilla.remotesensing.org/show_bug.cgi?id=1366
4763
4764         * tools/{tiffcp.c, tiffcrop.c}: Do not change RowsPerStrip value if
4765         it was set as infinite. As per bug
4766
4767         http://bugzilla.remotesensing.org/show_bug.cgi?id=1368
4768
4769         * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop utility contributed
4770         by Richard Nolde. As per bug
4771
4772         http://bugzilla.remotesensing.org/show_bug.cgi?id=1383
4773
4774 2007-02-22  Andrey Kiselev  <dron@ak4719.spb.edu>
4775
4776         * libtiff/tif_dir.c: Workaround for incorrect TIFFs with
4777         ExtraSamples == 999 produced by Corel Draw. As per bug
4778
4779         http://bugzilla.remotesensing.org/show_bug.cgi?id=1490
4780
4781         * libtiff/{tif_dirread.c, tif_read.c}: Type of the byte counters
4782         changed from tsize_t to uint32 to be able to work with data arrays
4783         larger than 2GB. Fixes bug
4784
4785         http://bugzilla.remotesensing.org/show_bug.cgi?id=890
4786
4787         Idea submitted by Matt Hancher.
4788
4789 2007-01-31  Andrey Kiselev  <dron@ak4719.spb.edu>
4790
4791         * tools/tif2rgba.c: This utility does not work properly on big-endian
4792         architectures. It was fixed including the bug
4793
4794         http://bugzilla.remotesensing.org/show_bug.cgi?id=1149
4795
4796 2007-01-15  Mateusz Loskot <mateusz@loskot.net>
4797
4798         * Submitted libtiff port for Windows CE platform
4799         * libtiff/tif_config.wince.h: Added configuration header for WinCE.
4800         * libtiff/tiffconf.wince.h: Ported old configuration header for WinCE.
4801         * libtiff/tif_wince.c: Added WinCE-specific implementation of some
4802         functons from tif_win32.c.
4803         * libtiff/tif_win32.c: Disabled some functions already reimplemented in tif_wince.c.
4804         * libtiff/tiffiop.h, port/lfind.c: Added conditional include of some
4805         standard header files for Windows CE build.
4806         * tools/tiffinfoce.c: Ported tiffinfo utility for Windows CE.
4807
4808 2006-11-19  Frank Warmerdam  <warmerdam@pobox.com>
4809
4810         * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if
4811         we move a strip.
4812         http://bugzilla.remotesensing.org/show_bug.cgi?id=1359
4813
4814 2006-10-13  Andrey Kiselev  <dron@ak4719.spb.edu>
4815
4816         * libtiff/tif_dir.c: More fixes for vulnerabilities, reported
4817         in Gentoo bug ():
4818
4819         http://bugs.gentoo.org/show_bug.cgi?id=142383
4820
4821         * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
4822         Though it is still far from the state of being working and useful.
4823
4824 2006-10-12  Andrey Kiselev  <dron@ak4719.spb.edu>
4825
4826         * libtiff/tif_fax3.c: Save the state of printdir codec dependent
4827         method.
4828
4829         * libtiff/tif_jpeg.c: Save the state of printdir codec dependent method
4830         as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273
4831
4832         * libtiff/tif_win32.c: Fixed problem with offset value manipulation
4833         as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1322
4834
4835         * libtiff/{tif_read.c, tif_jpeg.c, tif_dir.c}: More fixes for
4836         vulnerabilities, reported in Gentoo bug ():
4837
4838         http://bugs.gentoo.org/show_bug.cgi?id=142383
4839
4840 2006-09-28  Andrey Kiselev  <dron@ak4719.spb.edu>
4841
4842         * libtiff/{tif_fax3.c, tif_next.c, tif_pixarlog.c}: Fixed multiple
4843         vulnerabilities, as per Gentoo bug ():
4844
4845         http://bugs.gentoo.org/show_bug.cgi?id=142383
4846
4847 2006-09-27  Frank Warmerdam  <warmerdam@pobox.com>
4848
4849         * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing
4850         encoding and decoding on the same read-write TIFF handle.  The LZW
4851         code can now maintain encode and decode state at the same time. The
4852         ZIP code will switch back and forth as needed.
4853         http://bugzilla.remotesensing.org/show_bug.cgi?id=757
4854
4855 2006-09-20  Frank Warmerdam  <warmerdam@pobox.com>
4856
4857         * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and
4858         tif_config.vc.h for easier identification by folks using an IDE.
4859
4860 2006-07-25  Frank Warmerdam  <warmerdam@pobox.com>
4861
4862         * tif_msdos.c: Avoid handle leak for failed opens.  c/o Thierry Pierron
4863
4864 2006-07-19  Frank Warmerdam  <warmerdam@pobox.com>
4865
4866         * tif_dirwrite.c: take care not to flush out buffer of strip/tile
4867         data in _TIFFWriteDirectory if TIFF_BEENWRITING not set.  Relates
4868         to bug report by Peng Gao with black strip at bottom of images.
4869
4870 2006-07-12  Frank Warmerdam  <warmerdam@pobox.com>
4871
4872         * tif_dirwrite.c: make sure to use uint32 for wordcount in
4873         TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
4874         It already seems to have been done for other field types.  Needed
4875         for "tiffset" on files with geotiff ascii text.
4876
4877 2006-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4878
4879         * {configure.ac, libtiff/tif_config.h.vc, libtiff/tif_jbig.c}
4880         (JBIGDecode): jbg_newlen is not available in older JBIG-KIT and
4881         its use does not appear to be required, so use it only when it is
4882         available.
4883
4884 2006-06-24  Andrey Kiselev  <dron@ak4719.spb.edu>
4885
4886         * libtiff/tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).
4887
4888         * libtiff/tif_dirread.c: Move IFD fetching code in the separate
4889         function TIFFFetchDirectory() avoiding code duplication in
4890         TIFFReadDirectory() and TIFFReadCustomDirectory().
4891
4892 2006-06-19  Frank Warmerdam  <warmerdam@pobox.com>
4893
4894         * tools/tiff2pdf.c: Fix handling of -q values.
4895         http://bugzilla.remotesensing.org/show_bug.cgi?id=587
4896
4897 2006-06-17  Frank Warmerdam  <warmerdam@pobox.com>
4898
4899         * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
4900         files.  Modified TIFFReadDirectory() to not invoke
4901         EstimateStripByteCounts() for case where entry 0 and 1 are unequal
4902         but one of them is zero.
4903           http://bugzilla.remotesensing.org/show_bug.cgi?id=1204
4904
4905 2006-06-08  Andrey Kiselev  <dron@ak4719.spb.edu>
4906
4907         * libtiff/{tif_open.c, tif_dirread.c, tiffiop.h}: Move IFD looping
4908         checking code in the separate function TIFFCheckDirOffset().
4909
4910         * libtiff/tif_aux.c: Added _TIFFCheckRealloc() function.
4911
4912         * tools/tiffcmp.c: Fixed floating point comparison logic as per bug
4913
4914         http://bugzilla.remotesensing.org/show_bug.cgi?id=1191
4915
4916         * libtiff/tif_fax3.c: Fixed problems in fax decoder as per bug
4917
4918         http://bugzilla.remotesensing.org/show_bug.cgi?id=1194
4919
4920         * tools/tiff2pdf.c: Fixed buffer overflow condition in
4921         t2p_write_pdf_string() as per bug
4922
4923         http://bugzilla.remotesensing.org/show_bug.cgi?id=1196
4924
4925 2006-06-07  Andrey Kiselev  <dron@ak4719.spb.edu>
4926
4927         * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added
4928         support for JBIG compression scheme (34661 code) contributed by Lee
4929         Howard. As per bug
4930
4931         http://bugzilla.remotesensing.org/show_bug.cgi?id=896
4932
4933         * configure, configure.ac: OJPEG support enabled by default.
4934
4935         * contrib/ojpeg/: Removed. New OJPEG support does not need this patch.
4936
4937 2006-06-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
4938
4939         * libtiff/{tif_dirinfo.c, tif_print.c} : Fix crash in
4940         TIFFPrintDirectory().  Joris Van Damme authored the fix.
4941
4942 2006-04-21  Andrey Kiselev  <dron@ak4719.spb.edu>
4943
4944         * tools/tiff2pdf.c: Unified line ending characters (always use '\n')
4945         as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1163
4946
4947         * README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
4948         tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
4949         Added support for OpenVMS by Alexey Chupahin, elvis_75@mail.ru.
4950
4951 2006-04-20  Andrey Kiselev  <dron@ak4719.spb.edu>
4952
4953         * tools/{fax2ps.c, fax2tiff.c, ppm2tiff.c, ras2tiff.c, tiff2pdf.c}:
4954         Properly set the binary mode for stdin stream as per bug
4955         http://bugzilla.remotesensing.org/show_bug.cgi?id=1141
4956
4957         * man/{bmp2tiff.1, fax2ps.1, fax2tiff.1, gif2tiff.1, ras2tiff.1,
4958         raw2tiff.1, rgb2ycbcr.1, sgi2tiff.1, tiff2bw.1, tiff2pdf.1, tiff2ps.1,
4959         tiff2rgba.1, tiffcmp.1, tiffcp.1, tiffdither.1, tiffdump.1, tiffgt.1,
4960         tiffset.1}: Improvements in page formatting as per bug
4961         http://bugzilla.remotesensing.org/show_bug.cgi?id=1140
4962
4963         * html/tools.html, html/man/Makefile.am, tools/tiff2pdf.c: Fixed
4964         typos as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1139
4965
4966 2006-04-18  Frank Warmerdam  <warmerdam@pobox.com>
4967
4968         * nmake.opt: use /EHsc for VS2005 compatibility.  Also define
4969         _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005.
4970
4971 2006-04-12  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4972
4973         * libtiff/tif_getimage.c: Added support for planarconfig separate
4974         non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1])
4975
4976 2006-04-11  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4977
4978         * libtiff/tif_getimage.c: Revision of all RGB(A) put routines
4979         - Conversion of unassociated alpha to associated alpha now done with
4980           more performant LUT, and calculation more correct
4981         - Conversion of 16bit data to 8bit data now done with
4982           more performant LUT, and calculation more correct
4983         - Bugfix of handling of 16bit RGB with unassociated alpha
4984
4985 2006-04-11  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4986
4987         * libtiff/tif_getimage.c:
4988         - When there is no alpha, gtTileSeparate and gtStripSeparate allocated
4989           buffer for alpha strile and filled it, only to never read it back.
4990           Removed allocation and fill.
4991         - Minor rename of vars in gtTileSeparate and gtStripSeparate
4992           anticipating planned functionality extension
4993
4994 2006-04-08  Joris Van Damme  <joris.at.lebbeke@skynet.be>
4995
4996         * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase
4997         and pickTileSeparateCase to PickSeparateCase as both work on strips as
4998         well
4999
5000         * libtiff/tif_getimage.c: moved img->get selection from
5001         TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create
5002         logical hook for planned functionality extension
5003
5004 2006-04-08  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5005
5006         * libtiff/tif_ojpeg.c: resolved memory leak that was a consequence
5007         of inappropriate use of jpeg_abort instead of jpeg_destroy
5008
5009 2006-04-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5010
5011         * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in
5012         gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour
5013         on subsampled images - this ought to get sorted when we feel brave
5014         enough to replace TIFFScanlineSize altogether
5015
5016         * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip
5017
5018 2006-04-04  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5019
5020         * libtiff/tiffio.h: added new type tstrile_t
5021
5022         * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips
5023         to new tstrile_t, types of td_stripoffset and td_stripbytecount to
5024         toff_t*
5025
5026         * libtiff/tif_ojpeg.c: totally new implementation
5027
5028         * libtiff/tif_dirread.c: added several hacks to suit new support of
5029         OJPEG
5030
5031         * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
5032         of OJPEG images in favor of tif_getimage.c native handling of
5033         YCbCr and desubsampling
5034
5035 2006-03-29  Frank Warmerdam  <warmerdam@pobox.com>
5036
5037         * libtiff/tif_jpeg.c: JPEGVSetField() so that altering the photometric
5038         interpretation causes the "upsampled" flag to be recomputed.  Fixes
5039         peculiar bug where photometric flag had to be set before jpegcolormode
5040         flag.
5041
5042 2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5043
5044         * libtiff/tif_jpeg.c: strip size related bugfix in encode raw
5045
5046         * libtiff/tif_strip.c: temporarilly added two new versions of
5047         TIFFScanlineSize
5048           - TIFFNewScanlineSize: proposed new version, after all related
5049             issues and side-effects are sorted out
5050           - TIFFOldScanlineSize: old version, from prior to 2006-03-21 change
5051         This needs further sorting out.
5052
5053 2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5054
5055         * contrib/addtiffo/tif_ovrcache.c: bugfix to correctly pass size
5056         of last truncated strip data to TIFFWriteEncodedStrip
5057
5058 2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5059
5060         * libtiff/{tif_jpeg.c, tif_strip.c}: bugfix of tif_jpeg decode raw
5061
5062 2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5063
5064         * libtiff/tif_getimage.c: bugfix/rewrite of putcontig8bitYCbCr22tile
5065
5066         * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile
5067
5068         * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to
5069         prepare the path for new tif_ojpeg.c
5070
5071 2006-03-23  Andrey Kiselev  <dron@ak4719.spb.edu>
5072
5073         * libtiff 3.8.2 released.
5074
5075         * tools/Makefile.am: Use runtime paths linker flags when rpath
5076         option enabled.
5077
5078 2006-03-21  Andrey Kiselev  <dron@ak4719.spb.edu>
5079
5080         * libtiff/libtiff.def: Added missed exports as per bug
5081         http://bugzilla.remotesensing.org/attachment.cgi?id=337
5082
5083         * contrib/addtiffo/Makefile.vc, libtiff/Makefile.vc, port/Makefile.vc,
5084         tools/Makefile.vc: Makefiles improvements as per bug
5085         http://bugzilla.remotesensing.org/show_bug.cgi?id=1128
5086
5087         * nmake.opt libtiff/{tif_config.h.vc, tif_unix.c, tiffio.h},
5088         tools/{fax2ps.c, fax2tiff.c, tiff2pdf.c}: Fixed win32 I/O functions
5089         usage as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1127
5090
5091         * libtiff/tif_strip.c: Take subsampling in account when calculating
5092         TIFFScanlineSize().
5093
5094         * tools/tiffcp.c: Do not set RowsPerStrip bigger than image length.
5095
5096 2006-03-17  Andrey Kiselev  <dron@ak4719.spb.edu>
5097
5098         * tools/fax2tiff.c: Fixed wrong TIFFerror() invocations as per bug
5099         http://bugzilla.remotesensing.org/show_bug.cgi?id=1125
5100
5101         * tools/fax2ps.c: Fixed reading the input stream from stdin as per bug
5102         http://bugzilla.remotesensing.org/show_bug.cgi?id=1124
5103
5104 2006-03-16  Andrey Kiselev  <dron@ak4719.spb.edu>
5105
5106         * libtiff/tiffiop.h: Added decalration for
5107         _TIFFSetDefaultCompressionState().
5108
5109         * libtiff/{tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c,
5110         tif_lzw.c, tif_luv.c}: Use _TIFFSetDefaultCompressionState() in all
5111         codec cleanup methods. As per bug
5112
5113         http://bugzilla.remotesensing.org/show_bug.cgi?id=1120
5114
5115 2006-03-15  Andrey Kiselev  <dron@ak4719.spb.edu>
5116
5117         * libtiff/tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As
5118         per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1119
5119
5120         * tools/raw2tiff.c: Do not set RowsPerStrip larger than ImageLength.
5121         As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1110
5122
5123         * libtiff/tiffiop.h: dblparam_t typedef removed; GLOBALDATA macro
5124         removed; move here the STRIP_SIZE_DEFAULT macro definition.
5125
5126         * libtiff/{tif_dirread.c, tif_strip.c}: Removed STRIP_SIZE_DEFAULT
5127         macro definition.
5128
5129         * libtiff/tif_dir.c: Use double type instead of dblparam_t.
5130
5131 2006-03-14  Andrey Kiselev  <dron@ak4719.spb.edu>
5132
5133         * libtiff/tif_dirread.c: Do not check the PlanarConfig tag presence
5134         in TIFFReadDirectory, because it is always set at the start of
5135         function and we allow TIFFs without that tag set.
5136
5137 2005-03-13  Andrey Kiselev  <dron@ak4719.spb.edu>
5138
5139         * libtiff 3.8.1 released.
5140
5141 2006-03-07  Andrey Kiselev  <dron@ak4719.spb.edu>
5142
5143         * libtiff/tif_dirread.c: Fixed error reporting in TIFFFetchAnyArray()
5144         function as per bug
5145         http://bugzilla.remotesensing.org/show_bug.cgi?id=1102
5146
5147         * libtiff/tif_dirread.c: More wise check for integer overflow
5148         condition as per bug
5149         http://bugzilla.remotesensing.org/show_bug.cgi?id=1102
5150
5151         * libtiff/{tif_jpeg.c, tif_pixarlog.c, tif_fax3.c, tif_zip.c}:
5152         Properly restore setfield/getfield methods in cleanup functions. As
5153         per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1102
5154
5155 2006-03-03  Andrey Kiselev  <dron@ak4719.spb.edu>
5156
5157         * libtiff/{tif_predict.c, tif_predict.h}: Added new function
5158         TIFFPredictorCleanup() to restore parent decode/encode/field methods.
5159
5160         * libtiff/{tif_lzw.c, tif_pixarlog.c, tif_zip.c}: Use
5161         TIFFPredictorCleanup() in codec cleanup methods. As per bug
5162
5163         http://bugzilla.remotesensing.org/show_bug.cgi?id=1102
5164
5165         * libtiff/tif_dirread.c: Fixed integer overflow condition in
5166         TIFFFetchData() function. As per bug
5167
5168         http://bugzilla.remotesensing.org/show_bug.cgi?id=1102
5169
5170 2006-03-01  Andrey Kiselev  <dron@ak4719.spb.edu>
5171
5172         * libtiff/tif_ojpeg.c: Set the ReferenceBlackWhite with the
5173         TIFFSetField() method, not directly. As per bug
5174
5175         http://bugzilla.remotesensing.org/show_bug.cgi?id=1043
5176
5177         * tools/ppm2tiff.c: Added support for PBM files as per bug
5178         http://bugzilla.remotesensing.org/show_bug.cgi?id=1044
5179
5180 2006-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>
5181
5182         * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline()
5183         to avoid crash as per bug
5184
5185         http://bugzilla.remotesensing.org/show_bug.cgi?id=1081.
5186
5187 2006-02-26  Andrey Kiselev  <dron@ak4719.spb.edu>
5188
5189         * tools/tiff2pdf.c: Functions t2p_sample_rgbaa_to_rgb() and
5190         t2p_sample_rgba_to_rgb() was used in place of each other, that was
5191         resulted in problems with RGBA images with associated alpha.
5192         As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1097
5193
5194 2006-02-23  Andrey Kiselev  <dron@ak4719.spb.edu>
5195
5196         * libtiff/tif_dirwrite.c: Properly write TIFFTAG_DOTRANGE tag as per
5197         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088.
5198
5199         * libtiff/tif_print.c: Properly read TIFFTAG_PAGENUMBER,
5200         TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING and TIFFTAG_DOTRANGE
5201         tags as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088.
5202
5203         * tools/tiff2ps.c: Properly scale all the pages when converting
5204         multipage TIFF with /width/height/center options set. As per bug
5205
5206         http://bugzilla.remotesensing.org/show_bug.cgi?id=1080
5207
5208 2006-02-15  Andrey Kiselev  <dron@ak4719.spb.edu>
5209
5210         * tools/tiff2pdf.c: Do not create output file until all option checks
5211         will be done. As per bug
5212
5213         http://bugzilla.remotesensing.org/show_bug.cgi?id=1072
5214
5215         * tools/bmp2tiff.c: Added ability to create multipage TIFFs from the
5216         list of input files as per bug:
5217
5218         http://bugzilla.remotesensing.org/show_bug.cgi?id=1077
5219
5220 2006-02-09  Andrey Kiselev  <dron@ak4719.spb.edu>
5221
5222         * libtiff/tif_tile.c: Fix error reporting in TIFFCheckTile() as per
5223         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1063.
5224
5225         * tools/tiffgt.c: Avoid crashing in case of image unsupported by
5226         TIFFRGBAImage interface.
5227
5228         * libtiff/tif_color.c: Avoid overflow in case of wrong input as per
5229         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1065.
5230
5231 2006-02-07  Frank Warmerdam  <warmerdam@pobox.com>
5232
5233         * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
5234         compressed TIFF files, per submission from Dan Cobra.
5235
5236 2006-02-07  Andrey Kiselev  <dron@ak4719.spb.edu>
5237
5238         * libtiff/{tif_dirread.c, tif_packbits.c, tif_win32.c}: Properly
5239         cast values to avoid warnings. As per bug
5240         http://bugzilla.remotesensing.org/show_bug.cgi?id=1033.
5241
5242         * libtiff/tif_dirinfo.c: Use TIFF_NOTYPE instead of 0 when
5243         appropriate. As per bug
5244         http://bugzilla.remotesensing.org/show_bug.cgi?id=1033.
5245
5246         * libtiff/tif_aux.c: Fixed type of temporary variable in
5247         _TIFFCheckMalloc() as per bug
5248         http://bugzilla.remotesensing.org/show_bug.cgi?id=1033.
5249
5250 2006-02-06  Andrey Kiselev  <dron@ak4719.spb.edu>
5251
5252         * libtiff/tif_aux.c: Return static array when fetching default
5253         YCbCrCoefficients (another problem, reported a the
5254         http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 entry).
5255
5256 2006-02-03  Andrey Kiselev  <dron@ak4719.spb.edu>
5257
5258         * libtiff/tif_dir.c: Special handling for PageNumber, HalftoneHints,
5259         YCbCrSubsampling and DotRange tags as per bugs
5260
5261         http://bugzilla.remotesensing.org/show_bug.cgi?id=1029
5262         http://bugzilla.remotesensing.org/show_bug.cgi?id=1034
5263
5264         * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
5265         _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
5266
5267         http://bugzilla.remotesensing.org/show_bug.cgi?id=1026.
5268
5269 2006-01-23  Andrey Kiselev  <dron@ak4719.spb.edu>
5270
5271         * libtool related stuff updated from the 2.1a branch.
5272
5273 2006-01-11  Frank Warmerdam  <warmerdam@pobox.com>
5274
5275         * tools/bmp2tiff,pal2rgb,ppm2tiff,ras2tiff,raw2tiff,sgi2tiff,
5276         tiff2bw,tiffcp: Fixed jpeg option processing so -c jpeg:r:50 works
5277         properly as per bug:
5278         http://bugzilla.remotesensing.org/show_bug.cgi?id=1025
5279
5280 2006-01-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5281
5282         * configure.ac: Fix with_default_strip_size comparison as reported
5283         by Norihiko Murase.
5284
5285 2006-01-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5286
5287         * test/Makefile.am (LIBTIFF): Due to linking against libtiff
5288         incorrectly, tests were not actually testing the uninstalled
5289         libtiff.  Now they are.
5290
5291 2006-01-04  Andrey Kiselev  <dron@ak4719.spb.edu>
5292
5293         * libtiff/tif_dirinfo.c: Change definitions for TIFFTAG_ICCPROFILE,
5294         TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET: readcount
5295         should be uint32 value.
5296
5297 2006-01-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5298
5299         * html/man/Makefile.am (htmldoc): Fix htmldoc rule so that it can
5300         be used if build directory is not the same as source directory.
5301         * man/{TIFFGetField.3tiff, TIFFSetField.3tiff}: Documented
5302         TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, and TIFFTAG_XMLPACKET,
5303         and re-sorted tag names in alphabetical order.
5304
5305 2005-12-29  Andrey Kiselev  <dron@ak4719.spb.edu>
5306
5307         * libtiff 3.8.0 released.
5308
5309 2005-12-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5310
5311         * tools/bmp2tiff.c (main): Fixed warning regarding returning
5312         inconsistent types from a condition.
5313         * tools/tiffcmp.c (CheckLongTag): Eliminate warning due to printf
5314         format.
5315         * tools/bmp2tiff.c: Reduce compilation warnings on big-endian CPUs.
5316
5317 2005-12-28  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5318
5319         * html/{index.html, support.hml, libtiff.html}: Cleaned up HTML
5320
5321 2005-12-27  Andrey Kiselev  <dron@ak4719.spb.edu>
5322
5323         * libtiff/tiffio.h: Added VC_EXTRALEAN definition before including
5324         windows.h, to reduce the compile time.
5325
5326 2005-12-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5327
5328         * libtiff/tif_jpeg.c: Improve compilation under MinGW.
5329
5330 2005-12-26  Andrey Kiselev  <dron@ak4719.spb.edu>
5331
5332         * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}:
5333         tiffFieldInfo and exifFieldInfo arrays definitions moved back to
5334         tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo()
5335         private functions to retrieve FieldInfo arrays.
5336
5337 2005-12-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5338
5339         * html/build.html: Added some additional instructions for when
5340         building using MSVC under Windows.  Also fixed two HTML syntax
5341         errors and used HTML Tidy to tidy up the HTML syntax and
5342         formatting.
5343
5344 2005-12-24  Andrey Kiselev  <dron@ak4719.spb.edu>
5345
5346         * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c,
5347         tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and
5348         StoNits tags custom.
5349
5350 2005-12-23  Andrey Kiselev  <dron@ak4719.spb.edu>
5351
5352         * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make
5353         WhitePoint tag custom.
5354
5355         * libtiff/{tif_dir.h, tiff.h}: More EXIF tags added.
5356
5357 2005-12-23  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5358
5359         * libtiff/tiffio.h: fixed typo that potentially resulted in
5360         redefininition of USE_WIN32_FILEIO
5361
5362         * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning
5363         calls in core LibTiff.
5364
5365 2005-12-21  Andrey Kiselev  <dron@ak4719.spb.edu>
5366
5367         * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC,
5368         Photoshop and ICCProfile tags custom.
5369
5370 2005-12-21  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5371
5372         * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling
5373         newer code to get context indicator in error handler and still
5374         remain compatible with older code: Done TIFFError calls everywhere
5375         except in tools
5376
5377 2005-12-20  Andrey Kiselev  <dron@ak4719.spb.edu>
5378
5379         * tools/tiffcp.c: Added many error reporting messages; fixed integer
5380         overflow as per bug
5381
5382         http://bugzilla.remotesensing.org/show_bug.cgi?id=789
5383
5384 2005-12-16  Frank Warmerdam  <warmerdam@pobox.com>
5385
5386         * contrib/addtiffo/*: Major upgrade by Joris to support subsampled
5387         YCbCr images in jpeg compressed TIFF files.
5388
5389 2005-12-14  Andrey Kiselev  <dron@ak4719.spb.edu>
5390
5391         * tools/tiffcp.c: Return non-zero status when reading fails (again).
5392
5393 2005-12-13  Andrey Kiselev  <dron@ak4719.spb.edu>
5394
5395         * tools/tiffcp.c: Return non-zero status when reading fails.
5396
5397 2005-12-12  Andrey Kiselev  <dron@ak4719.spb.edu>
5398
5399         * libtiff/{tif_dir.h, tiff.h}: Added more EXIF tags.
5400
5401 2005-12-09  Andrey Kiselev  <dron@ak4719.spb.edu>
5402
5403         * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make XMLPacket tag
5404         custom.
5405
5406         * tools/tiffinfo.c: Print EXIF directory contents if exist.
5407
5408         * libtiff/tiff.h: Few EXIF tag numbers added.
5409
5410         * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c,
5411         tiffio.h}: Preliminary support to read custom directories. New
5412         functions: TIFFReadCustomDirectory() and TIFFReadEXIFDirectory().
5413
5414 2005-12-07  Andrey Kiselev  <dron@ak4719.spb.edu>
5415
5416         * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}:
5417         More work to implement custom directory read support.
5418
5419         * libtiff/{tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h,
5420         tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite
5421         tags custom.
5422
5423 2005-12-05  Andrey Kiselev  <dron@ak4719.spb.edu>
5424
5425         * libtiff/tif_dirread.c: One more workaround for broken
5426         StripByteCounts tag. Handle the case when StripByteCounts array filled
5427         with completely wrong values.
5428
5429 2005-11-30  Andrey Kiselev  <dron@ak4719.spb.edu>
5430
5431         * libtiff/tif_dirinfo.c: Release file descriptor in case of failure
5432         in the TIFFOpenW() function as per bug
5433
5434         http://bugzilla.remotesensing.org/show_bug.cgi?id=1003
5435
5436         * libtiff/tif_dirinfo.c: Correctly yse bsearch() and lfind()
5437         functions as per bug
5438
5439         http://bugzilla.remotesensing.org/show_bug.cgi?id=1008
5440
5441 2005-11-20  Frank Warmerdam  <warmerdam@pobox.com>
5442
5443         * tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support
5444         for MS MDI format.
5445         http://bugzilla.remotesensing.org/show_bug.cgi?id=1002
5446
5447         * .cvsignore: many files added, and a few update according
5448         to suggestion of Brad HArds on tiff mailing list.
5449
5450 2005-11-03  Frank Warmerdam  <warmerdam@pobox.com>
5451
5452         * libtiff/libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory
5453         public.
5454
5455 2005-10-31  Andrey Kiselev  <dron@ak4719.spb.edu>
5456
5457         * tools/fax2tiff.c: Properly calculate sizes of temporary arrays
5458         as per bug
5459
5460         http://bugzilla.remotesensing.org/show_bug.cgi?id=943
5461
5462         * tools/fax2tiff.c: Added option '-r' to set RowsPerStrip parameter
5463         as per bug
5464
5465         http://bugzilla.remotesensing.org/show_bug.cgi?id=944
5466
5467         * tools/tiffdump.c: Fixed typeshift and typemask arrays initialization
5468         problem as per bug
5469
5470         http://bugzilla.remotesensing.org/show_bug.cgi?id=946
5471
5472         * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug
5473
5474         http://bugzilla.remotesensing.org/show_bug.cgi?id=965
5475
5476         * libtiff/tif_dirinfo.c: Make XResolution, YResolution and
5477         ResolutionUnit tags modifiable during write process. As per bug
5478
5479         http://bugzilla.remotesensing.org/show_bug.cgi?id=977
5480
5481         * tools/tiffsplit.c: Copy fax related fields over splitted parts
5482         as per bug
5483
5484         http://bugzilla.remotesensing.org/show_bug.cgi?id=983
5485
5486 2005-10-21  Frank Warmerdam  <warmerdam@pobox.com>
5487
5488         * tif_dirread.c: Don't try and split single strips into "0" strips
5489         in ChopUpSingleUncompressedStrip.  This happens in some degenerate
5490         cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff)
5491
5492 2005-10-20  Joris Van Damme  <joris.at.lebbeke@skynet.be>
5493
5494         * tif_fax3.c: changed 'at scanline ...' style warning/errors
5495         with incorrect use of tif_row, to 'at line ... of
5496         strip/tile ...' style
5497
5498 2005-10-15  Frank Warmerdam  <warmerdam@pobox.com>
5499
5500         * tif_write.c: fixed setting of planarconfig as per bug report
5501         on the mailing list from Joris.
5502
5503 2005-10-07  Andrey Kiselev  <dron@ak4719.spb.edu>
5504
5505         * configure.ac, configure, nmake.opt, libtiff/{tif_config.h,
5506         tif_dirread.c}: Make the default strip size configurable via the
5507         --with-default-strip-size and STRIP_SIZE_DEFAULT options.
5508
5509 2005-09-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5510
5511         * html/support.html: Fixed link to documentation on Greg Ward's
5512         LogLuv TIFF format.
5513
5514 2005-09-28  Andrey Kiselev  <dron@ak4719.spb.edu>
5515
5516         * tools/tiffdump.c: Fixed crash when reading malformed tags.
5517
5518 2005-09-20  Andrey Kiselev  <dron@ak4719.spb.edu>
5519
5520         * tools/tiff2pdf.c: Added missed 'break' statement as per bug
5521         http://bugzilla.remotesensing.org/show_bug.cgi?id=932
5522
5523 2005-09-12  Andrey Kiselev  <dron@ak4719.spb.edu>
5524
5525         * libtiff 3.7.4 released.
5526
5527         * {configure, configure.ac, Makefile.am, autogen.sh}: Applied patch
5528         from Patrick Welche (all scripts moved in the 'config' and 'm4'
5529         directories).
5530
5531 2005-09-12  Frank Warmerdam  <warmerdam@pobox.com>
5532
5533         * libtiff/tif_open.c: reintroduce seek to avoid problem on solaris.
5534
5535 2005-09-05  Frank Warmerdam  <warmerdam@pobox.com>
5536
5537         * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
5538         also set it to NULL to avoid double free when re-setting custom
5539         string fields as per:
5540
5541         http://bugzilla.remotesensing.org/show_bug.cgi?id=922
5542
5543 2005-08-12  Frank Warmerdam  <warmerdam@pobox.com>
5544
5545         * libtiff/tif_print.c: avoid signed/unsigned warning.
5546
5547         * libtiff/tif_dirread.c: removed unused variable.
5548
5549 2005-07-30  Frank Warmerdam  <warmerdam@pobox.com>
5550
5551         * libtiff/tif_dir.c: Fixed up support for swapping "double complex"
5552         values (128 bits as 2 64 bits doubles).  GDAL gcore tests now
5553         pass on bigendian (macosx) system.
5554
5555 2005-07-28  Andrey Kiselev  <dron@ak4719.spb.edu>
5556
5557         * libtiff/{tif_aux.c, tif_dirread.c, tif_fax3.c, tiffiop.h}: Rename
5558         CheckMalloc() function to _TIFFCheckMalloc() and make it available
5559         globally as an internal helper routine.
5560
5561 2005-07-27  Andrey Kiselev  <dron@ak4719.spb.edu>
5562
5563         * libtiff/tif_dir.c: More improvements in the "pass by value" part of
5564         the custom tags handling code.
5565
5566 2005-07-26  Andrey Kiselev  <dron@ak4719.spb.edu>
5567
5568         * libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to
5569         SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples()
5570         function, use TIFFFetchNormalTag() instead as per bug
5571
5572         http://bugzilla.remotesensing.org/show_bug.cgi?id=831
5573
5574         Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
5575         instead.
5576
5577         * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug
5578
5579         http://bugzilla.remotesensing.org/show_bug.cgi?id=39
5580
5581 2005-07-25  Andrey Kiselev  <dron@ak4719.spb.edu>
5582
5583         * libtiff/tif_print.c: Fixed printing of the BYTE and SBYTE arrays.
5584
5585         * tools/tiffdump.c: Added support for TIFF_IFD datatype.
5586
5587 2005-07-21  Andrey Kiselev  <dron@ak4719.spb.edu>
5588
5589         * libtiff/tif_write.c: Do not check the PlanarConfiguration field in
5590         the TIFFWriteCheck() function in case of single band images (as per
5591         TIFF spec).
5592
5593 2005-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>
5594
5595         * SConstruct, libtiff/SConstruct: Added the first very preliminary
5596         support for SCons software building tool (http://www.scons.org/).
5597         This is experimental infrastructure and it will exist along with the
5598         autotools mechanics.
5599
5600 2005-07-07  Andrey Kiselev  <dron@ak4719.spb.edu>
5601
5602         * port/{getopt.c, strcasecmp.c, strtoul.c}: Update modules from
5603         the NetBSD source tree (the old 4-clause BSD license changed to
5604         the new 3-clause one).
5605
5606         * configure.ac, port/lfind.c, libtiff/tiffiop.h: Added lfind()
5607         replacement module.
5608
5609         * port/dummy.c: Make the dummy function static.
5610
5611 2005-07-06  Andrey Kiselev  <dron@ak4719.spb.edu>
5612
5613         * tools/tiffcp.c: Fixed WhitePoint tag copying.
5614
5615         * libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}:
5616         Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera,
5617         ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom.
5618
5619 2005-07-04  Andrey Kiselev  <dron@ak4719.spb.edu>
5620
5621         * libtiff 3.7.3 released.
5622
5623         * configure, configure.ac: Do not use empty -R option when linking
5624         with --enable-rpath.
5625
5626 2005-07-01  Andrey Kiselev  <dron@ak4719.spb.edu>
5627
5628         * libtiff/{tiffiop.h, tif_open.c}: Added open option 'h' to avoid
5629         reading the first IFD when needed. As per bug
5630
5631         http://bugzilla.remotesensing.org/show_bug.cgi?id=875
5632
5633         * libtiff/tif_color.c: Better use of TIFFmin() macro to avoid side
5634         effects.
5635
5636 2005-06-23  Andrey Kiselev  <dron@ak4719.spb.edu>
5637
5638         * tools/tiff2pdf.c: Print two characters per loop in the
5639         t2p_write_pdf_trailer(). As per bug
5640
5641         http://bugzilla.remotesensing.org/show_bug.cgi?id=594
5642
5643         * tools/tiffgt.c: Use MacOS X OpenGL framework when appropriate. As
5644         per bug
5645
5646         http://bugzilla.remotesensing.org/show_bug.cgi?id=844
5647
5648         * acinclude.m4: Updated to latest OpenGL test macros versions.
5649
5650         * libtiff/tiff.h: Use correct int size on Sparc 64bit/Sun compiler
5651         platform. As per bug
5652
5653         http://bugzilla.remotesensing.org/show_bug.cgi?id=855
5654
5655 2005-06-14  Andrey Kiselev  <dron@ak4719.spb.edu>
5656
5657         * libtiff/tif_dirinfo.c: Added support for ClipPath, XClipPathUnits
5658         and YClipPathUnits tags.
5659
5660 2005-06-07  Andrey Kiselev  <dron@ak4719.spb.edu>
5661
5662         * contrib/addtiffo/tif_ovrcache.c: Properly extract tile/strip size;
5663         use pixel sized shift in contigous case.
5664
5665 2005-06-06  Andrey Kiselev  <dron@ak4719.spb.edu>
5666
5667         * contrib/addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}:
5668         Make overviews working for contiguos images.
5669
5670 2005-06-03  Andrey Kiselev  <dron@ak4719.spb.edu>
5671
5672         * libtiff/tif_open.c: Replace runtime endianness check with the compile
5673         time one.
5674
5675         * libtiff/tif_predict.c: Floating point predictor now works on
5676         big-endian hosts.
5677
5678 2005-06-01  Andrey Kiselev  <dron@ak4719.spb.edu>
5679
5680         * libtiff/tif_dir.c: Use _TIFFsetString() function when read custom
5681         ASCII values.
5682
5683         * libtiff/{tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c}: Make
5684         DocumentName, Artist, HostComputer, ImageDescription, Make, Model,
5685         Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and
5686         TargetPrinter tags custom.
5687
5688         * libtiff/tif_jpeg.c: Cleanup the codec state depending on
5689         TIFF_CODERSETUP flag (to fix memry leaks).
5690
5691         * libtiff/tif_jpeg.c: Initialize JPEGTables array with zero after
5692         allocating.
5693
5694 2005-05-26  Andrey Kiselev  <dron@ak4719.spb.edu>
5695
5696         * configure.ac, libtiff/Makefile.am: Added workaround for
5697         OpenBSD/MirOS soname problem as per bug
5698
5699         http://bugzilla.remotesensing.org/show_bug.cgi?id=838
5700
5701         * libtiff/tif_dirwrite.c: Use tdir_count when calling
5702         TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as
5703         per bug
5704
5705         http://bugzilla.remotesensing.org/show_bug.cgi?id=845
5706
5707 2005-05-25  Andrey Kiselev  <dron@ak4719.spb.edu>
5708
5709         * tools/ppm2tiff.c: Fixed format string when read PPM file header with
5710         the fscanf() function. As per bug
5711
5712         http://bugzilla.remotesensing.org/show_bug.cgi?id=861
5713
5714         * libtiff/{tif_dirinfo.c, tif_print.c}: TIFFFetchByteArray() returns
5715         uint16 array when fetching the BYTE and SBYTE filds, so we should
5716         consider result as pointer to uint16 array and not as array of chars.
5717         As per bug
5718
5719         http://bugzilla.remotesensing.org/show_bug.cgi?id=831
5720
5721         * libtiff/tif_dir.c: More efficient custom tags retrieval as per bug
5722
5723         http://bugzilla.remotesensing.org/show_bug.cgi?id=830
5724
5725         * libtiff/tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share
5726         mode in CreateFile() call as per bug
5727
5728         http://bugzilla.remotesensing.org/show_bug.cgi?id=829
5729
5730         * libtiff/Makefile.am: Fixed parallel compilation of the libtiff and
5731         libtiffxx libraries as per bug
5732
5733         http://bugzilla.remotesensing.org/show_bug.cgi?id=826
5734
5735         * contrib/addtiffo/{tif_overview.c, tif_ovrcache.h}: Sinchronized with
5736         GDAL.
5737
5738 2005-05-23  Frank Warmerdam  <warmerdam@pobox.com>
5739
5740         * libtiff/tif_jpeg.c: Substantial fix for addtiffo problems with
5741         JPEG encoded TIFF files.  Pre-allocate lots of space for jpegtables
5742         in directory.
5743
5744 2005-05-22  Frank Warmerdam  <warmerdam@pobox.com>
5745
5746         * libtiff/tif_dirread.c: Changed the code that computes
5747         stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
5748         zero. This is a common case with GDAL indicating a "null" tile/strip.
5749
5750 2005-05-17  Andrey Kiselev  <dron@ak4719.spb.edu>
5751
5752         * tools/tiffsplit.c: Check for JPEGTables tag presence before copying.
5753
5754 2005-05-06  Frank Warmerdam  <warmerdam@pobox.com>
5755
5756         * libtiff/tif_dirread.c: Applied similar change to
5757         TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys.
5758
5759         http://bugzilla.remotesensing.org/show_bug.cgi?id=843
5760
5761         * libtiff/tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw().
5762
5763 2005-05-06  Andrey Kiselev  <dron@ak4719.spb.edu>
5764         * tools/tiff2pdfr.c, man/tiff2pdf.1: Calculate the tile width properly;
5765         added new option '-b' to use interpolation in output PDF files (Bruno
5766         Ledoux).
5767
5768 2005-05-05  Frank Warmerdam  <warmerdam@pobox.com>
5769
5770         * libtiff/tif_dirread.c: Ensure that broken files with too many
5771         values in PerSampleShorts work ok instead of crashing.
5772
5773         http://bugzilla.remotesensing.org/show_bug.cgi?id=843
5774
5775 2005-04-27  Andrey Kiselev  <dron@ak4719.spb.edu>
5776
5777         * tools/tiffdither.c: Copy the PhotometricInterpretation tag from the
5778         input file.
5779
5780 2005-04-15  Andrey Kiselev  <dron@ak4719.spb.edu>
5781
5782         * libtiff/tif_predict.c: Added ability to encode floating point
5783         predictor, as per TIFF Technical Note 3.
5784
5785 2005-04-14  Andrey Kiselev  <dron@ak4719.spb.edu>
5786
5787         * libtiff/{tif_predict.h, tif_predict.c}: Added ability to decode
5788         floating point predictor, as per TIFF Technical Note 3.
5789
5790 2005-04-13  Andrey Kiselev  <dron@ak4719.spb.edu>
5791
5792         * libtiff/{tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c}:
5793         Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to
5794         swap 24-bit floating point values.
5795
5796         * libtiff/tiff.h: Added predictor constants.
5797
5798 2005-04-08  Andrey Kiselev  <dron@ak4719.spb.edu>
5799
5800         * libtiff/{tiffiop.h, tif_dir.c}: Use uint32 type for appropriate
5801         values in _TIFFVSetField() function. Inspired by the bug
5802
5803         http://bugzilla.remotesensing.org/show_bug.cgi?id=816
5804
5805         * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag
5806         as per bug
5807
5808         http://bugzilla.remotesensing.org/show_bug.cgi?id=816
5809
5810 2005-03-30  Andrey Kiselev  <dron@ak4719.spb.edu>
5811
5812         * libtiff/tif_open.c: Do not read header in case the output file
5813         should be truncated (Ron).
5814
5815         * libtiff/{tif_dirinfo.c, tif_config.h.vc}: Use lfind() instead
5816         of bsearch() in _TIFFFindFieldInfoByName() function (Ron).
5817
5818         * libtiff/{tiff.h, tif_dirinfo.c}: Fixes in EXIF tag ordering (Ron).
5819
5820 2005-03-22  Andrey Kiselev  <dron@ak4719.spb.edu>
5821
5822         * configure.ac, libtiff/Makefile.am: Use libtool machinery to pass
5823         rpath option.
5824
5825 2005-03-21  Andrey Kiselev  <dron@ak4719.spb.edu>
5826
5827         * libtiff/{tif_dir.c, tif_print.c}: Handle all data types in custom
5828         tags.
5829
5830 2005-03-18  Andrey Kiselev  <dron@ak4719.spb.edu>
5831
5832         * libtiff/dirinfo.c: Added DNG tags.
5833
5834         * libtiff/{tif_dir.c, tif_print.c}: More improvements in custom tag
5835         handling code.
5836
5837         * libtiff/tiff.h: More comments; added missed DNG tag (LensInfo);
5838         added DNG 1.1.0.0 tags.
5839
5840         * tools/tif2pdf.c: Fixed problem with alpha channel handling as per
5841         bug
5842
5843         http://bugzilla.remotesensing.org/show_bug.cgi?id=794
5844
5845         * man/TIFFGetField.3tiff: Add a note about autoregistered tags.
5846
5847 2005-03-17  Andrey Kiselev  <dron@ak4719.spb.edu>
5848
5849         * nmake.opt: Build with Win32 CRT library by default.
5850
5851         * tools/tiff2ps.c: Fixed typo in page size handling code.
5852
5853         * libtiff/{tif_dir.c, tif_print.c}: Support for custom tags, passed
5854         by value.
5855
5856         * libtiff/{tiff.h, tif_dirinfo.c, tiffiop.h}: Added EXIF related tags.
5857
5858 2005-03-15  Andrey Kiselev  <dron@ak4719.spb.edu>
5859
5860         * libtiff 3.7.2 released.
5861
5862 2005-03-09  Andrey Kiselev  <dron@ak4719.spb.edu>
5863
5864         * tools/tiffcmp.c: Added ability to compare the 32-bit integer and
5865         floating point data; complain on unsupported bit depths.
5866
5867 2005-03-05  Andrey Kiselev  <dron@ak4719.spb.edu>
5868
5869         * tif_stream.cxx: Use ios namespace instead of ios_base to support
5870         GCC 2.95.
5871
5872         * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied correct patch from
5873         Lee Howard for HylaFax DCS tag
5874         (see http://bugzilla.remotesensing.org/show_bug.cgi?id=771)
5875
5876 2005-03-04  Andrey Kiselev  <dron@ak4719.spb.edu>
5877
5878         * configure, configure.ac: Use -rpath option instead of -R as per bug
5879
5880         http://bugzilla.remotesensing.org/show_bug.cgi?id=732
5881
5882         * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied patch from Lee
5883         Howard to support a new tag TIFFTAG_FAXDCS (34911) used in HylaFax
5884         software. As per bug
5885
5886         http://bugzilla.remotesensing.org/show_bug.cgi?id=771
5887
5888         * nmake.opt, html/build.html: Add more comments, change the config
5889         file organization a bit as per bug
5890
5891         http://bugzilla.remotesensing.org/show_bug.cgi?id=764
5892
5893         * tools/tiffcmp.c: Use properly sized buffer in short arrays comparison
5894         as per bug
5895
5896         http://bugzilla.remotesensing.org/show_bug.cgi?id=785
5897
5898 2005-03-03  Andrey Kiselev  <dron@ak4719.spb.edu>
5899
5900         * libtiff/tif_dirread.c: More logic to guess missed strip size as per
5901         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=705
5902
5903         * tools/fax2ps.c: Replace insecure mktemp() function with the
5904         tmpfile() as per bug
5905
5906         http://bugzilla.remotesensing.org/show_bug.cgi?id=786
5907
5908 2005-02-04  Andrey Kiselev  <dron@ak4719.spb.edu>
5909
5910         * libtiff/tiff.h: Changed the int8 definition to be always signed char
5911         as per bug
5912
5913         http://bugzilla.remotesensing.org/show_bug.cgi?id=727
5914
5915         * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{}
5916         block as per bug
5917
5918         http://bugzilla.remotesensing.org/show_bug.cgi?id=763
5919
5920 2005-02-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5921
5922         * tools/tiffgt.c: Fix problem on big-endian CPUs so that images
5923         display more correctly.  Images display brighter than they should
5924         on a Sun workstation.
5925
5926 2005-02-03  Andrey Kiselev  <dron@ak4719.spb.edu>
5927
5928         * libtiff/tif_dirread.c: Estimate strip size in case of wrong or
5929         suspicious values in the tags. As per bugs
5930
5931         http://bugzilla.remotesensing.org/show_bug.cgi?id=705
5932
5933         and
5934
5935         http://bugzilla.remotesensing.org/show_bug.cgi?id=320
5936
5937         * tools/tiff2ps.c: Fixed problem with page sizes as per bug
5938
5939         http://bugzilla.remotesensing.org/show_bug.cgi?id=742
5940
5941 2005-01-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
5942
5943         * libtiff/tiff.h (TIFFTAG_TILEWIDTH): Corrected description.
5944         (TIFFTAG_TILELENGTH): Corrected description.
5945
5946 2005-01-30  Andrey Kiselev  <dron@ak4719.spb.edu>
5947
5948         * configure.ac: Fixes for --with-docdir option as per bug
5949
5950         http://bugzilla.remotesensing.org/show_bug.cgi?id=759
5951
5952         * libtiff/tif_open.c: Remove unnesessary TIFFSeekFile() call as per
5953         bug
5954
5955         http://bugzilla.remotesensing.org/show_bug.cgi?id=756
5956
5957         * libtiff/tif_stream.cxx: Fixes for C++ stream interface from
5958         Michael Rinne and Edward Lam.
5959
5960 2005-01-15  Andrey Kiselev  <dron@ak4719.spb.edu>
5961
5962         * configure.ac: Make the documentation directory location configurable
5963         via the --with-docdir option (as suggested by Jeremy C. Reed).
5964
5965         * libtiff/tif_color.c: Use double as the second argument of pow()
5966         function in TIFFCIELabToRGBInit(). As per bug
5967
5968         http://bugzilla.remotesensing.org/show_bug.cgi?id=741
5969
5970         * libtiff/tif_pixarlog.c: Avoid warnings when converting float to
5971         integer as per bug
5972
5973         http://bugzilla.remotesensing.org/show_bug.cgi?id=740
5974
5975         * libtiff/tif_getimage.c: Always fill the error message buffer in
5976         TIFFRGBAImageBegin() as per bug
5977
5978         http://bugzilla.remotesensing.org/show_bug.cgi?id=739
5979
5980 2005-01-12  Andrey Kiselev  <dron@ak4719.spb.edu>
5981
5982         * libtiff/tif_jpeg.c: Added ability to read/write the fax specific
5983         TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS and TIFFTAG_FAXRECVTIME
5984         tags as per bug
5985
5986         http://bugzilla.remotesensing.org/show_bug.cgi?id=736
5987
5988         * libtiff/tif_win32.c: Fixed message formatting in functions
5989         Win32WarningHandler() and Win32ErrorHandler() as per bug
5990
5991         http://bugzilla.remotesensing.org/show_bug.cgi?id=735
5992
5993         * tools/tiff2ps.c: Interpret the -w and -h options independently. As
5994         per bug
5995
5996         http://bugzilla.remotesensing.org/show_bug.cgi?id=689
5997
5998 2005-01-11  Andrey Kiselev  <dron@ak4719.spb.edu>
5999
6000         * libtiff/tiffio.h: Move the color conversion routines in the 'extern
6001         "C"' section as per bug
6002
6003         http://bugzilla.remotesensing.org/show_bug.cgi?id=727
6004
6005         * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C
6006         compiler to avoid double definition of BSD types as per bug
6007
6008         http://bugzilla.remotesensing.org/show_bug.cgi?id=39
6009
6010         * libtiff/Makefile.am: Place the C++ stream API in the separate
6011         library called libtiffxx to avoid unneeded dependencies. Probably
6012         there will be more C++ API in the future. As per bugs
6013
6014         http://bugzilla.remotesensing.org/show_bug.cgi?id=733
6015
6016         and
6017
6018         http://bugzilla.remotesensing.org/show_bug.cgi?id=730
6019
6020 2005-01-05  Andrey Kiselev  <dron@ak4719.spb.edu>
6021
6022         * tools/tiffdump.c: Fixed problem when read broken TIFFs with the
6023         wrong tag counts (Dmitry V. Levin, Martin Pitt).
6024
6025         * configure.ac: Replace --disable-c++ with the --disable-cxx option as
6026         per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=730
6027
6028 2004-12-25  Andrey Kiselev  <dron@ak4719.spb.edu>
6029
6030         * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled
6031         RGB-images as per bug
6032
6033         http://bugzilla.remotesensing.org/show_bug.cgi?id=713
6034
6035
6036         * tools/tiffset.c: Convert character option to integer value as per
6037         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=725
6038
6039 2004-12-20  Andrey Kiselev  <dron@ak4719.spb.edu>
6040
6041         * libtiff 3.7.1 released.
6042
6043         * html/tiffset.1.html: Add missed manual page as per bug
6044
6045         http://bugzilla.remotesensing.org/show_bug.cgi?id=678
6046
6047         * libtiff/tiff.h: Revert back libtiff data type definitions as per
6048         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=687
6049
6050 2004-12-19  Andrey Kiselev  <dron@ak4719.spb.edu>
6051
6052         * libtiff/tif_dirread.c: Do not forget about TIFF_VARIABLE2 when
6053         checking for tag count in TIFFReadDirectory() function. As per bug
6054
6055         http://bugzilla.remotesensing.org/show_bug.cgi?id=713
6056
6057         * libtiff/{tif_dirread.c, tif_fax3.c}: More argument checking in
6058         CheckMallock() function.
6059
6060         * libtiff/tif_getimage.c: Support for multiple-alpha-channelled
6061         RGB-images as per bug
6062
6063         http://bugzilla.remotesensing.org/show_bug.cgi?id=718
6064
6065 2004-12-15  Frank Warmerdam  <warmerdam@pobox.com>
6066
6067         * libtiff/tif_getimage.c: #define A1 bracketing for clean build on
6068         SunPro compiler.
6069
6070 2004-12-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6071
6072         * autogen.sh: aclocal and autoheader should be executed after
6073         libtoolize.  Also add '-I .' to aclocal invocation to check
6074         current directory for macros.
6075
6076 2004-12-10  Andrey Kiselev  <dron@ak4719.spb.edu>
6077
6078         * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
6079         as per bugs
6080
6081         http://bugzilla.remotesensing.org/show_bug.cgi?id=703
6082
6083         and
6084
6085         http://bugzilla.remotesensing.org/show_bug.cgi?id=704
6086
6087 2004-12-04  Andrey Kiselev  <dron@ak4719.spb.edu>
6088
6089         * nmake.opt: Link with the user32.lib in windowed mode. As per bug
6090
6091         http://bugzilla.remotesensing.org/show_bug.cgi?id=697
6092
6093         * libtiff/tif_win32.c: Use char* strings instead of TCHAR in windowed
6094         mode as per bug
6095
6096         http://bugzilla.remotesensing.org/show_bug.cgi?id=697
6097
6098         * libtiff/tif_config.in.vc: Removed unneded definitions for
6099         read/open/close/lseek functions to fix the
6100
6101         http://bugzilla.remotesensing.org/show_bug.cgi?id=680
6102
6103 2004-12-03  Andrey Kiselev  <dron@ak4719.spb.edu>
6104
6105         * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore()
6106         call from the TIFFReadDirectory() function. TIFFReassignTagToIgnore
6107         must be removed in the future, as it was never used properly. As per
6108         bug
6109
6110         http://bugzilla.remotesensing.org/show_bug.cgi?id=692
6111
6112 2004-11-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6113
6114         * libtiff/tif_jpeg.c: Added a work-around in order to allow
6115         compilation with the heavily modified version of libjpeg delivered
6116         with Cygwin.
6117
6118 2004-11-29  Andrey Kiselev  <dron@ak4719.spb.edu>
6119
6120         * libtiff/tif_dir.c: Properly handle tags, which have the uint32
6121         counts. As per bug
6122
6123         http://bugzilla.remotesensing.org/show_bug.cgi?id=693
6124
6125         * tools/fax2ps.c: Be able to extract the first page (#0). As per bug
6126
6127         http://bugzilla.remotesensing.org/show_bug.cgi?id=690
6128
6129 2004-11-28  Andrey Kiselev  <dron@ak4719.spb.edu>
6130
6131         * libtiff/tif_unix.c: Make UNIX module compilable (and usable)
6132         on Windows.
6133
6134         * nmake.opt: Add missed DLLNAME variable.
6135
6136 2004-11-26  Frank Warmerdam  <warmerdam@pobox.com>
6137
6138         * libtiff/makefile.vc: make it easier to rename the libtiff DLL.
6139
6140 2004-11-24  Andrey Kiselev  <dron@ak4719.spb.edu>
6141
6142         * man/libtiff.3tiff: Improvements in the "LIST OF ROUTINES" table as
6143         per bug
6144
6145         http://bugzilla.remotesensing.org/show_bug.cgi?id=545
6146
6147         * man/tiffset.1: Added manual page for tiffset tool written by Jay
6148         Berkenbilt. As per bug
6149
6150         http://bugzilla.remotesensing.org/show_bug.cgi?id=678
6151
6152 2004-11-23  Frank Warmerdam  <warmerdam@pobox.com>
6153
6154         * libtiff/tif_error.c: fixed TIFFerror call to be TIFFError.
6155
6156 2004-11-21  Frank Warmerdam  <warmerdam@pobox.com>
6157
6158         * html/document.html: Updated Adobe web links as per email from Joris.
6159
6160 2004-11-21  Andrey Kiselev  <dron@ak4719.spb.edu>
6161
6162         * libtiff/{tiffio.hxx, tiffio.h}: C++ stream interface moved to new
6163         file tiffio.hxx. We don't have any C++ in tiffio.h, those who want to
6164         use C++ streams should #include <tiffio.hxx>.
6165
6166 2004-11-13  Andrey Kiselev  <dron@ak4719.spb.edu>
6167
6168         * libtiff/tiff.h: Added Adobe DNG tags.
6169
6170         * libtiff/tif_win32.c: Typo fixed.
6171
6172         * libtiff/{tif_stream.cxx, tiffio.h}: C++ stream interface updated to
6173         be compliant with the latest standard. Appropriate additions in
6174         makefiles now completed.
6175
6176 2004-11-11  Andrey Kiselev  <dron@ak4719.spb.edu>
6177
6178         * tools/tiffset.c, libtiff/tif_dirinfo.c: Properly handle the
6179         different tag types. As per bug
6180
6181         http://bugzilla.remotesensing.org/show_bug.cgi?id=600
6182
6183 2004-11-10  Andrey Kiselev  <dron@ak4719.spb.edu>
6184
6185         * libtiff/tif_aux.c: Set the appropriate ReferenceBlackWhite array for
6186         YCbCr image which lacks that tag (noted by Hans Petter Selasky).
6187
6188 2004-11-09  Andrey Kiselev  <dron@ak4719.spb.edu>
6189
6190         * libtiff/tif_color.c: Division by zero fixed (Hans Petter Selasky).
6191
6192 2004-11-07  Andrey Kiselev  <dron@ak4719.spb.edu>
6193
6194         * libtiff/{tif_stream.cxx, tiffio.h}: Added C++ stream interface
6195         contributed by Edward Lam (see
6196         http://bugzilla.remotesensing.org/show_bug.cgi?id=654 for details).
6197         Though no changes in any makefiles yet.
6198
6199 2004-11-05  Frank Warmerdam  <warmerdam@pobox.com>
6200
6201         * libtiff/tif_open.c: Removed close() in TIFFClientOpen() if file
6202         is bad. This is the callers responsibility.
6203         http://bugzilla.remotesensing.org/show_bug.cgi?id=651
6204
6205 2004-11-05  Andrey Kiselev  <dron@ak4719.spb.edu>
6206
6207         * libtiff/{tiffio.h, tif_win32.c, libtiff.def}: Added TIFFOpenW()
6208         function to work with the double byte strings (used to represent
6209         filenames in some locales). As per bug
6210
6211         http://bugzilla.remotesensing.org/show_bug.cgi?id=625
6212
6213         * libtiff/tif_dirread.c: Fixed problem when fetching BitsPerSample and
6214         Compression tags of type LONG from broken TIFFS as per bug
6215
6216         http://bugzilla.remotesensing.org/show_bug.cgi?id=662
6217
6218         * libtiff/tif_dirinfo.c: Fixed definition for TIFFTAG_RICHTIFFIPTC,
6219         the writecount should have uint32 type. As per bug
6220
6221         http://bugzilla.remotesensing.org/show_bug.cgi?id=662
6222
6223         * libtiff/tif_write.c: Fixed wrong if() statement in
6224         TIFFAppendToStrip() function as per bug
6225
6226         http://bugzilla.remotesensing.org/show_bug.cgi?id=660
6227
6228 2004-11-04  Andrey Kiselev  <dron@ak4719.spb.edu>
6229
6230         * libtiff/tif_dirinfo.c: Change definition for TIFFTAG_EXTRASAMPLES
6231         field. The caller should supply a count when setting this field. As
6232         per bug
6233
6234          http://bugzilla.remotesensing.org/show_bug.cgi?id=648
6235
6236         * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have
6237         uint32 count. Use this type everywhere.
6238
6239 2004-11-03  Frank Warmerdam  <warmerdam@pobox.com>
6240
6241         * libtiff/tif_next.c: avoid use of u_long and u_char types.  Bug 653.
6242
6243 2004-11-02  Frank Warmerdam  <warmerdam@pobox.com>
6244
6245         * tools/tiff2rgba.c: removed extra newlines in usage message.
6246
6247 2004-10-30  Andrey Kiselev  <dron@ak4719.spb.edu>
6248
6249         * libtiff/tif_dirwrite.c: Improvements in tag writing code.
6250
6251         * tools/tiff2ps.c: Fixed wrong variable data type when read Position
6252         tags (Tristan Hill).
6253
6254 2004-10-30  Frank Warmerdam  <warmerdam@pobox.com>
6255
6256         * libtiff/tiffiop.h: added fallback definition of assert() if we
6257         don't have assert.h.
6258
6259 2004-10-29  Andrey Kiselev  <dron@ak4719.spb.edu>
6260
6261         * libtiff/tif_fax3.c: Fixed case with the wrong decode routines
6262         choosing when the incorrect Group4Options tag set. As per bug
6263
6264         http://bugzilla.remotesensing.org/show_bug.cgi?id=323
6265
6266         * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of
6267         wrong type when writing the TIFF_BYTE/TIFF_SBYTE tags in
6268         TIFFWriteNormalTag().
6269
6270 2004-10-28  Andrey Kiselev  <dron@ak4719.spb.edu>
6271
6272         * tools/tiff2ps.c: Fixed wrong variable data type when read Resolution
6273         tags (Peter Fales).
6274
6275         * tools/{bmp2tiff.c, raw2tiff.c}: Get rid of stream I/O functions.
6276
6277 2004-10-28  Frank Warmerdam  <warmerdam@pobox.com>
6278
6279         * tools/tiff2pdf.c: added casts to avoid warnings.
6280
6281         * libtiff/libtiff.def: Added several more entry points required
6282         to link fax2tiff.c against the DLL on windows.
6283
6284 2004-10-27  Andrey Kiselev  <dron@ak4719.spb.edu>
6285
6286         * configure, configure.ac: Added --enable-rpath option to embed linker
6287         paths into library binary.
6288
6289 2004-10-26  Andrey Kiselev  <dron@ak4719.spb.edu>
6290
6291         * tools/tiffset.c: Check the malloc return value (Dmitry V. Levin).
6292
6293         * libtiff/{tif_strip.c, tif_tile.c}: Zero division problem fixed
6294         (Vladimir Nadvornik, Dmitry V. Levin).
6295
6296 2004-10-16  Andrey Kiselev  <dron@ak4719.spb.edu>
6297
6298         * libtiff 3.7.0 released.
6299
6300 2004-10-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6301
6302         * libtiff/tif_jpeg.c: There seems to be no need to include stdio.h
6303         in this file so its inclusion is removed.  Including stdio.h
6304         sometimes incurs an INT32 typedef conflict between MinGW's
6305         basetsd.h and libjpeg's jmorecfg.h.
6306
6307 2004-10-15  Andrey Kiselev  <dron@ak4719.spb.edu>
6308
6309         * man/bmp2tiff.1: Added manual page for bmp2tiff utility.
6310
6311 2004-10-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6312
6313         * tools/tiffcmp.c (leof): Renamed from 'eof' in order to avoid
6314         conflict noticed under MinGW.
6315         * ltmain.sh: Fix for MinGW compilation.
6316
6317 2004-10-13  Frank Warmerdam  <warmerdam@pobox.com>
6318
6319         * man/tiffsplit.1: Fixed to indicate using aaa-zzz, not aa-zz.
6320         http://bugzilla.remotesensing.org/show_bug.cgi?id=635
6321
6322 2004-10-12  Andrey Kiselev  <dron@ak4719.spb.edu>
6323
6324         * libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c,
6325         tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes
6326         properly (Dmitry V. Levin, Marcus Meissner).
6327
6328 2004-10-11  Andrey Kiselev  <dron@ak4719.spb.edu>
6329
6330         * libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed
6331         to TIFF_IFD.
6332
6333 2004-10-10  Andrey Kiselev  <dron@ak4719.spb.edu>
6334
6335         * tools/bmp2tif.c: Check the space allocation results.
6336
6337 2004-10-09  Andrey Kiselev  <dron@ak4719.spb.edu>
6338
6339         * libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields
6340         of the TIFFDirectory structure with the 0 instead of -1 to avoid
6341         confusing integer overflows in TIFFTileRowSize() for striped images.
6342
6343         * tools/tiff2pdf.c: Fixed TransferFunction tag handling reported
6344         by Ross A. Finlayson.
6345
6346         * libtiff/tif_dir.c: Fixed custom tags handling as per bug
6347
6348         http://bugzilla.remotesensing.org/show_bug.cgi?id=629
6349
6350 2004-10-08  Frank Warmerdam  <warmerdam@pobox.com>
6351
6352         * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
6353         of tif_fieldinfo.
6354
6355         http://bugzilla.remotesensing.org/show_bug.cgi?id=630
6356
6357 2004-10-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6358
6359         * contrib/iptcutil/README: Added the missing README which goes
6360         along with iptcutil.
6361
6362 2004-10-03  Andrey Kiselev  <dron@ak4719.spb.edu>
6363
6364         * libtiff/tif_compress.c: Improved error reporting in
6365         TIFFGetConfiguredCODECs() (Dmitry V. Levin).
6366
6367 2004-10-02  Andrey Kiselev  <dron@ak4719.spb.edu>
6368
6369         * libtiff 3.7.0beta2 released.
6370
6371         * libtiff/{tif_aux.c, tif_compress.c, tif_dirinfo.c, tif_dirwrite.c,
6372         tif_extension.c, tif_fax3.c, tif_luv.c, tif_packbits.c,
6373         tif_pixarlog.c, tif_write.c}: Added checks for failed memory
6374         allocations and integer overflows (Dmitry V. Levin).
6375
6376         * libtiff/tiff.h: Missed TIFF_BIGTIFF_VERSION constant added.
6377
6378 2004-10-01  Frank Warmerdam  <warmerdam@pobox.com>
6379
6380         * libtiff/tif_open.c: added a more informative message if a BigTIFF
6381         file is opened.
6382
6383 2004-09-30  Frank Warmerdam  <warmerdam@pobox.com>
6384
6385         * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to
6386         TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
6387         in the Adobe XMP Specification.
6388
6389 2004-09-29  Andrey Kiselev  <dron@ak4719.spb.edu>
6390
6391         * libtiff/{tif_jpeg.c, tif_pixarlog.c}: Use _TIFFmemset() instead of
6392         memset().
6393
6394         * libtiff/{tif_dirread.c, tif_strip.c, tif_tile.c}: Applied patches
6395         from Dmitry V. Levin to fix possible integer overflow problems.
6396
6397 2004-09-28  Andrey Kiselev  <dron@ak4719.spb.edu>
6398
6399         * libtiff/tif_getimage.c: Check for allocated buffers before clearing
6400         (Dmitry V. Levin).
6401
6402 2004-09-26  Andrey Kiselev  <dron@ak4719.spb.edu>
6403
6404         * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}:
6405         Optimize checking for the strip bounds.
6406
6407         * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and
6408         TIFFRasterScanlineSize() functions report zero in the case of integer
6409         overflow now. Properly handle this case in TIFFReadDirectory()
6410         (patches from Dmitry V. Levin).
6411
6412 2004-09-25  Andrey Kiselev  <dron@ak4719.spb.edu>
6413
6414         * libtiff/{tif_dirinfo.c, tif_strip.c, tif_tile.c}: Use TIFFhowmany8()
6415         macro where appropriate.
6416
6417         * tools/tiff2bw.c: Write ImageWidth/Height tags to output file, as
6418         noted by Gennady Khokhorin.
6419
6420         * libtiff/tif_dirread.c: Always check the return values, returned
6421         by the _TIFFmalloc() (Dmitry V. Levin).
6422
6423         * libtiff/tif_dir.c: Fixed possible integer overflow _TIFFset*Array()
6424         functions (Dmitry V. Levin).
6425
6426         * libtiff/{tif_dirread.c, tif_dir.c, tif_write.c}:
6427         Potential memory leak fixed in TIFFReadDirectory(), _TIFFVSetField(),
6428         TIFFGrowStrips() (found by Dmitry V. Levin).
6429
6430 2004-09-24  Andrey Kiselev  <dron@ak4719.spb.edu>
6431
6432         * libtiff/{tiffio.h, tif_compress.c}: Added TIFFGetConfiguredCODECs()
6433         to get the list of configured codecs.
6434
6435         * libtiff/{tiffiop.h, tif_dirread.c}: More overflow fixes from
6436         Dmitry V. Levin.
6437
6438 2004-09-23  Andrey Kiselev  <dron@ak4719.spb.edu>
6439
6440         * libtiff/tif_dirread.c: Applied patch from Dmitry V. Levin to fix
6441         possible integer overflow in CheckMalloc() function.
6442
6443 2004-09-22  Andrey Kiselev  <dron@ak4719.spb.edu>
6444
6445         * libtiff/{tiffiop.h, tif_strip.c}: Use TIFFhowmany8() macro instead
6446         of plain TIFFhowmany() where appropriate.
6447
6448 2004-09-21  Andrey Kiselev  <dron@ak4719.spb.edu>
6449
6450         * libtiff/tif_getimage.c: Initialize arrays after space allocation.
6451
6452 2004-09-19  Andrey Kiselev  <dron@ak4719.spb.edu>
6453
6454         * libtiff 3.7.0beta released.
6455
6456         * libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer
6457         overruns fixed, as noted by Chris Evans.
6458
6459 2004-09-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6460
6461         * commit: Added a script to make it more convenient to commit
6462         updates.  The CVS commit message is extracted from this ChangeLog
6463         file.
6464
6465 2004-09-14  Andrey Kiselev  <dron@ak4719.spb.edu>
6466
6467         * configure.ac, configure, aclocal.m4, libtiff/{mkspans.c, tif_fax3.c,
6468         tif_getimage.c, tif_luv.c, tif_lzw.c, tif_ojpeg.c, tif_packbits.c,
6469         tif_predict.c, tif_read.c, tif_swab.c, tif_thunder.c, tif_write.c,
6470         tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_jpeg.c, tif_dirinfo.c,
6471         tif_vms.c, tif_print.c, tif_strip.c, tif_tile.c, tif_dir.h,
6472         tif_config.h.in, tiffiop.h}:
6473         Get rid of BSD data types (u_char, u_short, u_int, u_long).
6474
6475 2004-09-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6476
6477         * libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP
6478         specification. Reference libtiff bug tracking system to submit
6479         private tag additions.
6480
6481 2004-09-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6482
6483         * tools/tiffgt.c: Include "tif_config.h".
6484
6485         * configure.ac: Use AM_PROG_CC_C_O since it is now needed to build
6486         tiffgt.  This results in the 'compile' script being added to the
6487         project.
6488
6489         * tools/Makefile.am (tiffgt_CFLAGS): Add extra build options
6490         required to find OpenGL headers necessary to build tiffgt.  Also
6491         ensure that the libtiff that we built is used rather than some other
6492         libtiff installed on the system.
6493
6494 2004-09-12  Andrey Kiselev  <dron@ak4719.spb.edu>
6495
6496         * configure.ac, acinclude.m4, aclocal.m4: New macros to detect GLUT
6497         libraries.
6498
6499 2004-09-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
6500
6501         * configure.ac: Pass library configuration defines via
6502         tif_config.h rather than extending CPPFLAGS. Configure a
6503         libtiff/tiffconf.h in order to satisfy application requirements
6504         (not used by library build). Do not define _POSIX_C_SOURCE=2 since
6505         this causes failure to build on systems which properly respect
6506         this request.
6507
6508         * libtiff/tiffconf.h.in: New file to act as the template for the
6509         configured tiffconf.h
6510
6511         * libtiff/files.lst (HDRS): Install the configured tiffconf.h.
6512
6513 2004-09-10  Frank Warmerdam  <warmerdam@pobox.com>
6514
6515         * html/internals.html: Split off a discussion of adding new tags
6516         into addingtags.html.
6517
6518 2004-09-10  Andrey Kiselev  <dron@ak4719.spb.edu>
6519
6520         * test/{ascii_tag.c, long_tag.c}: Preliminary test suite added.
6521
6522         * tools/tiff2pdf.c: Fixed reading TransferFunction tag as per bug
6523
6524         http://bugzilla.remotesensing.org/show_bug.cgi?id=590
6525
6526         * libtiff/tif_print.c: Fixes in InkNames and NumberOfInks reporting.
6527
6528         * libtiff/tif_dirread.c: Don't reject to read tags of the
6529         SamplesPerPixel size when the tag count is greater than number of
6530         samples as per bug
6531
6532         http://bugzilla.remotesensing.org/show_bug.cgi?id=576
6533
6534         * libtiff/tiff.h: Use _TIFF_DATA_TYPEDEFS_ guardian to switch off
6535         defining int8/uint8/... etc. types. As per bug
6536
6537         http://bugzilla.remotesensing.org/show_bug.cgi?id=607
6538
6539 2004-09-09  Frank Warmerdam  <warmerdam@pobox.com>
6540
6541         * tools/tiff2ps.c, tools/tiffmedian.c: fiddle with include files
6542         to avoid compile warnings about getopt() and a few other things.
6543
6544 2004-09-02  Andrey Kiselev  <dron@ak4719.spb.edu>
6545
6546         * libtiff/tif_dirread.c: Use memcpy() function instead of pointer
6547         assigning magic in TIFFFetchFloat().
6548
6549 2004-09-01  Andrey Kiselev  <dron@ak4719.spb.edu>
6550
6551         * libtiff/{tiffio.h, tif_open.c}: Applied patches from Joris Van Damme
6552         to avoid requirement for tiffiop.h inclusion in some applications. See
6553         here
6554
6555         http://www.asmail.be/msg0054799560.html
6556
6557         for details.
6558
6559         * tools/fax2tiff.c: Use the new functions in the code.
6560
6561 2004-08-25  Andrey Kiselev  <dron@ak4719.spb.edu>
6562
6563         * tools/tiff2pdf.c: Initialize arrays properly.
6564
6565         * tools/tiff2ps.c: Avoid zero division in setupPageState() function;
6566         properly initialize array in PSDataBW().
6567
6568 2004-08-24  Andrey Kiselev  <dron@ak4719.spb.edu>
6569
6570         * tools/tiff2pdf.c: More fixes for bug
6571
6572         http://bugzilla.remotesensing.org/show_bug.cgi?id=590
6573
6574         from Ross Finlayson.
6575
6576 2004-08-23  Andrey Kiselev  <dron@ak4719.spb.edu>
6577
6578         * tools/tiff2ps.c: Fixed problem with uninitialized values.
6579
6580         * libtiff/tif_dir.c: Initialize tif_foundfield data member in the
6581         TIFFDefaultDirectory() (in addition to 2004-08-19 fix).
6582
6583         * tools/tiff2pdf.c: Fixed a bunch of problems as per bug
6584
6585         http://bugzilla.remotesensing.org/show_bug.cgi?id=590
6586
6587 2004-08-20  Andrey Kiselev  <dron@ak4719.spb.edu>
6588
6589         * tools/tiff2pdf.c: Applied patch from Ross Finlayson that checks
6590         that the input file has compression, photometric interpretation,
6591         etcetra, tags or if not than a more descriptive error is returned.
6592
6593         * libtiff/tif_dirread.c: Fixed problem in TIFFReadDirectory() in the
6594         code, responsible for tag data type checking.
6595
6596 2004-08-19  Andrey Kiselev  <dron@ak4719.spb.edu>
6597
6598         * libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static
6599         variable as per bug
6600
6601         http://bugzilla.remotesensing.org/show_bug.cgi?id=593
6602
6603 2004-08-16  Andrey Kiselev  <dron@ak4719.spb.edu>
6604
6605         * tools/ras2tiff.c: Fixed issue with missed big-endian checks as per
6606         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=586
6607
6608 2004-08-01  Andrey Kiselev  <dron@ak4719.spb.edu>
6609
6610         * libtiff/{tif_config.h.in, tif_config.h.vc}: config.h.in and
6611         config.h.vc files renamed in the tif_config.h.in and tif_config.h.vc.
6612
6613 2004-07-24  Andrey Kiselev  <dron@ak4719.spb.edu>
6614
6615         * libtiff/tif_lzw.c: LZW compression code is merged back from the
6616         separate package. All libtiff tools are updated to not advertise an
6617         abcence of LZW support.
6618
6619 2004-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>
6620
6621         * libtiff/tiffio.h: Revert thandle_t back to void* type.
6622
6623 2004-07-11  Andrey Kiselev  <dron@ak4719.spb.edu>
6624
6625         * libtiff/{tif_read.c, tif_tile.c, tif_strip.c}: Fixes in error
6626         messages, as suggested by Bernd Herd.
6627
6628 2004-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>
6629
6630         * libtiff/tif_dir.c: Call TIFFError() instead of producing warnings
6631         when setting custom tags by value. Reported by Eric Fieleke.
6632
6633 2004-06-14  Andrey Kiselev  <dron@ak4719.spb.edu>
6634
6635         * tools/bmp2tiff.c: Add missed RawsPerStrip setting.
6636
6637 2004-06-08  Andrey Kiselev  <dron@ak4719.spb.edu>
6638
6639         * tools/bmp2tiff.c: Added new utility to convert Windows BMP files
6640         into TIFFs.
6641
6642 2004-06-07  Andrey Kiselev  <dron@ak4719.spb.edu>
6643
6644         * libtiff 3.7.0alpha released.
6645
6646 2004-06-06  Andrey Kiselev  <dron@ak4719.spb.edu>
6647
6648         * libtiff/{tiff.h, tif_dirwrite.c, tif_fax3.c, tif_packbits.c,}: Get rid
6649         of ugly 64-bit hacks, replace them with the clever (autoconf based )
6650         ones :-).
6651
6652         * libtiff/tiffio.h: Define thandle_t as int, not void* (may cause
6653         problems in 64-bit environment).
6654
6655 2004-06-05  Andrey Kiselev  <dron@ak4719.spb.edu>
6656
6657         * tools/tiffset.c: tiffset now can set any libtiff supported tags.
6658         Tags can be supplied by the mnemonic name or number.
6659
6660         * libtiff/{tiffio.h, tif_dir.h, tif_dirinfo.c,}: Added two new
6661         functions TIFFFindFieldInfoByName() and TIFFFieldWithName().
6662
6663 2004-05-27  Andrey Kiselev  <dron@ak4719.spb.edu>
6664
6665         * libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF
6666         markers as per bug
6667
6668         http://bugzilla.remotesensing.org/show_bug.cgi?id=581
6669
6670 2004-05-24  Andrey Kiselev  <dron@ak4719.spb.edu>
6671
6672         * tools/tiffsplit.c: Don't forget to copy Photometric
6673         Interpretation tag.
6674
6675 2004-05-20  Andrey Kiselev  <dron@ak4719.spb.edu>
6676
6677         * libtiff/{tif_open.c, tiffio.h}: New function added:
6678         TIFFIsBigEndian(). Function returns nonzero if given was file written
6679         in big-endian order.
6680
6681         * tools/tiffsplit.c: Fixed problem with unproperly written multibyte
6682         files. Now output files will be written using the same byte order
6683         flag as in the input image. See
6684
6685         http://bugzilla.remotesensing.org/show_bug.cgi?id=574
6686
6687         for details.
6688
6689 2004-05-19  Frank Warmerdam  <warmerdam@pobox.com>
6690
6691         * libtiff/tif_print.c: added (untested) support for printing
6692         SSHORT, SLONG and SRATIONAL fields.
6693
6694         * tools/tiffcp.c: close output file on normal exit.
6695
6696 2004-05-17  Andrey Kiselev  <dron@ak4719.spb.edu>
6697
6698         * libtiff/tif_fax3.c: Avoid reading CCITT compression options
6699         if compression type mismatches. See
6700
6701         http://bugzilla.remotesensing.org/show_bug.cgi?id=565
6702
6703 2004-04-30  Andrey Kiselev  <dron@ak4719.spb.edu>
6704
6705         * libtiff/tif_strip.c: Never return 0 from the
6706         TIFFNumberOfStrips().
6707
6708 2004-04-29  Andrey Kiselev  <dron@ak4719.spb.edu>
6709
6710         * libtiff/tif_dirread.c: Workaround for broken TIFF writers which
6711         store single SampleFormat value for multisampled images. See
6712
6713         http://bugzilla.remotesensing.org/show_bug.cgi?id=562
6714
6715 2004-04-25  Andrey Kiselev  <dron@ak4719.spb.edu>
6716
6717         * configure.ac, libtiff/{tiff.h, config.h.in}: Added tests for int8,
6718         int16 and int32 types to avoid complains on some compilers. Details at
6719
6720         http://bugzilla.remotesensing.org/show_bug.cgi?id=39
6721
6722 2004-04-20  Andrey Kiselev  <dron@ak4719.spb.edu>
6723
6724         * tools/tiff2pdf.c: Fixed problem with unaligned access as per bug
6725
6726         http://bugzilla.remotesensing.org/show_bug.cgi?id=555
6727
6728 2004-04-14  Andrey Kiselev  <dron@ak4719.spb.edu>
6729
6730         * libtiff/tif_write.c: Allow in-place updating of the compressed
6731         images (don't work properly with all codecs). For details see GDAL bug
6732
6733         http://bugzilla.remotesensing.org/show_bug.cgi?id=534
6734
6735 2004-04-06  Andrey Kiselev  <dron@ak4719.spb.edu>
6736
6737         * libtiff/tif_jpeg.c: Workaround for wrong sampling factors used
6738         in the Intergarph JPEG compressed TIFF images as per bug:
6739
6740         http://bugzilla.remotesensing.org/show_bug.cgi?id=532
6741
6742 2004-04-04  Frank Warmerdam  <warmerdam@pobox.com>
6743
6744         * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails
6745         via bad2.
6746
6747 2004-03-26  Andrey Kiselev  <dron@ak4719.spb.edu>
6748
6749         * tools/tiffcp.c: Properly set Photometric Interpretation in case of
6750         JPEG compression of grayscale images.
6751
6752         * tools/tiffcp.c: Don't emit warnings when Orientation tag does not
6753         present in the input image.
6754
6755 2004-03-19  Andrey Kiselev  <dron@ak4719.spb.edu>
6756
6757         * {many}: The first attempt to switch to autotools.
6758
6759 2004-03-03  Andrey Kiselev  <dron@ak4719.spb.edu>
6760
6761         * libtiff/tif_open.c: Use dummy mmap/munmap functions in
6762         TIFFClientOpen() when the appropriate client functions was not
6763         supplied by user.
6764
6765 2004-03-02  Frank Warmerdam  <warmerdam@pobox.com>
6766
6767         * tools/ycbcr.c: fixed main() declaration as per:
6768         http://bugzilla.remotesensing.org/show_bug.cgi?id=513
6769
6770 2004-02-26  Andrey Kiselev  <dron@ak4719.spb.edu>
6771
6772         * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed
6773         images. Reported by Artem Mirolubov.
6774
6775         * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED
6776         tag type in TIFFFetchNormalTag() as per bug
6777
6778         http://bugzilla.remotesensing.org/show_bug.cgi?id=508
6779
6780 2004-02-17  Frank Warmerdam  <warmerdam@pobox.com>
6781
6782         * libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per:
6783         http://bugzilla.remotesensing.org/show_bug.cgi?id=494
6784
6785 2004-02-05  Andrey Kiselev  <dron@ak4719.spb.edu>
6786
6787         * libtiff/tif_fax3.c: Fixed problem with CCITT encoding modes as per
6788         bug
6789
6790         http://bugzilla.remotesensing.org/show_bug.cgi?id=483
6791
6792         But we need more work on fax codec to support update mode.
6793
6794 2004-01-30  Frank Warmerdam  <warmerdam@pobox.com>
6795
6796         * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck,
6797         TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by
6798         Scott Reynolds.
6799
6800 2004-01-29  Andrey Kiselev  <dron@ak4719.spb.edu>
6801
6802         * libtiff/tiff.h: Fixed tag definitions for TIFFTAG_YCLIPPATHUNITS
6803         and TIFFTAG_INDEXED as per bug
6804
6805         http://bugzilla.remotesensing.org/show_bug.cgi?id=475
6806
6807         * libtiff/{tif_win32.c, tif_unix.c}: Check whether the pointer is
6808         NULL before proceeding further as per bug
6809
6810         http://bugzilla.remotesensing.org/show_bug.cgi?id=474
6811
6812         Check results, returned by the TIFFFdOpen() before returning and close
6813         file if TIFFFdOpen() failed as per bug
6814
6815         http://bugzilla.remotesensing.org/show_bug.cgi?id=468
6816
6817         * libtiff/tif_open.c: More fixes for
6818
6819         http://bugzilla.remotesensing.org/show_bug.cgi?id=468
6820
6821 2004-01-28  Andrey Kiselev  <dron@ak4719.spb.edu>
6822
6823         * libtiff/{libtiff.def, tif_close.c, tiffio.h, tif_open.c}: Separate
6824         TIFFCleanup() from the TIFFClose() in order to fix the bug
6825
6826         http://bugzilla.remotesensing.org/show_bug.cgi?id=468
6827
6828         * tools/tiffcp.c: Fixed problem with wrong interpretation of the
6829         InkNames tag as per bug
6830
6831         http://bugzilla.remotesensing.org/show_bug.cgi?id=466
6832
6833         Memory leak fixed.
6834
6835 2004-01-21  Frank Warmerdam  <warmerdam@pobox.com>
6836
6837         * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that
6838         are field_passcount=TRUE properly.  Arguably anonymous custom tags
6839         should be declared as passcount=FALSE, but I don't want to change
6840         that without a careful review.
6841
6842 2004-01-20  Andrey Kiselev  <dron@ak4719.spb.edu>
6843
6844         * libtiff/tif_write.c: Fixed reporting size of the buffer in case of
6845         stripped image in TIFFWriteBufferSetup(). As per bug
6846
6847         http://bugzilla.remotesensing.org/show_bug.cgi?id=460
6848
6849 2004-01-11  Andrey Kiselev  <dron@ak4719.spb.edu>
6850
6851         * libtiff/tif_dir.c: Incomplete cleanup in TIFFFreeDirectory(),
6852         patch from Gerben Koopmans.
6853
6854         * libtiff/tif_dirread.c: Check field_passcount value before setting
6855         the value of undefined type, patch from Gerben Koopmans.
6856
6857 2004-01-02  Andrey Kiselev  <dron@ak4719.spb.edu>
6858
6859         * tools/tiffcp.c: Fixed problem with wrong Photometric setting for
6860         non-RGB images.
6861
6862 2003-12-31  Andrey Kiselev  <dron@ak4719.spb.edu>
6863
6864         * libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when the NULL
6865         pointer passed. Patch supplied by Larry Grill.
6866
6867         * libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as
6868         suggested by Jeremy C. Reed.
6869
6870 2003-12-26  Andrey Kiselev  <dron@ak4719.spb.edu>
6871
6872         * libtiff 3.6.1 released.
6873
6874 2003-12-24  Andrey Kiselev  <dron@ak4719.spb.edu>
6875
6876         * config.guess, config.sub: Updated from the recent upstream.
6877
6878 2003-12-22  Andrey Kiselev  <dron@ak4719.spb.edu>
6879
6880         * libtiff/{tif_color, tif_getimage.c, tiffio.h}, man/TIFFcolor.3t:
6881         More cleanups in color conversion interface, added appropriate manual
6882         page.
6883
6884 2003-12-19  Andrey Kiselev  <dron@ak4719.spb.edu>
6885
6886         * libtiff/{tif_extension.c, tif_dirinfo.c, tiff.h}: Warnings fixed as
6887         per bug
6888
6889         http://bugzilla.remotesensing.org/show_bug.cgi?id=357
6890
6891         * tools/tiff2ps.c: Added support for alpha channel. Fixes
6892
6893         http://bugzilla.remotesensing.org/show_bug.cgi?id=428
6894
6895         * libtiff/{libtiff.def, tif_color.c, tif_getimage.c, tiffio.h}:
6896         Interface for Lab->RGB color conversion is finally cleaned up.
6897         Added support for ReferenceBlackWhite tag handling when converted from
6898         YCbCr color space. The latter closes
6899
6900         http://bugzilla.remotesensing.org/show_bug.cgi?id=120
6901
6902 2003-12-07  Andrey Kiselev  <dron@ak4719.spb.edu>
6903
6904         * libtiff/{tif_getimage.c, tiffio.h}: Avoid warnings.
6905
6906         * libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG
6907         library.
6908
6909 2003-12-06  Andrey Kiselev  <dron@ak4719.spb.edu>
6910
6911         * libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the
6912         file and properly use it for CIE Lab->RGB transform.
6913
6914 2003-12-04  Andrey Kiselev  <dron@ak4719.spb.edu>
6915
6916         * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: YCbCr->RGB
6917         conversion routines now in the tif_color.c module. New function
6918         TIFFYCbCrtoRGB() available in TIFF API.
6919
6920         * libtiff/tif_dirwrite.c: Handle TIFF_IFD tag type correctly.
6921
6922 2003-12-03  Andrey Kiselev  <dron@ak4719.spb.edu>
6923
6924         * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: Improvements in
6925         CIE Lab conversion code. Start moving YCbCr stuff to the tif_color.c
6926         module.
6927
6928         * libtiff/{tif_getimage.c, tiffio.h}, man{TIFFReadRGBAImage.3t,
6929         TIFFReadRGBAStrip.3t, TIFFReadRGBATile.3t, TIFFRGBAImage.3t}:
6930         Finally resolved problems with orientation handling. TIFFRGBAImage
6931         interface now properly supports all possible orientations, i.e. images
6932         will be flipped both in horizontal and vertical directions if
6933         required. 'Known bugs' section now removed from the appropriate manual
6934         pages. Closed bug entry:
6935
6936         http://bugzilla.remotesensing.org/show_bug.cgi?id=322
6937
6938 2003-12-02  Andrey Kiselev  <dron@ak4719.spb.edu>
6939
6940         * libtiff/tif_dir.c: Fixed order of the parameters in TIFFError()
6941         function calls as per bug
6942
6943         http://bugzilla.remotesensing.org/show_bug.cgi?id=440
6944
6945 2003-11-28 Ross Finlayson  <libtiff@apexinternetsoftware.com>
6946
6947         * tools/tiff2pdf.c:  Some bugs fixed.
6948
6949 2003-11-27  Andrey Kiselev  <dron@ak4719.spb.edu>
6950
6951         * libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine,
6952         reported by Antonio Scuri.
6953
6954         * man/tiff2pdf.1: Few improvements in page layout.
6955
6956         * Makefile.in, /man/Makefile.in, /html/man/tiff2pdf.1.html:
6957          Added support fpr tiff2pdf manual page.
6958
6959 2003-11-26 Ross Finlayson  <libtiff@apexinternetsoftware.com>
6960
6961         * /man/tiff2pdf.1:  File added to repository.
6962
6963 2003-11-26  Andrey Kiselev  <dron@ak4719.spb.edu>
6964
6965         * Makefile.in, /tools/{Makefile.in, makefile.vc}:
6966          Added support fpr tiff2pdf utility.
6967
6968 2003-11-25  Ross Finlayson  <libtiff@apexinternetsoftware.com>
6969
6970         * /tools/tiff2pdf.c:  File added to repository.
6971
6972 2003-11-22  Andrey Kiselev  <dron@ak4719.spb.edu>
6973
6974         * /tools/raw2tiff.c: sqrtf() replaced with sqrt().
6975
6976 2003-11-21  Andrey Kiselev  <dron@ak4719.spb.edu>
6977
6978         * /tools/raw2tiff.c: #include <getopt.h> removed.
6979
6980         * tools/{Makefile.in, tiffgt.c}: Unmaintained and platform dependent
6981         sgigt utility removed and replaced with the completely rewritten
6982         portable tiffgt tool (depend on OpenGL and GLUT). Initial revision,
6983         there is a lot of things to improve.
6984
6985         * libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly
6986         extract the fields from the OJPEG files. Patch supplied by Ross
6987         Finlayson.
6988
6989         * libtiff/{tiffio.h, tif_codec.c}, man/{libtiff.3t, TIFFcodec.3t}:
6990         Added new function TIFFIsCODECConfigured(), suggested by Ross
6991         Finlayson.
6992
6993 2003-11-18  Andrey Kiselev  <dron@ak4719.spb.edu>
6994
6995         * libtiff/tif_dirinfo.c: Implemented binary search in
6996         _TIFFMergeFieldInfo(). Patch supplied by Ross Finlayson.
6997
6998         * libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced
6999         with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson.
7000
7001 2003-11-17  Frank Warmerdam  <warmerdam@pobox.com>
7002
7003         * tif_dirread.c: do not mark all anonymously defined tags to be
7004         IGNOREd.
7005
7006 2003-11-17  Andrey Kiselev  <dron@ak4719.spb.edu>
7007
7008         * contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use
7009         TIFFDataWidth() function insted of tiffDataWidth array.
7010
7011 2003-11-16  Andrey Kiselev  <dron@ak4719.spb.edu>
7012
7013         * libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13)
7014         datatype, introduced in "Adobe PageMaker TIFF Tech. Notes".
7015
7016 2003-11-15  Frank Warmerdam  <warmerdam@pobox.com>
7017
7018         * Makefile.in: fixed missing backslash for tif_color.c in list.
7019
7020 2003-11-13  Andrey Kiselev  <dron@ak4719.spb.edu>
7021
7022         * libtiff/{tif_color.c, tif_getimage.c, tiffio.h, Makefile.in}:
7023         New color space conversion code: CIE L*a*b* 1976 images now supported
7024         by the TIFFRGBAImage interface. All introduced routines go to new
7025         module tif_color.c. Eventually all color conversion functions should
7026         be moved there.
7027
7028 2003-11-12  Andrey Kiselev  <dron@ak4719.spb.edu>
7029
7030         * tools/{ras2tiff.c, rasterfile.h}: Properly determine SUN Rasterfiles
7031         with the reverse byte order (it is reported by the magic header
7032         field). Problem reported by Andreas Wiesmann.
7033
7034         * tools/raw2tiff.c, man/raw2tiff.1: Few improvements in correlation
7035         calculation function. Guessing mechanics now documented in manual page.
7036
7037 2003-11-11  Andrey Kiselev  <dron@ak4719.spb.edu>
7038
7039         * tools/raw2tiff.c: Implemented image size guessing using
7040         correlation coefficient calculation between two neighbour lines.
7041
7042 2003-11-09  Frank Warmerdam  <warmerdam@pobox.com>
7043
7044         * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the
7045         planarconfig_contig case in TIFFComputeTile().
7046
7047         http://bugzilla.remotesensing.org/show_bug.cgi?id=387
7048
7049 2003-11-09  Andrey Kiselev  <dron@ak4719.spb.edu>
7050
7051         * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint.
7052
7053 2003-11-07  Andrey Kiselev  <dron@ak4719.spb.edu>
7054
7055         * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}:
7056         Added TIFFRawStripSize() function as suggested by Chris Hanson.
7057
7058 2003-11-03  Andrey Kiselev  <dron@ak4719.spb.edu>
7059
7060         * libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode as
7061         per bug
7062
7063         http://bugzilla.remotesensing.org/show_bug.cgi?id=424
7064
7065 2003-10-29  Andrey Kiselev  <dron@ak4719.spb.edu>
7066
7067         * libtiff/libtiff.def: Added TIFFReadRGBAImageOriented.
7068
7069         * html/build.html: Added note about GNU make requirement.
7070
7071 2003-10-25  Andrey Kiselev  <dron@ak4719.spb.edu>
7072
7073         * Makefile.in: Fixes in using MAKEFLAGS as per bug
7074
7075         http://bugzilla.remotesensing.org/show_bug.cgi?id=418
7076
7077         * port/install.sh.in: Option -p added to the mkdir command to create
7078         all directory tree structure before installing.
7079
7080 2003-10-18  Andrey Kiselev  <dron@ak4719.spb.edu>
7081
7082         * /tools/tiff2ps.c: #include <strings.h> replaced with the
7083         #include <string.h>.
7084
7085 2003-10-16  Andrey Kiselev  <dron@ak4719.spb.edu>
7086
7087         * Makefile.in: Add an absolute path to the test_pics.sh call.
7088
7089 2003-10-12  Andrey Kiselev  <dron@ak4719.spb.edu>
7090
7091         * libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD
7092         typedefs.
7093
7094 2003-10-09  Andrey Kiselev  <dron@ak4719.spb.edu>
7095
7096         * configure, libtiff/{Makefile.in, mkversion.c}:
7097         Relative buildings fixed.
7098
7099         * tools/Makefile.in: Added "-I../libtiff" to the tiffset building
7100         rule.
7101
7102 2003-10-07  Andrey Kiselev  <dron@ak4719.spb.edu>
7103
7104         * Makefile.in: Added missed v3.6.0.html.
7105
7106         * libtiff/tiffio.h: Typo fixed: ORIENTATION_BOTTOMLEFT replaced with
7107         ORIENTATION_BOTLEFT.
7108
7109 2003-10-04  Andrey Kiselev  <dron@ak4719.spb.edu>
7110
7111         * 3.6.0 final release.
7112
7113 2003-10-03  Andrey Kiselev  <dron@ak4719.spb.edu>
7114
7115         * libtiff/{tif_getimage.c, tiffio.h}, man/TIFFReadRGBAImage.3t: New
7116         function TIFFReadRGBAImageOriented() implemented to retrieve raster
7117         array with user-specified origin position as suggested by Jason Frank.
7118         See
7119
7120         http://bugzilla.remotesensing.org/show_bug.cgi?id=322
7121
7122         for details.
7123
7124         * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented()
7125         instead of TIFFReadRGBAImage().
7126
7127         * tools/tiff2ps.c: Fixed possible endless loop as per bug
7128
7129         http://bugzilla.remotesensing.org/show_bug.cgi?id=404
7130
7131 2003-09-30  Andrey Kiselev  <dron@ak4719.spb.edu>
7132
7133         * libtiff/tif_dirread.c: Check field counter against number of fields
7134         in order to fix
7135
7136         http://bugzilla.remotesensing.org/show_bug.cgi?id=366
7137
7138         * libtiff/tif_fax3.c: Fix wrong line numbering as per bug
7139
7140         http://bugzilla.remotesensing.org/show_bug.cgi?id=342
7141
7142 2003-09-25  Andrey Kiselev  <dron@ak4719.spb.edu>
7143
7144         * libtiff/{tiffiop.h, tif_dirread.c, tif_dir.c, tif_open.c,
7145         tif_close.c}: Store a list of opened IFD to prevent looping as per bug
7146
7147         http://bugzilla.remotesensing.org/show_bug.cgi?id=383
7148
7149 2003-09-23  Andrey Kiselev  <dron@ak4719.spb.edu>
7150
7151         * libtiff/tif_dirread.c: More fixes for EstimateStripByteCounts(). See
7152
7153         http://bugzilla.remotesensing.org/show_bug.cgi?id=358
7154
7155 2003-08-21  Andrey Kiselev  <dron@ak4719.spb.edu>
7156
7157         * tools/tiffmedian.c: int declaration replaced with the uint32 to
7158         support large images as per bug
7159
7160         http://bugzilla.remotesensing.org/show_bug.cgi?id=382
7161
7162 2003-08-12  Andrey Kiselev  <dron@ak4719.spb.edu>
7163
7164         * libtiff/Makefile.in: Fixed problem with building in different
7165         directory.
7166
7167         * tools/tiff2ps.c: Added missing #include <strings.h>.
7168
7169         * libtiff/tif_dirwrite.c: More fixes for custom tags code
7170         from Ashley Dreier.
7171
7172 2003-08-07  Andrey Kiselev  <dron@ak4719.spb.edu>
7173
7174         * tools/tiff2ps.c: Added page size setting when creating PS Level 2.
7175         Patch submitted by Balatoni Denes (with corrections from Tom
7176         Kacvinsky).
7177
7178         * tools/tiff2ps.c: Fixed PS comment emitted when FlateDecode is
7179         being used. Reported by Tom Kacvinsky.
7180
7181         * libtiff/tif_dirwrite.c: Fixed problem with custom tags writing,
7182         reported by Ashley Dreier.
7183
7184         * libtiff/tif_print.c: Fixed problem with float tags reading, support
7185         for printing RATIONAL and BYTE tags added.
7186
7187 2003-08-05  Andrey Kiselev  <dron@ak4719.spb.edu>
7188
7189         * libtiff/tif_lzw.c: Move LZW codec state block allocation back to
7190         TIFFInitLZW(), because its initialization in LZWSetupDecode() cause
7191         problems with predictor initialization. Remove O_RDONLY check during
7192         state block allocation to be able open LZW compressed files in update
7193         mode.
7194
7195         Problem exist for libtiff version of the tif_lzw.c module. One from
7196         lzw-compression-kit hasn't such troubles.
7197
7198 2003-08-04  Frank Warmerdam  <warmerdam@pobox.com>
7199
7200         * libtiff/tif_write.c: modified tif_write.c so that the various
7201         encoded write functions use tif_postdecode() to apply byte order
7202         swapping (swab) to the application passed data buffer if the same
7203         would be done when reading.  This allows us to write pixel data with
7204         more than 8 bits per sample to existing files of a non-native byte
7205         order.  One side effect of this change is the applications buffer
7206         itself is altered in this case by the act of writing.
7207
7208         http://bugzilla.remotesensing.org/show_bug.cgi?id=171
7209
7210 2003-07-25  Frank Warmerdam  <warmerdam@pobox.com>
7211
7212         * libtiff/tif_open.c: avoid signed/unsigned casting warning
7213         initializing typemask as per patch from J.A. Strother.
7214
7215         * tools/tiffcp.c: fixed signed/unsigned casting warning.
7216
7217         * libtiff/tif_print.c: dos2unix conversion.
7218
7219         * tools/tiffsplit.c: increased the maximum number of pages that
7220         can be split.  Patch provided by Andrew J. Montalenti.
7221
7222 2003-07-11  Andrey Kiselev  <dron@ak4719.spb.edu>
7223
7224         * tools/raw2tiff.c: Added option `-p' to explicitly select color
7225         space of input image data. Closes
7226
7227         http://bugzilla.remotesensing.org/show_bug.cgi?id=364
7228
7229 2003-07-08  Frank Warmerdam  <warmerdam@pobox.com>
7230
7231         * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c,
7232         tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c,
7233         tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c:
7234         avoid casting warning at /W4.
7235
7236 2003-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>
7237
7238         * tools/thumbnail.c: Memory leak fixed as reported by Robert S. Kissel.
7239
7240 2003-06-30  Andrey Kiselev  <dron@ak4719.spb.edu>
7241
7242         * libtiff/tif_pixarlog.c: Unused variables removed.
7243
7244         * libtiff/{tif_dirread.c, tif_dir.c}: Fixed problem with
7245         EstimateStripByteCounts() as per bug
7246
7247         http://bugzilla.remotesensing.org/show_bug.cgi?id=358
7248
7249         * libtiff/{tif_dirwrite.c, tif_packbits.c}: Fixed compilation on
7250         64-bit architectures as per bug
7251
7252         http://bugzilla.remotesensing.org/show_bug.cgi?id=357
7253
7254         * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of
7255         unknown data type.
7256
7257 2003-06-19  Frank Warmerdam  <warmerdam@pobox.com>
7258
7259         * libtiff/tif_print.c: fixed some serious bugs when printing
7260         custom tags ... almost certain to crash.
7261
7262         * libtiff/tif_dirread.c: Don't ignore custom fields that are
7263         autodefined.  Not sure how this got to be like this.
7264
7265 2003-06-18  Andrey Kiselev  <dron@ak4719.spb.edu>
7266
7267         * 3.6.0 Beta2 released.
7268
7269         * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data
7270         comparing as per bug
7271
7272         http://bugzilla.remotesensing.org/show_bug.cgi?id=349
7273
7274         `-z' option now can be used to set the number of reported different
7275         bytes.
7276
7277 2003-06-09  Andrey Kiselev  <dron@ak4719.spb.edu>
7278
7279         * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1
7280         to -r option to get the entire image as one strip. See
7281
7282         http://bugzilla.remotesensing.org/show_bug.cgi?id=343
7283
7284         for details.
7285
7286 2003-06-04  Andrey Kiselev  <dron@ak4719.spb.edu>
7287
7288         * tools/tiffcp.c: Set the correct RowsPerStrip and PageNumber
7289         values as per bug
7290
7291         http://bugzilla.remotesensing.org/show_bug.cgi?id=343
7292
7293 2003-05-27  Frank Warmerdam  <warmerdam@pobox.com>
7294
7295         * libtiff/tif_jpeg.c: modified segment_height calculation to always
7296         be a full height tile for tiled images.  Also changed error to just
7297         be a warning.
7298
7299 2003-05-25  Andrey Kiselev  <dron@ak4719.spb.edu>
7300
7301         * tools/fax2tiff.c: Page numbering fixed, as per bug
7302
7303         http://bugzilla.remotesensing.org/show_bug.cgi?id=341
7304
7305 2003-05-20  Andrey Kiselev  <dron@ak4719.spb.edu>
7306
7307         * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README},
7308         configure, Makefile.in: Switched back to the old behaviour. Likely
7309         better solution should be found for OJPEG support.
7310
7311 2003-05-11  Andrey Kiselev  <dron@ak4719.spb.edu>
7312
7313         * libtiff/mkversion.c: Fixed problem with wrong string size when
7314         reading RELEASE-DATE file.
7315
7316 2003-05-07  Andrey Kiselev  <dron@ak4719.spb.edu>
7317
7318         * tools/tiff2ps.c: Fixed bug in Ascii85EncodeBlock() function: array
7319         index was out of range.
7320
7321 2003-05-06  Andrey Kiselev  <dron@ak4719.spb.edu>
7322
7323         * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README},
7324         configure, Makefile.in: Improved libtiff compilation with OJPEG
7325         support. Now no need for patching IJG JPEG library, hack required by
7326         libtiff will be compiled and used in-place. Implemented with
7327         suggestion and help from Bill Allombert, Debian's libjpeg maintainer.
7328
7329         * libtiff/tif_aux.c: Properly handle TIFFTAG_PREDICTOR in
7330         TIFFVGetFieldDefaulted() function.
7331
7332 2003-05-05  Andrey Kiselev  <dron@ak4719.spb.edu>
7333
7334         * tools/ppm2tiff.c: PPM header parser improved: now able to skip
7335         comments.
7336
7337         * tools/tiffdither.c: Fixed problem with bit fill order tag setting:
7338         was not copied from source image.
7339
7340         * libtiff/getimage.c: Workaround for some images without correct
7341         info about alpha channel as per bug
7342
7343         http://bugzilla.remotesensing.org/show_bug.cgi?id=331
7344
7345 2003-04-29  Andrey Kiselev  <dron@ak4719.spb.edu>
7346
7347         * tools/tiff2ps.c, man/tiff2ps.1: Add ability to generate PS Level 3.
7348         It basically allows one to use the /flateDecode filter for ZIP
7349         compressed TIFF images. Patch supplied by Tom Kacvinsky. Fixes
7350
7351         http://bugzilla.remotesensing.org/show_bug.cgi?id=328
7352
7353         * tools/tiff2ps.c: Force deadzone printing when EPS output specified
7354         as per bug
7355
7356         http://bugzilla.remotesensing.org/show_bug.cgi?id=325
7357
7358 2003-04-17  Andrey Kiselev  <dron@ak4719.spb.edu>
7359
7360         * libtiff/tif_dirread.c: Removed additional check for StripByteCounts
7361         due to problems with multidirectory images. Quality of error messages
7362         improved.
7363
7364 2003-04-16  Andrey Kiselev  <dron@ak4719.spb.edu>
7365
7366         * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG
7367         encoded images. See bug entries
7368
7369         http://bugzilla.remotesensing.org/show_bug.cgi?id=275
7370
7371         and
7372
7373         http://bugzilla.remotesensing.org/show_bug.cgi?id=23
7374
7375         * libtiff/tif_dirread.c: Additional check for StripByteCounts
7376         correctness. Fixes
7377
7378         http://bugzilla.remotesensing.org/show_bug.cgi?id=320
7379
7380 2003-03-12  Andrey Kiselev  <dron@ak4719.spb.edu>
7381
7382         * tools/{fax2ps.c, fax2tiff.c, gif2tiff.c, pal2rgb.c, ppm2tiff.c,
7383         ras2tiff.c, raw2tiff.c, rgb2ycbcr.c, thumbnail.c, tiff2bw.c,
7384         tiff2ps.c, tiff2rgba.c, tiffcp.c, tiffdither.c, tiffinfo.c,
7385         tiffmedian.c}: Added library version reporting facility to all tools.
7386
7387 2003-03-06  Frank Warmerdam  <warmerdam@pobox.com>
7388
7389         * port/install.sh.in: Fixed problems with install producing paths
7390         like ///usr/local/lib on cygwin.
7391
7392 2003-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>
7393
7394         * tools/fax2tiff.c, man/fax2tiff.1: New switch (-X) to set width of
7395         raw input page. Patch supplied by Julien Gaulmin. See
7396
7397         http://bugzilla.remotesensing.org/show_bug.cgi?id=293
7398
7399         for details.
7400
7401 2003-02-26  Frank Warmerdam  <warmerdam@pobox.com>
7402
7403         * libtiff/tif_dir.c: fixed up the tif_postdecode settings
7404         responsible for byte swapping complex image data.
7405
7406         * libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till
7407         LZWSetupDecode().  Needed to read LZW files in "r+" mode.
7408
7409 2003-02-07  Andrey Kiselev  <dron@ak4719.spb.edu>
7410
7411         * tools/ppm2tiff.c: Fixed problem with too many arguments.
7412
7413 2003-02-04  Andrey Kiselev  <dron@ak4719.spb.edu>
7414
7415         * tools/raw2tiff.c: Memory leak fixed.
7416
7417 2003-02-03  Andrey Kiselev  <dron@ak4719.spb.edu>
7418
7419         * tools/fax2tiff.c, man/fax2tiff.1: Applied patch from Julien Gaulmin
7420         (thanks, Julien!). More switches for fax2tiff tool for better control
7421         of input and output. Details at
7422
7423         http://bugzilla.remotesensing.org/show_bug.cgi?id=272
7424
7425 2003-02-03  Frank Warmerdam  <warmerdam@pobox.com>
7426
7427         * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg
7428         library so that we can check if there is already any tile/strip data
7429         before deciding between creating a compressor or a decompressor.
7430
7431 2003-01-31  Frank Warmerdam  <warmerdam@pobox.com>
7432
7433         * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
7434         a pre-existing compressed image.  That is, image writing to
7435         pre-existing compressed images is not allowed.
7436
7437         * libtiff/tif_open.c: Removed error if opening a compressed file
7438         in update mode.
7439
7440         http://bugzilla.remotesensing.org/show_bug.cgi?id=198
7441
7442 2003-01-31  Andrey Kiselev  <dron@ak4719.spb.edu>
7443
7444         * config.guess, config.sub: Updated to recent upstream versions.
7445
7446 2003-01-15  Frank Warmerdam  <warmerdam@pobox.com>
7447
7448         * cut 3.6.0 Beta release.
7449
7450 2002-12-20  Andrey Kiselev  <dron@ak4719.spb.edu>
7451
7452         * tools/fax2ps.c, man/fax2ps.1: Page size was determined
7453         in wrong way as per bug
7454
7455         http://bugzilla.remotesensing.org/show_bug.cgi?id=239
7456
7457 2002-12-17  Frank Warmerdam  <warmerdam@pobox.com>
7458
7459         * libtiff/tif_dirread.c: Allow wrong sized arrays in
7460         TIFFFetchStripThing().
7461
7462         http://bugzilla.remotesensing.org/show_bug.cgi?id=49
7463
7464 2002-12-02  Frank Warmerdam  <warmerdam@pobox.com>
7465
7466         * libtiff/tif_dir.c: fix problem with test on td_customValueCount.
7467         Was using realloc even first time.  Fix by Igor Venevtsev.
7468
7469 2002-11-30  Frank Warmerdam  <warmerdam@pobox.com>
7470
7471         * libtiff/tif_dir.c: fixed bug with resetting an existing custom
7472         field value.
7473
7474         * libtiff/tif_dir.c: Fixed potential problem with ascii "custom"
7475         tags in TIFFVGetField() ... added missing break.
7476
7477 2002-10-14  Frank Warmerdam  <warmerdam@pobox.com>
7478
7479         * tools/tiff2ps.c: fixes a problem where "tiff2ps -1e" did not make
7480         the scanline buffer long enough when writing rgb triplets.
7481         The scanline needs to be 3 X the number of dots or else it will
7482         contain an incomplete triplet and programs that try to separate
7483         the eps by redefining the colorimage operator will get messed up.
7484         Patch supplied by William Bader.
7485
7486         * Makefile.in: added tif_extension.c to file list as per
7487         http://bugzilla.remotesensing.org/show_bug.cgi?id=218.
7488
7489 2002-10-11  Andrey Kiselev  <dron@ak4719.spb.edu>
7490
7491         * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for
7492         large files (>2GiB) supporting. New option in the config.site:
7493         LARGEFILE="yes". Should be enough for I/O of the large files.
7494
7495 2002-10-10  Frank Warmerdam  <warmerdam@pobox.com>
7496
7497         * libtiff/html/v3.6.0.html: new release notes.
7498
7499         * libtiff/index.html: removed faq, cvs snapshot cruft.  Added email
7500         link for Andrey.  Pointer to v3.6.0.html.
7501
7502         * libtiff/Makefile.in: added direct rule for tiffvers.h for release.
7503
7504 2002-10-07  Andrey Kiselev  <dron@ak4719.spb.edu>
7505         * tools/tiff2ps.c, man/tiff2ps.1: Applied patch form Sebastian Eken
7506         (thanks, Sebastian!). New switches:
7507         -b # for a bottom margin of # inches
7508         -c   center image
7509         -l # for a left margin of # inches
7510         -r   rotate the image by 180 degrees
7511         New features merged with code for shrinking/overlapping.
7512         Previously added -c and -n switches (for overriding PS units) renamed
7513         in -x and -y respectively.
7514
7515         http://bugzilla.remotesensing.org/show_bug.cgi?id=200
7516
7517         * html/man/*.html: Updated from actual manual pages.
7518
7519 2002-10-06  Frank Warmerdam  <warmerdam@pobox.com>
7520
7521         * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong
7522         size on windows.  Use #define boolean hack.
7523
7524         http://bugzilla.remotesensing.org/show_bug.cgi?id=188
7525
7526         * libtiff/tiff.h: Don't do special type handling in tiff.h unless
7527         USING_VISUALAGE is defined.
7528
7529         http://bugzilla.remotesensing.org/show_bug.cgi?id=39
7530
7531 2002-10-03  Frank Warmerdam  <warmerdam@pobox.com>
7532
7533         * libtiff/tiff.h: added COMPRESSION_JP2000.
7534
7535 2002-10-02  Andrey Kiselev  <dron@ak4719.spb.edu>
7536
7537         * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
7538         by the TIFFFetchByteArray() function. Should finally resolve
7539
7540         http://bugzilla.remotesensing.org/show_bug.cgi?id=52
7541
7542         * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT
7543
7544         * html/Makefile.in: New targets added: html and groffhtml for
7545         producing HTML representations of the manual pages automatically.
7546         html target uses man2html tool, groffhtml uses groff tool.
7547
7548 2002-09-29  Frank Warmerdam  <warmerdam@pobox.com>
7549
7550         * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
7551         from John H. DuBois III.
7552
7553 2002-09-15  Andrey Kiselev  <dron@ak4719.spb.edu>
7554
7555         * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added
7556         manual page for raw2tiff(1) tool.
7557
7558 2002-09-12  Andrey Kiselev  <dron@ak4719.spb.edu>
7559
7560         * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to
7561         the tiffio.h header file.
7562
7563         * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added
7564         manual page for TIFFDataWidth() function
7565
7566 2002-09-08  Frank Warmerdam  <warmerdam@pobox.com>
7567
7568         * libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair()
7569         as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196.
7570
7571         * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments
7572         since we are unable to properly include the amount to skip.
7573
7574         http://bugzilla.remotesensing.org/show_bug.cgi?id=80
7575
7576 2002-09-02  Andrey Kiselev  <dron@ak4719.spb.edu>
7577
7578         * /libtiff/tif_dirread.c: Fixed problem with SBYTE type data fetching
7579         in TIFFFetchByteArray(). Problem described at
7580         http://bugzilla.remotesensing.org/show_bug.cgi?id=52
7581
7582 2002-08-22  Andrey Kiselev  <dron@ak4719.spb.edu>
7583
7584         * /libtiff/tif_dirinfo.c: Further additions to free custom fields
7585         in _TIFFSetupFieldInfo() function.
7586         See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details.
7587
7588         * /libtiff/tif_lzw.c: Additional consistency checking added in
7589         LZWDecode() and LZWDecodeCompat().
7590         Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190
7591         and http://bugzilla.remotesensing.org/show_bug.cgi?id=100
7592
7593         * /libtiff/tif_lzw.c:
7594         Added check for valid code lengths in LZWDecode() and
7595         LZWDecodeCompat(). Fixes
7596         http://bugzilla.remotesensing.org/show_bug.cgi?id=115
7597
7598 2002-08-16  Andrey Kiselev  <dron@ak4719.spb.edu>
7599
7600         * /libtiff/{Makefile.vc, libtiff.def}:
7601         Missed declarations added.
7602
7603 2002-08-15  Frank Warmerdam  <warmerdam@pobox.com>
7604
7605         * tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the
7606         return code from the underlying pick function.
7607
7608         http://bugzilla.remotesensing.org/show_bug.cgi?id=177
7609
7610         * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap
7611         with FIELD_CUSTOM as mentioned in bug 169.
7612
7613         * tif_close.c: added logic to free dynamically created anonymous
7614         field definitions to correct a small memory leak.
7615
7616         http://bugzilla.remotesensing.org/show_bug.cgi?id=169
7617
7618 2002-08-10  Andrey Kiselev  <dron@ak4719.spb.edu>
7619
7620         * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}:
7621         New tool: raw2tiff --- raw images to TIFF converter. No manual page yet.
7622
7623 2002-07-31  Frank Warmerdam  <warmerdam@pobox.com>
7624
7625         * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in
7626         JPEGDecode() as per bugzilla bug (issue 1):
7627
7628         http://bugzilla.remotesensing.org/show_bug.cgi?id=129
7629
7630         * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
7631         fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
7632         present in the tiff tags.
7633
7634         http://bugzilla.remotesensing.org/show_bug.cgi?id=168
7635
7636         * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
7637         TIFFWriteScanline() now set tif_row explicitly in case the codec has
7638         fooled with the value.
7639
7640         http://bugzilla.remotesensing.org/show_bug.cgi?id=129
7641
7642 2002-06-22  Andrey Kiselev  <dron@ak4719.spb.edu>
7643
7644         * /tools/tiff2ps.c: Added workaround for some software that may crash
7645         when last strip of image contains fewer number of scanlines than
7646         specified by the `/Height' variable. See
7647         http://bugzilla.remotesensing.org/show_bug.cgi?id=164
7648         for explanation.
7649
7650 2002-06-21  Andrey Kiselev  <dron@ak4719.spb.edu>
7651
7652         * tools/tiff2ps, man/tiff2ps.1: New functionality for tiff2ps utility:
7653         splitting long images in several pages. See
7654         http://bugzilla.remotesensing.org/show_bug.cgi?id=142 for explanation.
7655         Patch granted by John Williams <williams@morinda.com>.
7656
7657 2002-06-11  Frank Warmerdam  <warmerdam@pobox.com>
7658
7659         * libtiff/contrib/win95: renamed to contrib/win_dib.  Added new
7660         Tiffile.cpp example of converting TIFF files into a DIB on Win32.
7661         This one is described in:
7662
7663         http://bugzilla.remotesensing.org/show_bug.cgi?id=143
7664
7665         * libtiff/tif_ojpeg.c: Major upgrade from Scott.  See details at:
7666
7667         http://bugzilla.remotesensing.org/show_bug.cgi?id=156
7668
7669 2002-05-10  Andrey Kiselev  <dron@ak4719.spb.edu>
7670
7671         * tools/tiff2ps: New commandline switches to override resolution
7672         units obtained from the input file. Closes
7673         http://bugzilla.remotesensing.org/show_bug.cgi?id=131
7674
7675 2002-04-26  Andrey Kiselev  <dron@ak4719.spb.edu>
7676
7677         * libtiff/libtiff.def: Added missed declaration.
7678
7679 2002-04-22  Andrey Kiselev  <dron@ak4719.spb.edu>
7680
7681         * tools/fax2tiff.c: Updated to reflect latest changes in libtiff.
7682         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125
7683
7684 2002-04-20  Andrey Kiselev  <dron@ak4719.spb.edu>
7685
7686         * libtiff/tif_open.c: Pointers to custom procedures
7687         in TIFFClientOpen() are checked to be not NULL-pointers.
7688
7689 2002-04-18  Andrey Kiselev  <dron@ak4719.spb.edu>
7690
7691         * libtiff/libtiff.def: Added missed declarations.
7692
7693         * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure.
7694
7695 2002-04-16  Andrey Kiselev  <dron@ak4719.spb.edu>
7696
7697         * libtiff/tif_lzw.c: Additional checks for data integrity introduced.
7698         Should finally close
7699         http://bugzilla.remotesensing.org/show_bug.cgi?id=100
7700
7701 2002-04-10  Andrey Kiselev  <dron@ak4719.spb.edu>
7702
7703         * tools/tiff2ps: Division by zero fixed.
7704         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88
7705
7706 2002-04-09  Andrey Kiselev  <dron@ak4719.spb.edu>
7707
7708         * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
7709         TIFFCheckpointDirectory() routine added.
7710         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124
7711
7712         * man/: TIFFWriteDirectory.3t,  Makefile.in: Added description
7713         for the new function.
7714
7715 2002-04-08  Andrey Kiselev  <dron@ak4719.spb.edu>
7716
7717         * libtiff/: tif_codec.c, tif_compress.c, tiffiop.h: Introduced
7718         additional members tif->tif_decodestatus and tif->tif_encodestatus
7719         for correct handling of unconfigured codecs (we should not try to read
7720         data or to define data size without correct codecs).
7721
7722         * libtiff/tif_getimage.c: The way of codecs checking in TIFFRGBAImageOK
7723         changed. Now it has used tif->tif_decodestatus and
7724         tif->tif_encodestatus.
7725         Should fix http://bugzilla.remotesensing.org/show_bug.cgi?id=119 (in
7726         case of __cvs_8.tif test image).
7727
7728         * libtiff/: tif_dirinfo.c, tif_dirread.c: Somebody makes a bug in
7729         tif_dirread.c when TIFFCreateAnonFieldInfo was introduced.
7730         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=119 in case
7731         of _cvs_00000-00.tif, _cvs_00000-01.tif and _cvs_00000-02.tif.
7732
7733 2002-04-04  Andrey Kiselev  <dron@ak4719.spb.edu>
7734
7735         * libtiff/: tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat
7736         replaced by warnings. Now libtiff should read corrupted LZW-compressed
7737         files by skipping bad strips.
7738         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100
7739
7740 2002-04-03  Frank Warmerdam  <warmerdam@pobox.com>
7741
7742         * libtiff/tif_dirwrite.c: Removed some dead code.
7743
7744         * libtiff/*: Cleanup some warnings.
7745
7746         * libtiff/tif_dir.c: Fixed bug with count returned by TIFFGetField()
7747         for variable length FIELD_CUSTOM values.  Was int * but should be
7748         u_short *.
7749
7750 2002-04-01  Andrey Kiselev  <dron@ak4719.spb.edu>
7751
7752         * tools/: tifcp.c: Added support for 'Orientation' tag in tiffcp
7753         utility (at cpStripToTile routine).
7754
7755 2002-03-27  Frank Warmerdam  <warmerdam@pobox.com>
7756
7757         * tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func.
7758
7759         http://bugzilla.remotesensing.org/show_bug.cgi?id=111
7760
7761         * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with
7762         passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE).
7763
7764         * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so
7765         that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example.
7766
7767 2002-03-26  Dwight Kelly  <dbmalloc@remotesensing.org>
7768
7769         * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
7770         tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined
7771         in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec
7772         INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes:
7773         CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
7774         INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).
7775
7776 2002-03-26  Andrey Kiselev  <dron@ak4719.spb.edu>
7777
7778         * libtiff/: tif_getimage.c: TIFFReadRGBAStrip and TIFFReadRGBATile
7779         now also uses TIFFRGBAImageOK before reading. This is additional fix
7780         for http://bugzilla.remotesensing.org/show_bug.cgi?id=110
7781
7782 2002-03-25  Andrey Kiselev  <dron@ak4719.spb.edu>
7783
7784         * libtiff/: tif_getimage.c: Additional check for supported
7785         codecs added in TIFFRGBAImageOK and TIFFReadRGBAImage now uses
7786         TIFFRGBAImageOK before reading.
7787         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=110
7788
7789 2002-03-15  Andrey Kiselev  <dron@ak4719.spb.edu>
7790
7791         * libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
7792         tif_dirwrite.c: Added routine TIFFDataWidth for detrmining
7793         TIFFDataType sizes instead of working with tiffDataWidth array
7794         directly. Should prevent out-of-borders bugs in case of unknown or
7795         broken data types.  EstimateStripByteCounts routine modified, so it
7796         won't work when tags with uknown sizes founded.
7797         Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=109
7798
7799 2002-03-13  Andrey Kiselev  <dron@ak4719.spb.edu>
7800
7801         * libtiff/tif_getimage.c: Added support for correct handling
7802         `Orientation' tag in gtTileContig. Should be added in other gt*
7803         functions as well, but I have not images for testing yet. Partially
7804         resolves http://bugzilla.remotesensing.org/show_bug.cgi?id=23
7805
7806 2002-03-10  Andrey Kiselev  <dron@ak4719.spb.edu>
7807
7808         * libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to
7809         read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION,
7810         TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC.  Closes
7811         http://bugzilla.remotesensing.org/show_bug.cgi?id=99
7812
7813 2002-03-08  Andrey Kiselev  <dron@ak4719.spb.edu>
7814
7815         * libtiff/Makefile.in, tools/Makefile.in: Shared library will not
7816         be stripped when installing, utility binaries will do.  Closes
7817         http://bugzilla.remotesensing.org/show_bug.cgi?id=93
7818
7819 2002-02-28  Frank Warmerdam  <warmerdam@pobox.com>
7820
7821         * man/TIFFGetField: fixed type of TIFFTAG_COPYRIGHT.
7822
7823         * man/libtiff.3t: added copyright tag info.
7824
7825 2002-02-11  Frank Warmerdam  <warmerdam@pobox.com>
7826
7827         * libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__.
7828
7829         http://bugzilla.remotesensing.org/show_bug.cgi?id=94
7830
7831         * man/Makefile.in: Patch DESTDIR handling
7832
7833         http://bugzilla.remotesensing.org/show_bug.cgi?id=95
7834
7835         * configure: OpenBSD changes for Sparc64 and DSO version.
7836
7837         http://bugzilla.remotesensing.org/show_bug.cgi?id=96
7838
7839 2002-02-05  Frank Warmerdam  <warmerdam@pobox.com>
7840
7841         * config.site/configure: added support for OJPEG=yes option to enable
7842         OJPEG support from config.site.
7843
7844 2002-01-27  Frank Warmerdam  <warmerdam@pobox.com>
7845
7846         * html/document.html: fixed links for TIFf 6 docs.
7847
7848 2002-01-18  Frank Warmerdam  <warmerdam@pobox.com>
7849
7850         * config.guess, config.sub: Updated from ftp.gnu.org/pub/config.
7851
7852         * libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the
7853         decodestrip function returns anything not greater than zero as per
7854         http://bugzilla.remotesensing.org/show_bug.cgi?id=97
7855
7856         * configure: Modify CheckForBigEndian so it can work in a cross
7857         compiled situation.
7858
7859 2002-01-16  Frank Warmerdam  <warmerdam@pobox.com>
7860
7861         * tools/tiffdump.c: include TIFFTAG_JPEGTABLES in tag list.
7862
7863         * tools/tiffset.c: fix bug in error reporting.
7864
7865         * tools/tiffcp.c: fix several warnings that show up with -Wall.
7866
7867 2002-01-04  Frank Warmerdam  <warmerdam@pobox.com>
7868
7869         * libtiff/tif_jpeg.c: fixed computation of segment_width for
7870         tiles files to avoid error about it not matching the
7871         cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile
7872         size.") for ITIFF files.  Apparently the problem was incorporated since
7873         3.5.5, presumably during the OJPEG/JPEG work recently.
7874
7875 2001-12-15  Frank Warmerdam  <warmerdam@pobox.com>
7876
7877         * configure, libtiff/Makefile.in: Changes for building on MacOS 10.1.
7878
7879         http://bugzilla.remotesensing.org/show_bug.cgi?id=94
7880
7881         * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1
7882         (defined in tiffconf.h - 1 by default) then the RGBA interface
7883         will assume that a fourth extra sample is ASSOCALPHA if the
7884         EXTRASAMPLE value isn't set for it.  This changes the behaviour of
7885         the library, but makes it work better with RGBA files produced by
7886         lots of applications that don't mark the alpha values properly.
7887
7888         http://bugzilla.remotesensing.org/show_bug.cgi?id=93
7889         http://bugzilla.remotesensing.org/show_bug.cgi?id=65
7890
7891 2001-12-12  Frank Warmerdam  <warmerdam@pobox.com>
7892
7893         * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to
7894         override those from tiff directory.  This makes this work with
7895         ImageGear generated files.
7896
7897 2001-12-07  Frank Warmerdam  <warmerdam@pobox.com>
7898
7899         * html/Makefile.in: added missing images per bug 92.
7900
7901         * port/Makefile.in: fixed clean target per bug 92.
7902
7903 2001-11-28  Frank Warmerdam  <warmerdam@pobox.com>
7904
7905         * Reissue 3.5.7 release.
7906
7907         * libtiff/mkversion.c: Fix output of TIFF_VERSION to be
7908         YYYYMMDD so that it is increasing over time.
7909
7910         * Makefile.in: Ensure that tiffvers.h is regenerated in the
7911         make release target.
7912
7913         * Makefile.in: added libtiff/tiffvers.h to the release file list.
7914
7915 2001-11-23  Frank Warmerdam  <warmerdam@pobox.com>
7916
7917         * added html/v3.5.7.html, updated html/index.html.
7918
7919         * Makefile.in: added contrib/addtiffo/tif_ovrcache.{c,h}.
7920
7921 2001-11-15  Frank Warmerdam  <warmerdam@pobox.com>
7922
7923         * configure: fixed test for -lm.
7924
7925 2001-11-02  Frank Warmerdam  <warmerdam@pobox.com>
7926
7927         * Added PHOTOMETRIC_ITULAB as per bug 90.
7928
7929         http://bugzilla.remotesensing.org/show_bug.cgi?id=90
7930
7931 2001-10-10  Frank Warmerdam  <warmerdam@pobox.com>
7932
7933         * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4,
7934         COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases
7935         in keeping with TIFF 6.0 standard in tiff.h
7936
7937         http://bugzilla.remotesensing.org/show_bug.cgi?id=83
7938
7939 2001-09-26  Frank Warmerdam  <warmerdam@pobox.com>
7940
7941         * libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function.
7942         Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory.
7943
7944 2001-09-24  Frank Warmerdam  <warmerdam@pobox.com>
7945
7946         * libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug.
7947
7948         http://bugzilla.remotesensing.org/show_bug.cgi?id=78
7949
7950         * libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an
7951         error about LZW not being available.
7952
7953         * libtiff/tif_dir.c: propagate failure to initialize compression
7954         back from TIFFSetField() as an error status, so applications can
7955         detect failure.
7956
7957         * libtiff/tif_dir.c: removed the auto replacement of
7958         COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField().
7959
7960         * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile
7961         from CVS as they are all supposed to be auto-generated by configure.
7962
7963 2001-09-22  Frank Warmerdam  <warmerdam@pobox.com>
7964
7965         * libtiff/tif_ojpeg.c: new update from Scott.
7966
7967 2001-09-09  Frank Warmerdam  <warmerdam@pobox.com>
7968
7969         * libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to
7970         always use the "safe" version, even if there is a very slight
7971         cost in performance.
7972
7973         http://bugzilla.remotesensing.org/show_bug.cgi?id=54
7974
7975         * libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@
7976         in two places.
7977
7978         * libtiff/tif_getimage.c: Fixed problem with reading strips or
7979         tiles that don't start on a tile boundary.  Fix contributed by
7980         Josep Vallverdu (from HP), and further described in bug 47.
7981
7982         http://bugzilla.remotesensing.org/show_bug.cgi?id=47
7983
7984         * tools/tiff2ps.c: added OJPEG YCbCr to RGB support.
7985
7986         * libtiff/tif_ojpeg.c: Applied substantial patch from Scott.
7987
7988 2001-09-06  Frank Warmerdam  <warmerdam@pobox.com>
7989
7990         * libtiff/tif_packbits.c: fixed memory overrun error.
7991
7992         http://bugzilla.remotesensing.org/show_bug.cgi?id=77
7993
7994 2001-08-31  Frank Warmerdam  <warmerdam@pobox.com>
7995
7996         * libtiff/tif_getimage.c: relax handling of contig case where
7997         there are extra samples that are supposed to be ignored.  This
7998         should now work for 8bit greyscale or palletted images.
7999
8000         http://bugzilla.remotesensing.org/show_bug.cgi?id=75
8001
8002 2001-08-28  Frank Warmerdam  <warmerdam@pobox.com>
8003
8004         * libtiff/tif_getimage.c: Don't complain for CMYK (separated)
8005         images with more than four samples per pixel.  See:
8006
8007         http://bugzilla.remotesensing.org/show_bug.cgi?id=73
8008
8009 2001-08-10  Frank Warmerdam  <warmerdam@pobox.com>
8010
8011         * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
8012         in TIFFReadRGBATile() to avoid issues in cases of overlapping
8013         buffers.  See Bug 69 in Bugzilla.
8014
8015         http://bugzilla.remotesensing.org/show_bug.cgi?id=69
8016
8017         * tools/tiff2rgba.c: fixed getopt() call so that -b works again.
8018
8019 2001-08-09  Frank Warmerdam  <warmerdam@pobox.com>
8020
8021         * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__
8022         when checking for 64 bit architectures as per bugzilla bug 67.
8023
8024 2001-07-27  Frank Warmerdam  <warmerdam@pobox.com>
8025
8026         * man/Makefile.in: add TIFFClientOpen link as per debian submitted
8027         bug 66.
8028
8029 2001-07-20  Frank Warmerdam  <warmerdam@pobox.com>
8030
8031         * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H
8032         has been included.
8033
8034 2001-07-19  Frank Warmerdam  <warmerdam@pobox.com>
8035
8036         * libtiff/tif_open.c: Seek back to zero after failed read,
8037         before writing header.
8038
8039 2001-07-18  Frank Warmerdam  <warmerdam@pobox.com>
8040
8041         * libtiff/tif_ojpeg.c: updates from Scott.  Handles colors
8042         much better.  Now depends on having patched libjpeg as per
8043         patch in contrib/ojpeg/*.
8044
8045 2001-07-17  Frank Warmerdam  <warmerdam@pobox.com>
8046
8047         * */Makefile.in: added DESTDIR support.
8048
8049         http://bugzilla.remotesensing.org/show_bug.cgi?id=60
8050
8051 2001-07-16  Frank Warmerdam  <warmerdam@pobox.com>
8052
8053         * configure, libtiff/Makefile.in: applied OpenBSD patches
8054         as per:
8055
8056         http://bugzilla.remotesensing.org/show_bug.cgi?id=61
8057
8058 2001-06-28  Frank Warmerdam  <warmerdam@pobox.com>
8059
8060         * libtiff/tif_getimage.c: Fixed so that failure is properly
8061         reported by gtTileContig, gtStripContig, gtTileSeparate and
8062         gtStripSeparate.
8063
8064         See http://bugzilla.remotesensing.org/show_bug.cgi?id=51
8065
8066         * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.
8067         Updated bug section of tiffcmp.1 to note tiled file issues.
8068
8069         See http://bugzilla.remotesensing.org/show_bug.cgi?id=53
8070
8071 2001-06-22  Frank Warmerdam  <warmerdam@pobox.com>
8072
8073         * configure: Changes for DSO generation on AIX provided by
8074         John Marquart <jomarqua@indiana.edu>.
8075
8076         * configure, libtiff/Makeifle.in: Modified to build DSOs properly
8077         on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and
8078         Keisuke Fujii (fujiik@jlcuxf.kek.jp).
8079
8080 2001-06-13  Frank Warmerdam  <warmerdam@pobox.com>
8081
8082         * tools/tiff2rgba.c: added -n flag to avoid emitting alpha component.
8083
8084         * man/tiff2rgba.1: new
8085
8086 2001-05-22  Frank Warmerdam  <warmerdam@pobox.com>
8087
8088         * Added tiffset and tif_ojpeg to the dist lists in Makefile.in.
8089
8090 2001-05-13  Frank Warmerdam  <warmerdam@pobox.com>
8091
8092         * libtiff/tools/thumbnail.c: changed default output compression
8093         to packbits from LZW since LZW isn't generally available.
8094
8095 2001-05-12  Frank Warmerdam  <warmerdam@pobox.com>
8096
8097         * libtiff/tif_ojpeg.c: New.
8098         libtiff/tif_jpeg.c, tiffconf.h, tif_getimage.c: changes related
8099         to OJPEG support.
8100
8101         Scott Marovich <marovich@hpl.hp.com> supplied OJPEG support.
8102
8103 2001-05-11  Frank Warmerdam  <warmerdam@pobox.com>
8104
8105         * tiff.h: removed, it duplicates libtiff/tiff.h.
8106
8107 2001-05-08  Frank Warmerdam  <warmerdam@pobox.com>
8108
8109         * libtiff/tif_dirinfo.c: moved pixar and copyright flags to
8110         ensure everything is in order.
8111
8112         * libtiff/libtiff.def: added TIFFCreateDirectory and
8113         TIFFDefaultStripSize as per:
8114
8115           http://bugzilla.remotesensing.org/show_bug.cgi?id=46
8116
8117 2001-05-02  Frank Warmerdam  <warmerdam@pobox.com>
8118
8119         * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
8120         TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
8121         force use of uint32 counts instead of short counts.
8122
8123         * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
8124         case of writing TIFF_BYTE/TIFF_SBYTE fields.
8125
8126         http://bugzilla.remotesensing.org/show_bug.cgi?id=43
8127
8128 2001-05-01  Frank Warmerdam  <warmerdam@pobox.com>
8129
8130         * libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per
8131         bug report http://bugzilla.remotesensing.org/show_bug.cgi?id=44
8132
8133 2001-04-05  Frank Warmerdam  <warmerdam@pobox.com>
8134
8135         * tiffio.h: removed C++ style comment.
8136
8137         * configure: fixed up SCRIPT_SH/SHELL handling.
8138
8139         * Makefile.in: Fixed SCRIPT_SH/SHELL handling.
8140
8141         * config.guess: documented more variables as per bug 40.
8142
8143 2001-04-03  Frank Warmerdam  <warmerdam@pobox.com>
8144
8145         * configure, *Makefile.in: Various changes to improve configuration
8146         for HP/UX specifically, and also in general.  They include:
8147          - Try to handle /usr/bin/sh instead of /bin/sh where necessary.
8148          - Upgrade to HP/UX 10.x+ compiler, linker and dso options.
8149          - Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP
8150          - Use -${MAKEFLAGS} in sub makes from makefiles.
8151
8152         http://bugzilla.remotesensing.org/show_bug.cgi?id=40
8153
8154 2001-04-02  Frank Warmerdam  <warmerdam@pobox.com>
8155
8156         * libtiff/tiff.h: Applied hac to try and resolve the problem
8157         with the inttypes.h include file on AIX.
8158
8159         See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
8160
8161         * VERSION: update to 3.5.7 beta in preparation for release.
8162
8163         * configure/config.site: modified to check if -lm is needed for
8164         MACHDEPLIBS if not supplied by config.site.  Needed for Darwin.
8165
8166         * config.guess: updated wholesale to an FSF version apparently
8167         from 1998 (as opposed to 1994).  This is mainly inspired by
8168         providing for MacOS X support.
8169
8170 2001-03-29  Frank Warmerdam  <warmerdam@pobox.com>
8171
8172         * configure, Makefile.in, etc: added support for OPTIMIZER being
8173         set from config.site.
8174
8175 2001-03-28  Frank Warmerdam  <warmerdam@pobox.com>
8176
8177         * fax2ps.c: Helge (libtiff at oldach.net) submitted fix:
8178
8179         Here's a fix for fax2ps that corrects behaviour for non-Letter paper
8180         sizes. It fixes two problems:
8181
8182         Without scaling (-S) the fax is now centered on the page size specified
8183         with -H and/or -W. Before, fax2ps was using an obscure and practically
8184         useless algorithm to allocate the image relative to Letter sized paper
8185         which sometime sled to useless whitespace on the paper, while at the
8186         same time cutting of the faxes printable area at the opposite border.
8187
8188         Second, scaling now preserves aspect ratio, which makes unusual faxes
8189         (in particular short ones) print properly.
8190
8191         See http://bugzilla.remotesensing.org/show_bug.cgi?id=35
8192
8193         * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
8194         Bruce A. Mallett.  See check message for detailed information
8195         on all the changes, including a faster encoder, fixes for level
8196         2 PostScript, and support for the imagemask operator.
8197
8198 2001-03-27  Frank Warmerdam  <warmerdam@pobox.com>
8199
8200         * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to
8201         "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX.
8202
8203         http://bugzilla.remotesensing.org/show_bug.cgi?id=39
8204
8205 2001-03-16  Frank Warmerdam  <warmerdam@pobox.com>
8206
8207         * tif_dirinfo.c: moved definition of copyright tag in field list.
8208         Apparently they have to be in sorted order by tag id.
8209
8210 2001-03-13  Frank Warmerdam  <warmerdam@pobox.com>
8211
8212         * tif_getimage.c: Added support for 16bit minisblack/miniswhite
8213         images in RGBA interface.
8214
8215 2001-03-02  Frank Warmerdam  <warmerdam@pobox.com>
8216
8217         * Added TIFFTAG_COPYRIGHT support.
8218
8219 2001-02-19  Frank Warmerdam  <warmerdam@pobox.com>
8220
8221         * Brent Roman contributed updated tiffcp utility (and tiffcp.1)
8222         with support for extracting subimages with the ,n syntax, and also
8223         adding the -b bias removal flag.
8224
8225 2001-02-16  Frank Warmerdam  <warmerdam@pobox.com>
8226
8227         * libtiff/libtiff.def: Brent Roman submitted new version adding
8228         serveral missing entry points.
8229
8230         * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
8231         Some sort of weird VMS thing.
8232
8233         http://bugzilla.remotesensing.org/show_bug.cgi?id=31
8234
8235         * tif_luv.c/tiff.h/tiffio.h:
8236         New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward
8237         (greg@shutterfly.com).  He writes:
8238
8239         1) I improved the gamut-mapping function in tif_luv.c for imaginary
8240         colors, because some images were being super-saturated on the input
8241         side and this resulted in some strange color shifts in the output.
8242
8243         2) I added a psuedotag in tiff.h to control random dithering during
8244         LogLuv encoding.  This is turned off by default for 32-bit LogLuv and
8245         on for 24-bit LogLuv output.  Dithering improves the average color
8246         accuracy over the image.
8247
8248         3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
8249         tiffio.h, to expose internal routines for converting between LogLuv and
8250         XYZ coordinates.  This is helpful for writing more efficient,
8251         specialized conversion routines, especially for reading LogLuv files.
8252
8253         Changes applied with minor edits.
8254
8255 2001-01-23  Frank Warmerdam  <warmerdam@pobox.com>
8256
8257         * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
8258         whether we are encoding or decoding.  This is to ensure graceful
8259         recovery if TIFFClientOpen() discovers an attempt to open a compressed
8260         file for "r+" access, and subsequently close it, as it resets the
8261         tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
8262         compressor's concept of whether it is in encode or decode mode.
8263
8264 2001-01-08  Mike Welles <mike@bangstate.com>
8265
8266         * Makefile.in:  Now cleaning up after itself after creating the .tar.gz and .zip
8267
8268 2001-01-07  Frank Warmerdam  <warmerdam@pobox.com>
8269
8270         * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet()
8271         as per bug report by Patrick Connor.
8272
8273 2000-12-28  Frank Warmerdam  <warmerdam@pobox.com>
8274
8275         * Added RELEASE-DATE file to release file list.
8276
8277         * Fixed libtiff/makefile.vc to make tiffvers.h not version.h.
8278
8279 2000-12-22  Mike Welles <mike@bangstate.com>
8280         * added link to CVS mirror from index.html
8281
8282         * updated html/internals.html to note that LZW compression is
8283           not supported by default.
8284
8285 2000-12-22  Frank Warmerdam  <warmerdam@pobox.com>
8286
8287         * updated html/libtiff.html to not point at Niles' old JPL web site
8288         for the man pages, point at www.libtiff.org.
8289
8290 2000-12-21  Frank Warmerdam  <warmerdam@pobox.com>
8291
8292         * libtiff/tif_apple.c: Applied "Carbon" support patches supplied by
8293         Leonard Rosenthol <leonardr@lazerware.com>.  May interfere
8294         with correct building on older systems.  If so, please let me know.
8295
8296 2000-12-19 Mike Welles <mike@bangsate.com>
8297
8298         * Took out LZW Encoding from tif_lzw.c
8299
8300         * Created HOWTO-RELEASE
8301
8302         * Created html/v3.5.6.html
8303
8304         * updated index.html
8305
8306 2000-12-01  Frank Warmerdam  <warmerdam@pobox.com>
8307
8308         * Added patches for EOFB support in tif_fax3.c and tif_fax3.h.
8309         Patches supplied by Frank Cringle <fdc@cliwe.ping.de>
8310         Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif
8311
8312 2000-11-24  Frank Warmerdam  <warmerdam@pobox.com>
8313
8314         * libtiff/Makefile.in: Added an installPrivateHdrs and install-private
8315         target so that the private headers required by libgeotiff can be
8316         installed with the others.  They are not installed by default.
8317
8318         * libtiff/Makefile.in: Added @MACHLIBDEPS@ to LINUXdso and GNULDdso
8319         targets so libtiff.so will be built with an explicit dependency
8320         on libm.so.
8321
8322         * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to
8323         libtiff.so.3.5.5.
8324
8325         * libtiff/Makefile.in & configure: Remove all references to the ALPHA
8326         file, or ALPHA version logic.  Added stuff about DIST_POINT in
8327         place of DIST_TYPE and the alpha release number stuff.
8328
8329 2000-11-22  Frank Warmerdam  <warmerdam@pobox.com>
8330
8331         * I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to
8332         the configure script so that it now accepts the --prefix, and
8333         --exec-prefix directives.
8334
8335 2000-11-13  Frank Warmerdam  <warmerda@cs46980-c>
8336
8337         * I have made a variety of modifications in an effort to ensure the
8338         TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE
8339         file which seems to be updated regularly.
8340
8341          o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in
8342            version include file.
8343          o renamed version.h to tiffvers.h because we now have to install it
8344            with the public libtiff include files.
8345          o include tiffvers.h in tiffio.h.
8346          o updated tif_version.c to use tiffvers.h.
8347          o Updated Makefile.in accordingly.
8348
8349         * As per http://bugzilla.remotesensing.org/show_bug.cgi?id=25
8350         I have updated the win32 detection rules in tiffcomp.h.
8351
8352 2000-10-20  Frank Warmerdam  <warmerda@cs46980-c>
8353
8354         * tif_getimage.c: Fixed RGBA translation for YCbCr images for which
8355         the strip/tile width and height aren't multiples of the sampling size.
8356         See http://bugzilla.remotesensing.org/show_bug.cgi?id=20
8357         Some patches from Rick LaMont of Dot C Software.
8358
8359         * Modified tif_packbits.c encoder to avoid compressing more
8360         data than provided if rowsize doesn't factor into provided data
8361         (such as occurs for YCbCr).
8362
8363 2000-10-19  Frank Warmerdam  <warmerda@cs46980-c>
8364
8365         * tools/rgb2ycbcr.c: fixed output strip size to account for vertical
8366         roundup if rows_per_strip not a multiple of vertical sample size.
8367
8368 2000-10-16  Frank Warmerdam  <warmerda@cs46980-c>
8369
8370         * tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory
8371         as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18
8372         from vandrove@vc.cvut.cz.
8373
8374         * Modified tif_packbits.c decoding to avoid overrunning the
8375         output buffer, and to issue a warning if data needs to be
8376         discarded.  See http://bugzilla.remotesensing.org/show_bug.cgi?id=18
8377
8378 2000-10-12  Frank Warmerdam  <warmerda@cs46980-c>
8379
8380         * Modified tiff2bw to ensure portions add to 100%, and that
8381         white is properly recovered.
8382
8383         See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15
8384         Patch c/o Stanislav Brabec <utx@penguin.cz>
8385
8386 2000-09-30  Frank Warmerdam  <warmerda@cs46980-c>
8387
8388         * Modified TIFFClientOpen() to emit an error on an attempt to
8389         open a comperessed file for update (O_RDWR/r+) access.  This is
8390         because the compressor/decompressor code gets very confused when
8391         the mode is O_RDWR, assuming this means writing only.  See
8392         bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13
8393
8394 2000-09-27  Frank Warmerdam  <warmerda@cs46980-c>
8395
8396         * Added GNULDdso target an`d switched linux and freebsd to use it.
8397
8398 2000-09-26  Frank Warmerdam  <warmerda@cs46980-c>
8399
8400         * Applied patch for 0x0000 sequences in tif_fax3.h's definition
8401         of EXPAND1D() as per bug 11 (from Roman).
8402
8403 2000-09-25  Frank Warmerdam  <warmerda@cs46980-c>
8404         * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve
8405         cygwin compatibility.
8406
8407         * Applied patch from Roman Shpount to tif_fax3.c.  This seems to
8408         be a proper fix to the buffer sizing problem.  See
8409         http://bugzilla.remotesensing.org/show_bug.cgi?id=11
8410
8411         * Fixed tif_getimage.c to fix overrun bug with YCbCr images without
8412         downsampling.  http://bugzilla.remotesensing.org/show_bug.cgi?id=10
8413         Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
8414         bug and proving the patch.
8415
8416 2000-09-18  Frank Warmerdam  <warmerda@cs46980-c>
8417
8418         * Fixed tif_jpeg.c so avoid destroying the decompressor before
8419         we are done access data thanks to bug report from:
8420         Michael Eckstein <eckstein@gepro.cz>.
8421
8422         * Reverted tif_flush change.
8423
8424 2000-09-14  Frank Warmerdam  <warmerda@cs46980-c>
8425
8426         * tif_flush.c: Changed so that TIFFFlushData() doesn't return an
8427         error when TIFF_BEENWRITING is not set.  This ensures that the
8428         directory contents can still be flushed by TIFFFlush().
8429
8430 2000-08-14  Frank Warmerdam  <warmerda@rommel.atlsci.com>
8431
8432         * tif_open.c: Don't set MMAP for O_RDWR files.
8433
8434         * tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY
8435         so that files opened for update can be strip chopped too.
8436
8437         * tif_read.c: fixed up bug with files missing rowsperstrip and
8438         the strips per separation fix done a few weeks ago.
8439
8440 2000-07-17  Frank Warmerdam  <warmerda@cs46980-c>
8441
8442         * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
8443         SAMPLEFORMAT_COMPLEXINT.
8444
8445 2000-07-13  Mike Welles <mike@onshore.com>
8446
8447         * index.html, bugs.html: added bugzilla info.
8448
8449 2000-07-12  Frank Warmerdam  <warmerda@rommel.atlsci.com>
8450
8451         * tif_read.c: fix subtle bug with determining the number of
8452         rows for strips that are the last strip in a separation but
8453         not the last strip of all in TIFFReadEncodedStrip().
8454
8455         * Applied 16/32 bit fix to tif_fax3.c.  Fix supplied by
8456         Peter Skarpetis <peters@serendipity-software.com.au>
8457
8458 2000-06-15  Frank Warmerdam  <warmerda@rommel.atlsci.com>
8459
8460         * Modified tiffio.h logic with regard to including windows.h.  It
8461         won't include it when building with __CYGWIN__.
8462
8463 2000-05-11  Frank Warmerdam  <warmerda@cs46980-c>
8464
8465         * README: update to mention www.libtiff.org, don't list Sam's old
8466         email address.
8467
8468         * configure: Fixed DSO test for Linux as per patch from
8469           Jan Van Buggenhout <chipzz@Ace.ULYSSIS.Student.KULeuven.Ac.Be>.
8470
8471 2000-04-21  Frank Warmerdam  <warmerda@rommel.atlsci.com>
8472
8473         * libtiff/tif_dirread.c: Don't use estimate strip byte count for
8474         one tile/strip images with an offset, and byte count of zero. These
8475         could be "unpopulated" images.
8476
8477 2000-04-18  Frank Warmerdam  <warmerda@rommel.atlsci.com>
8478
8479         * contrib/addtiffo: Added "averaging" resampling option.
8480
8481         * tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT.
8482
8483 Tue Apr 18 16:18:08 2000  Frank Warmerdam  <warmerda@esabot.atlsci.com>
8484
8485         * tools/Makefile.in: Modified to install properly on SGI.
8486
8487 2000-04-12  Mike Welles      <mike@onshore.com>
8488         * configure:  Fixed stupid mistake in libc6 test on Linux
8489
8490 2000-04-04  Mike Welles      <mike@onshore.com>
8491         * tif_win32.c:  Applied patch to fix overreads and ovverwrites
8492           caught by BoundsChecker.  From Arvan Pritchard
8493           <arvan.pritchard@infomatix.co.uk>  (untested).
8494
8495         * tif_getimage.c:  Applied patch to silence VC6 warnings.  From
8496           Arvan Pritchard <arvan.pritchard@informatix.co.uk>
8497
8498         * tif_lzw.c:  Applied patch to silence VC6 warnings.  From
8499           Arvan Pritchard <arvan.pritchard@informatix.co.uk>
8500
8501 2000-03-28  Frank Warmerdam  <warmerda@cs46980-c>
8502
8503         * Added contrib/stream (stream io) code submitted by Avi Bleiweiss.
8504
8505 2000-03-28  Frank Warmerdam  <warmerda@cs46980-c>    *** 3.5.5 release ***
8506
8507         * fax2ps: Fixed mixup of width and height in bounding box statement
8508         as per submission by Nalin Dahyabhai <nalin@redhat.com>.
8509
8510 2000-03-27  Mike Welles      <mike@onshore.com>
8511
8512         * fax2ps:  Modified printruns to take uint32 instead of uint16.
8513         Patch courtesy of Bernt Herd <herd@herdsoft.com>
8514
8515 2000-03-20  Mike Welles      <mike@onshore.com>
8516
8517         * configure: added test for libc6 for linux targets.  Bug reported by
8518         Stanislav Brabec <utx@k332.feld.cvut.cz>
8519
8520         * Added 3.5 docs to html/Makefile.in.
8521         Thanks to  Stanislav Brabec <utx@k332.feld.cvut.cz>
8522
8523         * configure: fixed bugs in sed scripts
8524         (applied sed script s:/@:s;@:;s:/s;;:;: to configure).
8525         fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz>
8526
8527         * tools/iptcutil was not in files list, and wasn't being
8528         added to tar archive.  Updated Makefile.in.
8529
8530 2000-03-17  Frank Warmerdam  <warmerda@cs46980-c>
8531
8532         * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
8533         conversion for the run arrays.
8534
8535 2000-03-03  Frank Warmerdam  <warmerda@cs46980-c.mtnk1.on.wave.home.com>
8536
8537         * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of
8538         SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.
8539
8540 2000-03-02  Frank Warmerdam  <warmerda@cs46980-c.mtnk1.on.wave.home.com>
8541
8542         * Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c.
8543
8544         * Patched tif_fax3.c so that dsp->runs is allocated a bit bigger
8545         to avoid overruns encountered with frle_bug.tif.
8546
8547 Tue Feb 15 22:01:05 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8548
8549         * Fixed tools/tiffcmp so that stopondiff testing works.
8550           Patch care of Joseph Orost <joe@sanskrit.lz.att.com>.
8551
8552 2000-01-28    <warmerda@CS46980-B>
8553
8554         * Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is
8555           set to 1, and added default (off) setting in tiffconf.h.  This
8556           should eventually be set by the configure script somehow.
8557
8558           The original work on all these 2-4GB changes was done by
8559           Peter Smith (psmith@creo.com).
8560
8561         * Modified tif_win32.c to support 2-4GB seeks.
8562
8563         * tentatively changed toff_t to be unsigned instead of signed to
8564           facilitate support for 2-4GB files.
8565
8566         * Updated a variety of files to use toff_t.  Fixed some mixups
8567           between toff_t and tsize_t.
8568
8569 Fri Jan 28 10:13:49 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8570
8571         * Largely reimplemented contrib/addtiffo to avoid temp files,
8572         updating the TIFF file in place.  Fixed a few other bugs to.
8573
8574         * Set tif_rawdatasize to zero when freeing raw data buffer in
8575         TIFFWriteDirectory().
8576
8577         * Enabled "REWRITE_HACK" in tif_write.c by default.
8578
8579         * Fix bug in tif_write.c when switching between reading one directory
8580         and writing to another.
8581
8582         * Made TIFFWriteCheck() public, and added TIFFCreateDirectory()
8583
8584 Wed Jan  5 12:37:48 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8585
8586         * Added TIFFmemory(3t) functions to libtiff.def.
8587
8588 Tue Jan  4 13:39:00 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8589
8590         * Added libtiff/libtiff.def to TIFFILES distribution list.
8591
8592 Mon Dec 27 12:13:39 EST 1999  Mike Welles <mike@onshore.com>
8593
8594         * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit).
8595
8596         * Altered descriptions in tools to reflect "by default" lzw not supported
8597
8598         * Updated index.html to note lzw compression kit.
8599
8600 Tue Dec 21 14:01:51 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8601
8602         * Added fax3sm_winnt.c to distribution list in Makefile.in.
8603
8604 Tue Dec 21 11:04:45 EST 1999  Mike Welles <mike@onshore.com> *** 3.5.4 release ***
8605
8606         * Aadded Pixar tag support.  Contributed by Phil Beffery <phil@pixar.com>
8607
8608         * Made one more change to tif_dir.c for removal of LZW compression. Also added notice
8609           when LZW compression invoked.
8610
8611         * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
8612           in tools to reflect removal of LZW compression
8613
8614 Mon Dec 20 18:39:02 EST 1999  Mike Welles  <mike@onshore.com>
8615
8616         * Fixed bug that caused LZW (non) compression to segfault. Added
8617           warning about LZW compression removed being removed, and why.
8618
8619         * Added nostrip to install in tools/Makefile.in so that debugging
8620           symbols are kept.
8621
8622 Tue Dec  7 12:04:47 EST 1999  Mike Welles  <mike@onshore.com>
8623
8624         * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>,
8625           supporting Adobe ZIP deflate.  Untested.
8626
8627 Sat Dec  4 15:47:11 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8628
8629         * Made Packbits the default compression in tools/tiff2rgba.c instead
8630         of LZW.
8631
8632 Tue Nov 30 14:41:43 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>    *** 3.5.3. release ***
8633
8634         * Added tif_luv to contrib/djgpp/Makefile.lib.
8635
8636 Tue Nov 30 14:15:32 EST 1999   Mike Welles <mike@onshore.com>
8637
8638         * Added zip creation to relase makefile target
8639
8640         * Added html for TIFFWriteTile.3t man page.
8641
8642 Tue Nov 30 09:20:16 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8643
8644         * Added some changes to tif_write.c to support rewriting existing
8645         fixed sized tiles and strips.  Code mods disabled by default, only
8646         enabled if REWRITE_HACK is defined for now.
8647
8648 Mon Nov 29 11:43:42 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8649
8650         * Added TIFFWriteTile.3t man page.
8651
8652 Sun Nov 28 20:36:18 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8653
8654         * Added notes on use of makefile.vc in build.html, and fixed
8655         email subscription address.
8656
8657 199-11-28  Mike Welles <mike@onshore.com>
8658
8659         *  Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c
8660
8661         *  Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
8662            from Bruce Carmeron <cameron@petris.com> -- modifications of
8663            changes made by Frank (sun cc still complained on cast).
8664
8665         *  Added tiffconf.h to install target per request from Bill
8666            Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to
8667            know features have been compiled into the TIFF library in order to
8668            handle things properly".
8669
8670 Sat Nov 27 16:49:21 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8671
8672         * fixed various VC++ warnings as suggested by Gilles Vollant
8673         <info@winimage.com>.
8674
8675 Wed Nov 24 12:08:16 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8676
8677         * Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to
8678         not imply applications are responsible for image data swapping.
8679
8680 1999-11-22  Mike Welles <mike@onshore.com>
8681         *  HTML-ized the man pages, added to html/man
8682
8683         *  Removed LZW Compression to comply with Unisys patent extortion.
8684
8685 1999-09-29  Mike Welles         <mike@onshore.com>
8686         *  Corrected one remaining 16 -> 32 bit value in tif_fax3.c,
8687            From Ivo Penzar <ivo.penzar@infolink-software.com.
8688
8689         *  Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
8690            memory mapped files. <ivo.penzar@infolink-software.com>
8691
8692 1999-09-26  Mike Welles         <mike@onshore.com>  *** 3.5.2 release ***
8693         * Corrected alpha versioning.
8694
8695         * Removed distinction between  alpha and release targets in Makefile.in.
8696
8697         * added release.stamp target, which tags cvs tree, and updates
8698           "RELEASE-DATE"
8699
8700         * added releasediff target, which diffs tree with source as of
8701           date in "RELEASE-DATE"
8702
8703         * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving
8704           away from alpha/non-alpha distinctions).
8705
8706         * updated html to reflect release
8707
8708 1999-09-23    <warmerda@CS46980-B>
8709
8710         * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.
8711
8712         * Added CYGWIN case in configure.
8713
8714 Fri Sep 17 00:13:51 CEST 1999  Mike Welles <mike@onshore.com>
8715
8716         * Applied Francois Dagand's patch to handle fax decompression bug.
8717           (sizes >= 65536 were failing)
8718
8719 Tue Sep 14 21:31:43 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8720
8721         * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested
8722           by Christopher Lawton <clawton@mathworks.com>
8723
8724 Wed Sep  8 08:19:18 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8725
8726         * Added IRIX/gcc, and OSF/1 4.x support on behalf of
8727           Albert Chin-A-Young <china@thewrittenword.com>
8728
8729         * Added TIFFReassignTagToIgnore() API on behalf of
8730           Bruce Cameron <cameron@petris.com>.  Man page still pending.
8731
8732 Wed Aug 25 11:39:07 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8733
8734         * Added test target in Makefile, test_pics.sh script and pics/*.rpt
8735         files to provide for a rudimentary testsuite.
8736
8737         * Added contrib/tags back from old distribution ... fixed up a bit.
8738
8739 1999-08-16    <warmerda@CS46980-B>
8740
8741         * Added simple makefile.vc makefiles for building with MS VC++
8742         on Windows NT/98/95 in console mode.  Stuff in contrib/win* make give
8743         better solutions for some users.
8744
8745 Mon Aug 16 21:52:11 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8746
8747         * Added addtiffo (add overviews to a TIFF file) in contrib.  Didn't
8748         put it in tools since part of it is in C++.
8749
8750 1999-08-16  Michael L. Welles  <mike@kurtz.fake>
8751
8752         * Updated html/index.html with anon CVS instructions.
8753
8754 Mon Aug 16 13:18:41 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>
8755
8756         * pre-remove so link before softlink in LINUXdso action in
8757         libtiff/Makefile.in to avoid failure on LINUXdso builds other than
8758         the first.
8759
8760         * Fixed problem with cvtcmap() in tif_getimage.c modifying the
8761         colormaps owned by the TIFF handle itself when trying to fixup wrong
8762         (eight bit) colormaps.  Corrected by maintaining a private copy of
8763         the colormap.
8764
8765         * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in
8766         tif_getimage.c.
8767
8768         * CVS Repository placed at remotesensing.org.  ChangeLog added.