12020-12-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2 3 * libtiff 4.2.0 released. 4 5 * configure.ac: Pass tar-ustar option to AM_INIT_AUTOMAKE rather 6 than tar-pax since ustar POSIX 1003.1-1988 format is more portable 7 than PAX POSIX 1003.1-2001 format. 8 92020-12-12 Even Rouault <even.rouault@spatialys.com> 10 11 Merge branch 'w_adjust-deflate_names' into 'master' 12 Set 'deflate' to DEFLATE_NAMES, instead of 'libdeflate' 13 14 See merge request libtiff/libtiff!174 15 162020-12-12 Lemures Lemniscati <lemures.lemniscati@gmail.com> 17 18 Set 'deflate' to DEFLATE_NAMES, instead of 'libdeflate' 19 'lib' will be automatically added as a prefix while doing find_library() 20 212020-12-12 Even Rouault <even.rouault@spatialys.com> 22 23 DoubleToRational(): avoid casting NaN to uint32 (fixes #227) 24 252020-12-12 Even Rouault <even.rouault@spatialys.com> 26 27 Merge branch 'fix_221' into 'master' 28 tiffio.h: do not define __attribute__ but defines TIFF_ATTRIBUTE instead (fixes #221) 29 30 Closes #221 31 32 See merge request libtiff/libtiff!173 33 342020-12-12 Even Rouault <even.rouault@spatialys.com> 35 36 tiffio.h: do not define __attribute__ but defines TIFF_ATTRIBUTE instead (fixes #221) 37 382020-12-08 Even Rouault <even.rouault@spatialys.com> 39 40 TIFFReadDirEntryArrayWithLimit(): properly read from offline tag value when we clamp the number of strips to 1. 41 Fixes regression of commit 7057734d986001b7fd6d2afde9667da7754ff2cc on reading 42 a file with StripByteCounts with 1 element (broken) and StripOffsets with 43 896 elements, and where StripOffsets[0] is correct 44 45 $ tiffdump foo.tif 46 Magic: 0x4949 <little-endian> Version: 0x2a <ClassicTIFF> 47 Directory 0: offset 25725448 (0x1888a08) next 0 (0) 48 SubFileType (254) LONG (4) 1<0> 49 ImageWidth (256) LONG (4) 1<640> 50 ImageLength (257) LONG (4) 1<20098> 51 BitsPerSample (258) SHORT (3) 1<16> 52 Photometric (262) SHORT (3) 1<1> 53 SamplesPerPixel (277) SHORT (3) 1<1> 54 ResolutionUnit (296) SHORT (3) 1<2> 55 StripByteCounts (279) LONG (4) 1<1806> 56 StripOffsets (273) LONG (4) 896<8 648 1288 1928 2568 3208 3848 4488 5128 5768 6408 7048 7688 8328 8968 9608 10248 10888 11528 12168 12808 13448 14088 14728 ...> 57 582020-12-02 Even Rouault <even.rouault@spatialys.com> 59 60 tif_jpeg.c: avoid potential harmless unsigned integer overflow on data->fileoffset in JPEGFixupTagsSubsamplingSkip() by validating earlier. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28200 61 622020-11-27 Even Rouault <even.rouault@spatialys.com> 63 64 Merge branch 'Jamaika1-master-patch-47839' into 'master' 65 Change ULARGE_INTEGER to LARGE_INTEGER 66 67 See merge request libtiff/libtiff!170 68 692020-11-27 Even Rouault <even.rouault@spatialys.com> 70 71 Merge branch 'Jamaika1-master-patch-46397' into 'master' 72 Added stdint.h 73 74 See merge request libtiff/libtiff!171 75 762020-11-27 Jamaika <lukaszcz18@wp.pl> 77 78 Added stdint.h. 79 80 ``` tif_win32.c: In function '_tiffSizeProc': tif_win32.c:159:23: warning: passing argument 2 of 'GetFileSizeEx' from incompatible pointer type [-Wincompatible-pointer-types] 159 | if (GetFileSizeEx(fd,&m)) | ^~ | | | ULARGE_INTEGER * In file included from c:\msys1021\x86_64-w64-mingw32\include\winbase.h:18, from c:\msys1021\x86_64-w64-mingw32\include\windows.h:70, from tif_win32.c:32: c:\msys1021\x86_64-w64-mingw32\include\fileapi.h:78:73: note: expected 'PLARGE_INTEGER' {aka 'LARGE_INTEGER *'} but argument is of type 'ULARGE_INTEGER *' 78 | WINBASEAPI WINBOOL WINAPI GetFileSizeEx (HANDLE hFile, PLARGE_INTEGER lpFileSize); | ~~~~~~~~~~~~~~~^~~~~~~~~~ ``` 81 822020-11-21 Even Rouault <even.rouault@spatialys.com> 83 84 Merge branch 'issue-113' into 'master' 85 tiffcrop: fix buffer overrun in extractContigSamples24bits() 86 87 Closes #113 88 89 See merge request libtiff/libtiff!169 90 912020-11-21 Even Rouault <even.rouault@spatialys.com> 92 93 Merge branch 'issue-156' into 'master' 94 tiff2pdf: Check output size before writing 95 96 Closes #156 97 98 See merge request libtiff/libtiff!168 99 1002020-11-21 Even Rouault <even.rouault@spatialys.com> 101 102 Merge branch 'issue-201' into 'master' 103 tiff2pdf: enforce memory limit for tiled pictures too 104 105 Closes #201 106 107 See merge request libtiff/libtiff!167 108 1092020-11-20 Even Rouault <even.rouault@spatialys.com> 110 111 Merge branch 'issue-207' into 'master' 112 enforce (configurable) memory limit in tiff2rgba 113 114 Closes #209 et #207 115 116 See merge request libtiff/libtiff!165 117 1182020-11-20 Even Rouault <even.rouault@spatialys.com> 119 120 tif_lzw.c: avoid false positive -Wnull-dereference of mingw32 gcc 7.3. 121 1222020-11-17 Thomas Bernard <miniupnp@free.fr> 123 124 tiffcrop: fix buffer overrun in extractContigSamples24bits() 125 fixes #113 126 127 tiff2pdf: Check output size before writing. 128 fixes #156 129 130 tiff2pdf: enforce memory limit for tiled pictures too. 131 fixes #201 132 1332020-11-15 Thomas Bernard <miniupnp@free.fr> 134 135 tiff2rgba.1: -M option. 136 137 enforce (configurable) memory limit in tiff2rgba. 138 fixes #207 139 fixes #209 140 1412020-11-14 Even Rouault <even.rouault@spatialys.com> 142 143 Merge branch 'issue-220' into 'master' 144 tiff2pdf.c: properly calculate datasize when saving to JPEG YCbCr 145 146 Closes #220 147 148 See merge request libtiff/libtiff!159 149 1502020-11-14 Thomas Bernard <miniupnp@free.fr> 151 152 tiff2pdf.c: properly calculate datasize when saving to JPEG YCbCr. 153 fixes #220 154 1552020-11-14 Even Rouault <even.rouault@spatialys.com> 156 157 Merge branch 'issue-204' into 'master' 158 avoid buffer overflow while writing jpeg end of file marker 159 160 Closes #204 161 162 See merge request libtiff/libtiff!161 163 1642020-11-14 Even Rouault <even.rouault@spatialys.com> 165 166 Merge branch 'issue-193' into 'master' 167 fix buffer overflow in tiff2ps.c 168 169 Closes #193 170 171 See merge request libtiff/libtiff!162 172 1732020-11-14 Even Rouault <even.rouault@spatialys.com> 174 175 Merge branch 'skal65535-master-patch-91082' into 'master' 176 More overflow fixes for large widths 177 178 See merge request libtiff/libtiff!164 179 1802020-11-14 skal <pascal.massimino@gmail.com> 181 182 More overflow fixes for large width. 183 Also: use INT_MAX instead of hard-coded constants. 184 1852020-11-12 Even Rouault <even.rouault@spatialys.com> 186 187 Merge branch 'skal65535-master-patch-56655' into 'master' 188 Fix potential overflow in gtStripContig() 189 190 See merge request libtiff/libtiff!163 191 1922020-11-12 Even Rouault <even.rouault@spatialys.com> 193 194 Merge branch 'issue-211' into 'master' 195 check for tile width overflow 196 197 Closes #211 198 199 See merge request libtiff/libtiff!160 200 2012020-11-12 skal <pascal.massimino@gmail.com> 202 203 Fix potential overflow in gtStripContig() 204 (w + w) might not fit in int32 if too large. 205 2062020-11-09 Thomas Bernard <miniupnp@free.fr> 207 208 tiff2ps.c: fix buffer overread. 209 fixes #193 210 211 fix undefined behaviour (int shifted too much to the left) 212 213 avoid buffer overflow while writing jpeg end of file marker. 214 fixes #204 215 216 gtTileContig(): check Tile width for overflow. 217 fixes #211 218 219 fix warning messages (v32 is unsigned) 220 2212020-10-26 Even Rouault <even.rouault@spatialys.com> 222 223 TIFFStartStrip(): avoid potential crash in WebP codec when using scanline access on corrupted files. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26650 224 2252020-10-20 Even Rouault <even.rouault@spatialys.com> 226 227 tif_webp.c: validate tile/strip dimension to avoid unsigned integer overflow in RGBA.size computation 228 2292020-10-19 Even Rouault <even.rouault@spatialys.com> 230 231 tif_zip.c: fix typo in comment. 232 2332020-10-16 Even Rouault <even.rouault@spatialys.com> 234 235 tiff.h: remove irrelevant warning about webp related pseudo-tags not being registered: they are purely internal libtiff concepts 236 2372020-10-16 Even Rouault <even.rouault@spatialys.com> 238 239 Merge branch 'libdeflate' into 'master' 240 Add support for building against libdeflate for faster Zip/Deflate compression/decompression 241 242 See merge request libtiff/libtiff!158 243 2442020-10-16 Even Rouault <even.rouault@spatialys.com> 245 246 test: add testdeflatelaststripextradata.sh. 247 2482020-10-16 Even Rouault <even.rouault@spatialys.com> 249 250 Add support for optional building against libdeflate for faster Zip/Deflate compression/decompression. 251 So we can have 2 kind of builds with the Zip/Deflate codec: 252 - zlib only 253 - zlib + libdeflate 254 255 Speed improvements in the 35%-50% range can be expected when libdeflate is used. 256 Compression level up to 12 is now supported (capped to 9 when zlib is used). 257 Still requires zlib for situations where libdeflate cannot be used (that 258 is for scanline access, since libdeflate has no streaming mode) 259 260 Pseudo-tag TIFFTAG_DEFLATE_SUBCODEC=DEFLATE_SUBCODEC_ZLIB/DEFLATE_SUBCODEC_LIBDEFLATE 261 is added to control which subcodec (zlib or libdeflate) should be used (it defaults 262 of course to libdeflate, when it is available). 263 This is mostly aimed at being used on the writing side, to be able to reproduce 264 output of previous libtiff versions at a binary level, in situations where this would 265 be really needed. Or as a safety belt in case there would be unforeseen issues 266 with using libdeflate. 267 It can be used to know when libdeflate is available at runtime (DEFLATE_SUBCODEC_LIBDEFLATE 268 will be the default value in that situation). 269 270 Of course, deflate codestreams produced by libdeflate can be read by zlib, and vice-versa. 271 2722020-10-14 Even Rouault <even.rouault@spatialys.com> 273 274 tif_webp.c: fix compiler warnings with MSVC. 275 2762020-10-12 Even Rouault <even.rouault@spatialys.com> 277 278 Merge branch 'various_fixes' into 'master' 279 Fix compiler warnings about unused variables when assert() expands to nothing 280 281 See merge request libtiff/libtiff!157 282 2832020-10-12 Even Rouault <even.rouault@spatialys.com> 284 285 .gitignore: add entries for new files in test/ 286 287 Fix compiler warnings about unused variables when assert() expands to nothing 288 2892020-10-09 Roger Leigh <rleigh@codelibre.net> 290 291 Merge branch '215-cygwin-appveyor-fail' into 'master' 292 Update Appveyor CI build to build with VS2019 image 293 294 Closes #215 295 296 See merge request libtiff/libtiff!154 297 2982020-10-09 Roger Leigh <rleigh@codelibre.net> 299 300 wip. 301 302 wip. 303 304 wip. 305 306 wip. 307 308 wip. 309 310 wip. 311 3122020-10-09 Roger Leigh <rleigh@codelibre.net> 313 314 Merge branch 'TIFF-217_m_lib_path' into 'master' 315 cmake: Do not use absolute libm path 316 317 Closes #217 318 319 See merge request libtiff/libtiff!156 320 3212020-10-09 Roger Leigh <rleigh@codelibre.net> 322 323 cmake: Do not use absolute libm path. 324 3252020-10-08 Even Rouault <even.rouault@spatialys.com> 326 327 tif_fax3.h: restore systematic calls to CLEANUP_RUNS() 328 now that SETVALUE() no longer cause overflows. 329 Those were removed per b351db8be1b4d3f712bdb9424a79d3174cc03202 and 330 3440ac216463fcad170bbb391491e69730a59ffa. 331 332 As SETVALUE() now returns an error, this allow the decoder to exit. 333 334 Otherwise, the assert(x == lastx) in _TIFFFax3fillruns() can trigger. 335 336 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=26201 337 3382020-10-06 Even Rouault <even.rouault@spatialys.com> 339 340 Merge branch 'check_TIFFFlushData1' into 'master' 341 FAX/JPEG/LZMA/PixarLog/ZIP/ZSTD codecs: make sure to check TIFFFlushData1() return value 342 343 See merge request libtiff/libtiff!155 344 3452020-10-04 Even Rouault <even.rouault@spatialys.com> 346 347 Merge branch 'shared-memory' into 'master' 348 Set the --shared-memory linker flag for Emscripten builds 349 350 See merge request libtiff/libtiff!153 351 3522020-10-03 Even Rouault <even.rouault@spatialys.com> 353 354 tiff2rgba.c: fix -Wold-style-declaration warning. 355 356 FAX/JPEG/LZMA/PixarLog/ZIP/ZSTD codecs: make sure to check TIFFFlushData1() return value 357 3582020-09-26 Even Rouault <even.rouault@spatialys.com> 359 360 tif_fax3.h: extra buffer overflow checks. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25934 361 3622020-09-25 Roger Leigh <rleigh@codelibre.net> 363 364 wip. 365 366 wip. 367 368 wip. 369 370 wip. 371 372 wip. 373 374 wip. 375 376 Update AppVeyor image. 377 378 test-appveyor. 379 3802020-09-24 Attila Oláh <atl@google.com> 381 382 Also pass --shared-memory to raw_decode. 383 This is needed when building for Emscripten with *both* WEBP and JPEG 384 support. 385 386 Set the --shared-memory linker flag for Emscripten builds. 387 This is only needed when building with WEBP support, which uses atomics, 388 therefore the linker needs the --shared-memory flag. The flag cannot be 389 added globally because not all executables link against libwebp. 390 3912020-09-22 Even Rouault <even.rouault@spatialys.com> 392 393 tif_fax3.h: return error when a buffer overflow occurs. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25552 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25849 394 3952020-09-11 Even Rouault <even.rouault@spatialys.com> 396 397 Merge branch 'fix-float-compare' into 'master' 398 Fix comparison for max negative float value. 399 400 See merge request libtiff/libtiff!152 401 4022020-09-11 Dirk Lemstra <dirk@lemstra.org> 403 404 Fix comparison for max negative float value. 405 4062020-09-07 Even Rouault <even.rouault@spatialys.com> 407 408 Fax3PreDecode(): reset curruns and refruns state variables. 409 to avoid out-of-bounds write triggered by GDAL when repeatedly 410 reading a corrupt strip. 411 412 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25493 413 4142020-06-06 Thomas Bernard <miniupnp@free.fr> 415 416 Merge branch 'issue-17' into 'master' 417 normalize tools behaviour regarding -h 418 419 Closes #17 420 421 See merge request libtiff/libtiff!115 422 4232020-05-31 Even Rouault <even.rouault@spatialys.com> 424 425 TWebPSetupEncode(): fix logic problem (and instead of or) in test that checks input is 8bit unsigned data 426 4272020-05-12 Even Rouault <even.rouault@spatialys.com> 428 429 TIFFGetConfiguredCODECs(): fix to avoid wrong structure to be returned for registered (ie non built-in) codecs 430 4312020-05-09 Even Rouault <even.rouault@spatialys.com> 432 433 Merge branch 'zstd-webp-update' into 'master' 434 gitlab-ci: use latest zstd and webp versions 435 436 See merge request libtiff/libtiff!148 437 4382020-05-09 Even Rouault <even.rouault@spatialys.com> 439 440 Merge branch 'deprecated' into 'master' 441 ojpeg: s/Depreciated/Deprecated/ 442 443 See merge request libtiff/libtiff!149 444 4452020-05-09 Aaron Boxer <boxerab@gmail.com> 446 447 ojpeg: s/Depreciated/Deprecated/ 448 4492020-04-27 Even Rouault <even.rouault@spatialys.com> 450 451 Fix typos. 452 453 tif_jpeg.c: avoid potential division in previous fix (master only) 454 4552020-04-26 Thomas Bernard <miniupnp@free.fr> 456 457 gitlab-ci: use latest zstd and webp versions. 458 4592020-04-26 Even Rouault <even.rouault@spatialys.com> 460 461 tiff.h: fixes to use ASCII only characters (master only) 462 4632020-04-26 Thomas Bernard <miniupnp@free.fr> 464 465 tiffsplit: use EXIT_SUCCESS / EXIT_FAILURE. 466 467 tiffset: print usage on stdout when -h is used. 468 also use EXIT_FAILURE / EXIT_SUCCESS 469 see #17 470 471 tiffmedian: shopw usage on stdout when -h is used. 472 aslo use EXIT_SUCCESS/EXIT_FAILURE 473 see #17 474 475 tiffinfo: print usage on stdout when -h is used. 476 also use EXIT_FAILURE / EXIT_SUCCESS 477 see #17 478 479 raw2tiff: print usage to stdout when -h is used. 480 see #17 481 482 tiff2pdf: print usage on stdout when -h is used. 483 see #17 484 485 tiffgt: output usage on stdout with -h. 486 also use EXIT_SUCCESS / EXIT_FAILURE 487 488 tiffdump: use EXIT_FAILURE / EXIT_SUCCESS. 489 see #17 490 491 tiffdither: print usage on stdout when -h is used. 492 see #17 493 4942020-04-26 Thomas Bernard <miniupnp@free.fr> 495 496 tiffcrop: -h / -v prints usage/version to stdout. 497 also uses the standard C EXIT_SUCCESS / EXIT_FAILURE 498 macros 499 500 see #17 501 5022020-04-26 Thomas Bernard <miniupnp@free.fr> 503 504 tiffcp: output usage to stdout when using -h. 505 also use EXIT_FAILURE / EXIT_SUCCESS 506 see #17 507 508 tiffcmp: match exit status for posix cmp and diff tools. 509 510 tiff2rgba: output usage to stdout when using -h. 511 also uses std C EXIT_FAILURE / EXIT_SUCCESS 512 see #17 513 514 tiff2ps: sue EXIT_FAILURE / EXIT_SUCCESS. 515 see #17 516 517 tiff2bw: output usage on stdout when using -h. 518 also uses EXIT_SUCCESS / EXIT_FAILURE 519 see #17 520 521 thumbnail: use EXIT_FAILURE / EXIT_SUCCESS. 522 the -h option was already used so it cannot be used for help/usage 523 see #17 524 525 rgb2ycbcr: use EXIT_FAILURE / EXIT_SUCCESS. 526 the -h option was already used so it cannot be used for help/usage 527 see #17 528 529 ppm2tiff: output usage to stdout when using -h option. 530 also uses std C EXIT_SUCCESS / EXIT_FAILURE 531 see #17 532 533 pal2rgb: output usage to stdout when -h is used. 534 see #17 535 536 fax2tiff.c: print usage on stdout when using -h option. 537 see #17 538 539 fax2ps: output usage to stdout when using -h option. 540 also use EXIT_SUCCESS, EXIT_FAILURE from C standard 541 5422020-04-25 Even Rouault <even.rouault@spatialys.com> 543 544 Merge branch 'jpeg_multiscan_dos_logic' into 'master' 545 tif_jpeg.c: revise logic to detect potential excessive memory usage when... 546 547 See merge request libtiff/libtiff!147 548 5492020-04-24 Even Rouault <even.rouault@spatialys.com> 550 551 Merge branch 'issue-176' into 'master' 552 tiff2pdf: get rid of uninitialized memory content 553 554 Closes #176 555 556 See merge request libtiff/libtiff!143 557 5582020-04-24 Even Rouault <even.rouault@spatialys.com> 559 560 tif_jpeg.c: revise logic to detect potential excessive memory usage when decoding multiscan JPEG compressed images 561 5622020-04-19 Thomas Bernard <miniupnp@free.fr> 563 564 tiff2pdf: test the return code of TIFFReadRawStrip() and TIFFReadRawTile() 565 566 tiff2pdf.c: fix some whitespace problems in source. 567 568 tiff2pdf: get rid of uninitialized memory content. 569 fixes #176 570 5712020-04-19 Even Rouault <even.rouault@spatialys.com> 572 573 Merge branch 'issue-18' into 'master' 574 tiffset: pass size for TIFFTAG_INKNAMES 575 576 Closes #18 577 578 See merge request libtiff/libtiff!146 579 5802020-04-18 Olivier Paquet <olivier.paquet@gmail.com> 581 582 Merge branch 'issue-80' into 'master' 583 tiffinfo: fix dump of Tiled images 584 585 Closes #80 586 587 See merge request libtiff/libtiff!144 588 5892020-04-15 Even Rouault <even.rouault@spatialys.com> 590 591 Fix wrong file size checks for memory-mapped BigTIFF files that could lead to image rejection 592 5932020-04-05 Thomas Bernard <miniupnp@free.fr> 594 595 tiffset: pass size for TIFFTAG_INKNAMES. 596 Uses TIFFFieldPassCount() to know which arguments need to be 597 passed to TiffSetField() 598 599 fixes #18 600 see http://bugzilla.maptools.org/show_bug.cgi?id=2202 601 6022020-04-04 Thomas Bernard <miniupnp@free.fr> 603 604 tiffinfo: showdata for tiled images. 605 606 tiffinfo: fix dump of Tiled images. 607 fixes #80 608 6092020-04-03 Even Rouault <even.rouault@spatialys.com> 610 611 Merge branch 'issue-117' into 'master' 612 tiffcrop: enforce memory allocation limit 613 614 Closes #117 615 616 See merge request libtiff/libtiff!140 617 6182020-04-03 Thomas Bernard <miniupnp@free.fr> 619 620 tiffcrop: enforce memory allocation limit. 621 uses -k option to change limit (default to 256MiB) 622 fixes #117 / http://bugzilla.maptools.org/show_bug.cgi?id=2757 623 6242020-04-02 Even Rouault <even.rouault@spatialys.com> 625 626 Merge branch 'issue-45' into 'master' 627 tiffcp: disable strip chopping when trying to convert to JBIG compression 628 629 Closes #45 630 631 See merge request libtiff/libtiff!138 632 6332020-04-02 Even Rouault <even.rouault@spatialys.com> 634 635 Merge branch 'issue-124' into 'master' 636 TIFFGetFields(3tiff): TIFFTAG_*BYTECOUNTS TIFFTAG_*OFFSETS are uint64 637 638 Closes #124 639 640 See merge request libtiff/libtiff!137 641 6422020-04-02 Even Rouault <even.rouault@spatialys.com> 643 644 Merge branch 'aix_itrunc' into 'master' 645 Rename itrunc to fix name clash with a different itrunc in math.h on AIX. Fixes issue #189 646 647 Closes #189 648 649 See merge request libtiff/libtiff!139 650 6512020-04-01 Rob Boehne <robb@datalogics.com> 652 653 Rename itrunc to fix name clash with a different itrunc in math.h on AIX. Fixes issue #189 654 6552020-04-01 Thomas Bernard <miniupnp@free.fr> 656 657 tiffcp: disable strip chopping when trying to convert to JBIG compression 658 fixes #45 659 6602020-03-29 Thomas Bernard <miniupnp@free.fr> 661 662 TIFFGetFields(3tiff): TIFFTAG_*BYTECOUNTS TIFFTAG_*OFFSETS are uint64. 663 fixes #124 / http://bugzilla.maptools.org/show_bug.cgi?id=2774 664 6652020-03-29 Even Rouault <even.rouault@spatialys.com> 666 667 Merge branch 'issue-48' into 'master' 668 tiff2pdf: fix "raw" copy of Deflate streams 669 670 Closes #48 671 672 See merge request libtiff/libtiff!136 673 6742020-03-27 Thomas Bernard <miniupnp@free.fr> 675 676 tiff2pdf: fix "raw" copy of Deflate streams. 677 The Predictor parametter was not copied from the source tiff to the PDF. 678 fixes #48 / http://bugzilla.maptools.org/show_bug.cgi?id=2442 679 6802020-03-26 Thomas Bernard <miniupnp@free.fr> 681 682 tif_fax3: quit Fax3Decode2D() when a buffer overflow occurs. 683 fixes #186 684 6852020-03-24 Even Rouault <even.rouault@spatialys.com> 686 687 Merge branch 'issue-143-144' into 'master' 688 tiffdump: avoid unaligned memory access 689 690 Closes #144 et #143 691 692 See merge request libtiff/libtiff!133 693 6942020-03-24 Even Rouault <even.rouault@spatialys.com> 695 696 Merge branch 'issue-133' into 'master' 697 tiff2pdf: avoid divide by 0 698 699 Closes #133 700 701 See merge request libtiff/libtiff!126 702 7032020-03-24 Thomas Bernard <miniupnp@free.fr> 704 705 tiff2pdf: normalizePoint() macro to normalize the white point. 706 7072020-03-23 Thomas Bernard <miniupnp@free.fr> 708 709 tiffdump: avoid unaligned memory access. 710 fixes #143 711 fixes #144 712 7132020-03-23 Even Rouault <even.rouault@spatialys.com> 714 715 Merge branch 'out-of-memory' into 'master' 716 tiffcp/tiff2pdf/tiff2ps: enforce maximum malloc size 717 718 Closes #153, #84, #116 et #115 719 720 See merge request libtiff/libtiff!130 721 7222020-03-23 Even Rouault <even.rouault@spatialys.com> 723 724 Merge branch 'issue-157' into 'master' 725 tiffset: check memory allocation 726 727 Closes #157 728 729 See merge request libtiff/libtiff!132 730 7312020-03-23 Even Rouault <even.rouault@spatialys.com> 732 733 Merge branch 'issue-185' into 'master' 734 tif_fax3: more buffer overflow checks in Fax3Decode2D() 735 736 Closes #185 737 738 See merge request libtiff/libtiff!131 739 7402020-03-23 Thomas Bernard <miniupnp@free.fr> 741 742 tiffset: check memory allocation. 743 fixes #157 / http://bugzilla.maptools.org/show_bug.cgi?id=2850 744 745 tif_fax3: more buffer overflow checks in Fax3Decode2D() 746 fixes #185 747 7482020-03-21 Thomas Bernard <miniupnp@free.fr> 749 750 tiff2ps: enforce memory allocation limit. 751 fixes #153 / http://bugzilla.maptools.org/show_bug.cgi?id=2845 752 753 tiff2pdf: enforce maximum data size. 754 fixes #116 / http://bugzilla.maptools.org/show_bug.cgi?id=2756 755 fixes #84 / http://bugzilla.maptools.org/show_bug.cgi?id=2683 756 757 update man page for tiffcp regarding the -m option. 758 759 tiffcp.c: _TIFFmalloc() => limitMalloc() 760 7612020-03-21 Thomas Bernard <miniupnp@free.fr> 762 763 tiffcp: enforce maximum malloc size. 764 default is 256MB. use -m option to change 765 766 fixes #115 / http://bugzilla.maptools.org/show_bug.cgi?id=2755 767 7682020-03-21 Even Rouault <even.rouault@spatialys.com> 769 770 Merge branch 'issue-184' into 'master' 771 CmakeLists.txt: define WORDS_BIGENDIAN when the CPU is big endian 772 773 Closes #184 774 775 See merge request libtiff/libtiff!127 776 7772020-03-21 Even Rouault <even.rouault@spatialys.com> 778 779 Merge branch 'issue-44' into 'master' 780 tiff2pdf: "" causes the relevant argument not to be written 781 782 Closes #44 783 784 See merge request libtiff/libtiff!128 785 7862020-03-21 Even Rouault <even.rouault@spatialys.com> 787 788 Merge branch 'issue-56' into 'master' 789 fix man for TIFFReadEncodedStrip(), TIFFStripSize, TIFFVStripSize, TIFFRawStripSize 790 791 Closes #56 792 793 See merge request libtiff/libtiff!129 794 7952020-03-20 Thomas Bernard <miniupnp@free.fr> 796 797 fix man for TIFFReadEncodedStrip(), TIFFStripSize, TIFFVStripSize, TIFFRawStripSize 798 fixes #56 799 http://bugzilla.maptools.org/show_bug.cgi?id=2507 800 801 tiff2pdf: "" causes the relevant argument not to be written. 802 fixes #44 803 804 CmakeLists.txt: define WORDS_BIGENDIAN when the CPU is big endian. 805 fixes #184 806 8072020-03-17 Thomas Bernard <miniupnp@free.fr> 808 809 tiff2pdf: avoid divide by 0. 810 fixes #133 http://bugzilla.maptools.org/show_bug.cgi?id=2796 811 8122020-03-17 Even Rouault <even.rouault@spatialys.com> 813 814 Merge branch 'issue-22' into 'master' 815 do not _tiffMapProc 0 size files 816 817 Closes #22 818 819 See merge request libtiff/libtiff!125 820 8212020-03-13 Thomas Bernard <miniupnp@free.fr> 822 823 tif_win32.c: do not _tiffMapProc() 0 sized files. 824 see #22 825 826 tif_unix.c: do not _tiffMapProc 0 size files. 827 fixes #22 828 http://bugzilla.maptools.org/show_bug.cgi?id=2249 829 8302020-03-12 Even Rouault <even.rouault@spatialys.com> 831 832 tif_fax3.c: fix warning C4018: '<': signed/unsigned mismatch introduced in past commits 833 8342020-03-11 Even Rouault <even.rouault@spatialys.com> 835 836 tiff.h: mention TIFFTAG_RPCCOEFFICIENT, TIFFTAG_TIFF_RSID, TIFFTAG_GEO_METADATA 837 8382020-03-11 Even Rouault <even.rouault@spatialys.com> 839 840 Merge branch 'issue-60' into 'master' 841 added support for more private tags 842 843 Closes #60 844 845 See merge request libtiff/libtiff!124 846 8472020-03-11 Even Rouault <even.rouault@spatialys.com> 848 849 Merge branch 'issue-160' into 'master' 850 Fax3SetupState(): check consistency of rowbytes and rowpixels 851 852 Closes #160 853 854 See merge request libtiff/libtiff!123 855 8562020-03-11 Thomas Bernard <miniupnp@free.fr> 857 858 added support for more private tags. 859 see https://gitlab.com/libtiff/libtiff/-/issues/60 860 bugzilla.maptools.org/show_bug.cgi?id=2525 861 862 closes #60 863 864 original author : art1@andreas-romeyke.de 865 8662020-03-11 Thomas Bernard <miniupnp@free.fr> 867 868 Fax3SetupState(): check consistency of rowbytes and rowpixels. 869 also add some parameter documentation to Fax3Decode1D() 870 871 fixes #160 872 http://bugzilla.maptools.org/show_bug.cgi?id=2854 873 8742020-03-10 Even Rouault <even.rouault@spatialys.com> 875 876 Merge branch 'issue-11-const-pointers' into 'master' 877 Make pointers returned via TIFFGetField const 878 879 Closes #11 880 881 See merge request libtiff/libtiff!118 882 8832020-03-10 Even Rouault <even.rouault@spatialys.com> 884 885 tif_ojpeg.c: relax again too strict sanity checks to allow reading of valid images such as https://gitlab.com/libtiff/libtiff/-/issues/181#note_302535232. Fixes #181 886 8872020-03-09 Even Rouault <even.rouault@spatialys.com> 888 889 Merge branch 'issue-52' into 'master' 890 contrib/win_dib/tiff2dib: fix Uninitialized variable: lpBits 891 892 Closes #52 893 894 See merge request libtiff/libtiff!121 895 8962020-03-09 Thomas Bernard <miniupnp@free.fr> 897 898 contrib/win_dib/tiff2dib: fix Uninitialized variable: lpBits. 899 fixes #52 900 http://bugzilla.maptools.org/show_bug.cgi?id=2469 901 9022020-03-08 Even Rouault <even.rouault@spatialys.com> 903 904 Merge branch 'issue-58' into 'master' 905 Make TIFFTAG_CFAPATTERN variable count 906 907 Closes #58 908 909 See merge request libtiff/libtiff!120 910 9112020-03-08 Even Rouault <even.rouault@spatialys.com> 912 913 Merge branch 'issue-158-no-predictor-in-webp' into 'master' 914 TIFFTAG_PREDICTOR is not supported for WebP 915 916 Closes #158 917 918 See merge request libtiff/libtiff!119 919 9202020-03-08 Sam Hasinoff <hasinoff@google.com> 921 922 Make TIFFTAG_CFAPATTERN variable count. 923 The TIFFTAG_CFAPATTERN tag (33422) from TIFF/EP, recently introduced in libtiff 924 3363eda09d082e3e1dfffa6281f53085cac51ad3 / http://bugzilla.maptools.org/show_bug.cgi?id=2457 925 is described as having a fixed count of 4. 926 But the TIFF/EP spec says this should support a variable count (= CFARepeatRows * CFARepeatCols): 927 928 TIFF/EP, ISO 12234-2:2001 929 http://www.barrypearson.co.uk/top2009/downloads/TAG2000-22_DIS12234-2.pdf 930 page 18 and 26 931 9322020-03-08 Thomas Bernard <miniupnp@free.fr> 933 934 TIFFTAG_PREDICTOR is not supported for WebP. 935 fixes #158 936 https://gitlab.com/libtiff/libtiff/-/issues/158 937 938 this bug was introduced by 9eacd59fecc4ef593ac17689bc530ab451c8ec14 939 merge request !32 940 9412020-03-07 Adam Goode <adam@spicenitz.org> 942 943 Make the default whitepoint and ycbcrcoeffs arrays const. 944 Now that we are returning const pointers in TIFFGetFieldDefaulted, 945 we can now make these static default arrays const. 946 947 see #11 948 9492020-03-07 Adam Goode <adam@spicenitz.org> 950 951 Make pointers returned via TIFFGetField const. 952 According to http://bugzilla.maptools.org/show_bug.cgi?id=2125#c6 953 callers are not allowed to modify pointer or array values returned from 954 TIFFGetField or the like. So, make this explicit in the documentation 955 by specifying these things as const. Note that this is not an ABI 956 change, since C does not encode const in libraries. Also, this is 957 not really an API change, since the varargs call strips away all 958 the types anyway. So it really is more of a documentation change. 959 960 fixes #11 961 9622020-03-07 Even Rouault <even.rouault@spatialys.com> 963 964 CMake: Skip custom_dir_EXIF_231 test on shared builds to avoid issues on Windows 965 9662020-03-07 Even Rouault <even.rouault@spatialys.com> 967 968 Merge branch 'EXIF231_GPS_upgrade' into 'master' 969 EXIF 2.32 and GPS TIFF-tags and functionality upgraded. 970 971 See merge request libtiff/libtiff!91 972 9732020-03-07 Su_Laus <sulau@freenet.de> 974 975 EXIF 2.32 and GPS tags and functionality upgraded. 976 - Existing EXIF field definition of tags is upgraded to EXIF version 2.3.2 977 - EXIF-GPS structure, tags and access functions are added as special CustomDirectory (like it was done for EXIF). 978 - Test program custom_dir_EXIF_231.c added to test writing/reading of EXID IFD and GPS IFD tags 979 and to highlight some quirks of IFD-handling and peculiarities of reading/writing the different data types. 980 - Reading error for FileSource and SceneType tags corrected. 981 982 - EXIF_GPS_upgrade rebased onto c8c5309b765ef4ff097d2aaffbdb8f403db8967d (Merge branch 'Rational2DoublePrecision_correction' into 'master') 983 and adapted: 984 - tif_dirinfo.c: All rational tags set to TIFF_SETGET_FLOAT but only the GPSTAG_ tags set to TIFF_SETGET_DOUBLE. 985 - custom_dir_EXIF_231.c: Editorials amended and gcc warnigs fixed. 986 - CMakeLists.txt: add_test(NAME "custom_dir_EXIF_231" COMMAND "custom_dir_EXIF_231") added. 987 9882020-03-07 Even Rouault <even.rouault@spatialys.com> 989 990 Merge branch 'issue-55' into 'master' 991 ppm2tiff: support any bps value from 1 to 16 992 993 Closes #55 994 995 See merge request libtiff/libtiff!106 996 9972020-03-07 Thomas Bernard <miniupnp@free.fr> 998 999 ppm2tiff: Add test for 16bpc PPM. 1000 1001 ppm2tiff: remove unused argument warning. 1002 10032020-03-07 Ludolf Holzheid <ludolf.holzheid@gmx.de> 1004 1005 ppm2tiff: support any bps value from 1 to 16. 1006 fix #55 1007 http://bugzilla.maptools.org/show_bug.cgi?id=2505 1008 1009 Patch originally submited by Ludolf Holzheid <ludolf.holzheid@gmx.de> 1010 10112020-03-06 Even Rouault <even.rouault@spatialys.com> 1012 1013 Merge branch 'fax-test' into 'master' 1014 add test for fax4 decoding 1015 1016 See merge request libtiff/libtiff!114 1017 10182020-03-05 Thomas Bernard <miniupnp@free.fr> 1019 1020 add test for fax4 decoding. 1021 This will check for regression on #46 1022 https://gitlab.com/libtiff/libtiff/issues/46 1023 http://bugzilla.maptools.org/show_bug.cgi?id=2434 1024 10252020-03-05 Even Rouault <even.rouault@spatialys.com> 1026 1027 Merge branch 'freebsd-tests' into 'master' 1028 make tests pass under FreeBSD. 1029 1030 See merge request libtiff/libtiff!113 1031 10322020-03-05 Thomas Bernard <miniupnp@free.fr> 1033 1034 make tests pass under FreeBSD. 1035 the -I option for the GNU diff and the FreeBSD diff 1036 behaves differently regarding escaping the ( ) and | 1037 1038 By using two -I option, we avoid using such charracters. 1039 10402020-03-05 Even Rouault <even.rouault@spatialys.com> 1041 1042 Merge branch 'issue-31' into 'master' 1043 HTML 1044 1045 Closes #31 1046 1047 See merge request libtiff/libtiff!111 1048 10492020-03-05 Even Rouault <even.rouault@spatialys.com> 1050 1051 Merge branch 'issue-179' into 'master' 1052 tif_fax3.h: check for buffer overflow in EXPAND2D before "calling" CLEANUP_RUNS() 1053 1054 Closes #179 1055 1056 See merge request libtiff/libtiff!112 1057 10582020-03-05 Thomas Bernard <miniupnp@free.fr> 1059 1060 v4.1.0.html: fix for validation. 1061 long <!----------------> comments were replaced 1062 because they confused some parsers 1063 1064 add DOCTYPE on v*.html. 1065 1066 fix HTML files so they are valid according to https://validator.w3.org. 1067 10682020-03-05 Thomas Bernard <miniupnp@free.fr> 1069 1070 tif_fax3.h: check for buffer overflow in EXPAND2D before "calling" CLEANUP_RUNS() 1071 fixes #179 1072 1073 this fixes the regression introduced in 02bb0175 / 72c4acef 1074 ( merge request !110 ) 1075 1076 It may be a better fix to do the overflow check in SETVALUE() but the 1077 macro do { } while(0) construct makes it difficult to quit the loop 1078 properly. 1079 10802020-03-01 Thomas Bernard <miniupnp@free.fr> 1081 1082 index.html: fix unclosed <tt> tag. 1083 10842020-03-01 Thomas Bernard <miniupnp@free.fr> 1085 1086 html: do not force colors (which are default anyway) 1087 If needed, style should be set using CSS. 1088 1089 fixes #31 1090 https://gitlab.com/libtiff/libtiff/issues/31 1091 http://bugzilla.maptools.org/show_bug.cgi?id=2326 1092 10932020-03-01 Even Rouault <even.rouault@spatialys.com> 1094 1095 TIFFReadCustomDirectory(): fix potential heap buffer overflow when reading a custom directory, after a regular directory where a codec was active. Fixes https://gitlab.com/libtiff/libtiff/issues/178 1096 10972020-03-01 Even Rouault <even.rouault@spatialys.com> 1098 1099 Merge branch 'issue-46' into 'master' 1100 fix decoding of fax4 images 1101 1102 Closes #46 1103 1104 See merge request libtiff/libtiff!110 1105 11062020-02-29 Thomas Bernard <miniupnp@free.fr> 1107 1108 tif_fax3: better fix for CVE-2011-0192. 1109 There are some legitimate case which were forbidden by the previous fix 1110 1111 tif_fax3.h: allow 0 length run in DECODE2D. 1112 fixes #46 1113 https://gitlab.com/libtiff/libtiff/issues/46 1114 http://bugzilla.maptools.org/show_bug.cgi?id=2434 1115 11162020-02-29 Even Rouault <even.rouault@spatialys.com> 1117 1118 Merge branch 'mingwlibm' into 'master' 1119 Don't use libm with libtiff due to conflict with libmsvcrt 1120 1121 See merge request libtiff/libtiff!73 1122 11232020-02-29 Even Rouault <even.rouault@spatialys.com> 1124 1125 Merge branch 'Rational2DoublePrecision_correction' into 'master' 1126 tif_dirwrite.c: bugfix DoubleToSrational() for plain signed integers 1127 1128 See merge request libtiff/libtiff!109 1129 11302020-02-29 Su_Laus <sulau@freenet.de> 1131 1132 tif_dirwrite.c: bugfix DoubleToSrational(), which returns plain signed interger values always as unsigned rationals. Add a test into rational_precision2double.c for "-1.0" and some editorials in tif_dirwrite.c. (code is related to 6df997c786928757caea0dd68d26ea5f098f49df changes). 1133 11342020-02-29 Even Rouault <even.rouault@spatialys.com> 1135 1136 Merge branch 'issue-174' into 'master' 1137 tif_fax3.c: check buffer overflow in Fax4Decode() 1138 1139 Closes #174 1140 1141 See merge request libtiff/libtiff!108 1142 11432020-02-29 Thomas Bernard <miniupnp@free.fr> 1144 1145 Fax4Decode(): log error message in case of buffer overrun. 1146 1147 tif_fax3.c: check buffer overflow in Fax4Decode() 1148 fixes #174 1149 11502020-02-28 Even Rouault <even.rouault@spatialys.com> 1151 1152 typo fixes in code comments. 1153 1154 ToRationalEuclideanGCD: remove useless test that confuses Coverity Scan about a potential later modulo by zero 1155 11562020-02-27 Even Rouault <even.rouault@spatialys.com> 1157 1158 tif_dirwrite.c: fix other warnings related to 6df997c786928757caea0dd68d26ea5f098f49df changes 1159 1160 rational_precision2double.c: fix many warnings, and do not build it on CMake on shared lib builds 1161 1162 tif_dirwrite.c: fix various warnings found when building GDAL with internal libtiff after 6df997c786928757caea0dd68d26ea5f098f49df changes 1163 1164 tif_dirwrite.c: qualify ToRationalEuclideanGCD() with static. 1165 11662020-02-27 Even Rouault <even.rouault@spatialys.com> 1167 1168 Merge branch 'Rational2DoublePrecision' into 'master' 1169 Rational with Double Precision Upgrade 1170 1171 See merge request libtiff/libtiff!100 1172 11732020-02-27 Su_Laus <sulau@freenet.de> 1174 1175 Rational with Double Precision Upgrade. 1176 Unfortunately, custom rational tags (TIFF_RATIONAL with field_bit=FIELD_CUSTOM) are defined as TIFF_SETGET_DOUBLE 1177 but for the reading interface and LibTiff internally they are stored ALLWAYS as floating point SINGLE precision. 1178 Double precision custom rational tags are not supported by LibTiff. 1179 1180 For the GPS tags in WGS84 a higher accuracy / precision is needed. 1181 Therefore, this upgrade is made, keeping the old interface for the already defined tags and allowing a double precision definition, 1182 as well as calculating rationals with higher accuracy / precision. 1183 This higher accuracy can be used for newly defined tags like that in EXIF/GPS. 1184 1185 Refer also to the very old Bugzilla issue 2542 (#69) 1186 1187 A test file rational_precision2double.c is added, which shows prevention of the old interface to the already defined custom rational tags 1188 with the standard library as well as with the upgraded library. 1189 1190 Also TIFFTAG_XRESOLUTION, TIFFTAG_YRESOLUTION, TIFFTAG_XPOSITION, TIFFTAG_YPOSITION amended from TIFF_SETGET_DOUBLE to TIFF_SETGET_FLOAT and testcase inserted in rational_precision2double.c 1191 11922020-02-26 Chris Degawa <ccom@randomderp.com> 1193 1194 mingw-w64 cmake: Don't find libm. 1195 mingw-w64 will provide libm symbols by default without -lm and mingw-64's 1196 libm is just a stub. 1197 1198 This is just to make sure that on systems with msys2 and also cygwin, cmake 1199 doesn't find a libm that actually contains math functions. 1200 12012020-02-26 Even Rouault <even.rouault@spatialys.com> 1202 1203 Merge branch 'division-by-zero' into 'master' 1204 tools/tiffcp.c: fix potential division by zero 1205 1206 See merge request libtiff/libtiff!83 1207 12082020-02-26 Even Rouault <even.rouault@spatialys.com> 1209 1210 Merge branch 'fix-unused-warning' into 'master' 1211 warnings: mark conditionally used parameters 1212 1213 See merge request libtiff/libtiff!49 1214 12152020-02-26 Even Rouault <even.rouault@spatialys.com> 1216 1217 Merge branch 'master' into 'master' 1218 fix issue #78 warnings regarding RichTIFFIPTC data type 1219 1220 Closes #78 1221 1222 See merge request libtiff/libtiff!99 1223 12242020-02-26 Even Rouault <even.rouault@spatialys.com> 1225 1226 Merge branch 'win64-handle-casts-warn-fix' into 'master' 1227 Avoid warnings about casts between HANDLE and int in Win64 builds 1228 1229 Closes #2 1230 1231 See merge request libtiff/libtiff!93 1232 12332020-02-26 Even Rouault <even.rouault@spatialys.com> 1234 1235 Merge branch 'bug2839' into 'master' 1236 raw2tiff: avoid divide by 0 1237 1238 Closes #151 1239 1240 See merge request libtiff/libtiff!103 1241 12422020-02-26 Even Rouault <even.rouault@spatialys.com> 1243 1244 Merge branch 'bug2669' into 'master' 1245 tiff2pdf: palette bound check in t2p_sample_realize_palette() 1246 1247 Closes #82 1248 1249 See merge request libtiff/libtiff!104 1250 12512020-02-26 Even Rouault <even.rouault@spatialys.com> 1252 1253 Merge branch 'int-shift' into 'master' 1254 tiffcrop: fix asan runtime error caused by integer promotion 1255 1256 See merge request libtiff/libtiff!105 1257 12582020-02-26 Even Rouault <even.rouault@spatialys.com> 1259 1260 Merge branch 'bug-2538' into 'master' 1261 libtiff.html: fix function casing 1262 1263 Closes #68 1264 1265 See merge request libtiff/libtiff!107 1266 12672020-02-16 Thomas Bernard <miniupnp@free.fr> 1268 1269 raw2tiff: avoid divide by 0. 1270 fixes #151 / http://bugzilla.maptools.org/show_bug.cgi?id=2839 1271 1272 first memcmp() lines before computing corellation 1273 and always avoid divide by 0 anyway 1274 12752020-02-09 Even Rouault <even.rouault@spatialys.com> 1276 1277 Merge branch 'bug2855' into 'master' 1278 tiff2ps: fix heap buffer read overflow in PSDataColorContig() 1279 1280 Closes #161 1281 1282 See merge request libtiff/libtiff!102 1283 12842020-02-08 Thomas Bernard <miniupnp@free.fr> 1285 1286 libtiff.html: fix function casing. 1287 1288 libtiff.html: fix function casing. 1289 fixes #68 / http://bugzilla.maptools.org/show_bug.cgi?id=2538 1290 12912020-02-08 Thomas Bernard <miniupnp@free.fr> 1292 1293 tiffcrop: fix asan runtime error caused by integer promotion. 1294 tiffcrop.c:4027:20: runtime error: left shift of 190 by 24 places cannot be represented in type 'int' 1295 1296 C treats (byte << 24) as an int expression. 1297 casting explicitely to unsigned type uint32 avoids the problem. 1298 1299 the same issue has been fixed elsewhere with a24213691616e7cd35aa3e2805493de80c7e4fcf 1300 1301 I detected the bug with the test file of #86 1302 13032020-02-08 Thomas Bernard <miniupnp@free.fr> 1304 1305 tiff2pdf: palette bound check in t2p_sample_realize_palette() 1306 fixes #82 1307 13082020-02-08 Thomas Bernard <miniupnp@free.fr> 1309 1310 tiff2ps: fix heap buffer read overflow in PSDataColorContig() 1311 fixes #161 / http://bugzilla.maptools.org/show_bug.cgi?id=2855 1312 1313 in 05029fb7f1ecf771abaf90b5705b6cab9eb522a7 I missed that 1 extra byte is read 1314 in this loop. 1315 13162020-02-05 Even Rouault <even.rouault@spatialys.com> 1317 1318 tif_dirread.c: suppress CLang static Analyzer 9.0 false positive. 1319 13202020-02-01 Even Rouault <even.rouault@spatialys.com> 1321 1322 TIFFSetupStrips: enforce 2GB limitation of Strip/Tile Offsets/ByteCounts arrays 1323 TIFFWriteDirectoryTagData() has an assertion that checks that the 1324 arrays are not larger than 2GB. So error out earlier if in that situation. 1325 13262020-01-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1327 1328 Simplify nmake configuration for building port directory. Now there is only one boolean setting to enable building strtoll() and strtoull() port functions. The boolean setting enables the necessary port files to be built, but the remainder of the logic is via pre-processor code in the common tif_config.h, which was prepared before entering the port directory to do a build. 1329 13302020-01-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1331 1332 Make sure that tif_config.h is produced prior to entering the port directory and add an include path so that the port files can include tif_config.h. Do not actually include tif_config.h at this time since CMake and Autotools builds are not prepared for that. This issue could be handled by updating the CMake and Autotools builds or by adding a define which directs libport.h to include tif_config.h. 1333 13342020-01-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1335 1336 Fix nmake build mistakes in my last commit: 1337 tif_config.vc.h: 1338 1339 Always define HAVE_STRTOL/HAVE_STRTOUL. 1340 Define HAVE_STRTOLL/HAVE_STRTOULL if _MSC_VER >= 1900. 1341 1342 nmake.opt: 1343 1344 Provide defaults suitable for MSVC prior to 14.0. 1345 1346 libport.h: 1347 1348 The sense of the pre-processor logic was inverted from what it 1349 should be. The intention is to only provide the prototype if the 1350 function is missing. 1351 13522020-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1353 1354 Add nmake build support for manually configuring the 'port' files to be built based on MSVC features. Include tif_config.h in tools/tiffset.c. 1355 13562020-01-23 Even Rouault <even.rouault@spatialys.com> 1357 1358 Adjust previous fix to avoid undue warning in some situations triggered by GDAL 1359 13602020-01-12 Even Rouault <even.rouault@spatialys.com> 1361 1362 _TIFFPartialReadStripArray: bring back support for non-conformant SLONG8 data type 1363 Such as in https://github.com/OSGeo/gdal/issues/2165 1364 13652020-01-07 Even Rouault <even.rouault@spatialys.com> 1366 1367 test: add test for single-strip OJPEG file without RowsPerStrip tag (like in CR2 files) 1368 1369 OJPEGReadHeaderInfo: if rowsperstrip not defined, then assume one-single-strip. Complementary fix to 0356ea76bac908c61160d735f078437ace953bd3 1370 13712019-12-16 Angel Sánchez <angelsanchez@inedit.com> 1372 1373 fix issue #78 warnings regarding RichTIFFIPTC data type. 1374 13752019-12-14 Even Rouault <even.rouault@spatialys.com> 1376 1377 contrib/oss-fuzz/build.sh: fix broken if construct. 1378 13792019-11-28 Even Rouault <even.rouault@spatialys.com> 1380 1381 contrib/oss-fuzz/build.sh: other attempt at fixing build failure. 1382 13832019-11-20 Even Rouault <even.rouault@spatialys.com> 1384 1385 contrib/oss-fuzz/build.sh: install liblzma-dev for x86_64 builds. 1386 13872019-11-17 Even Rouault <even.rouault@spatialys.com> 1388 1389 contrib/oss-fuzz/build.sh: install liblzma-dev:i386 on i386 builds. 1390 13912019-11-15 Even Rouault <even.rouault@spatialys.com> 1392 1393 Merge branch 'cmake-parse' into 'master' 1394 CMake: simplify parsing variables from configure 1395 1396 See merge request libtiff/libtiff!98 1397 13982019-11-15 Rolf Eike Beer <eb@emlix.com> 1399 1400 CMake: simplify parsing variables from configure. 1401 14022019-11-14 Even Rouault <even.rouault@spatialys.com> 1403 1404 contrib/oss-fuzz/build.sh: fix ossfuzz build by statically linking to lzma 1405 14062019-11-12 Even Rouault <even.rouault@spatialys.com> 1407 1408 Merge branch 'fix_ojpeg_172' into 'master' 1409 OJPEG: fix broken sanity check added in 4.1.0 (#fixes 172) 1410 1411 See merge request libtiff/libtiff!97 1412 14132019-11-11 Even Rouault <even.rouault@spatialys.com> 1414 1415 OJPEG: fix broken sanity check added in 4.1.0, and add two OJPEG test files 1416 1417 test/: add missing generated .sh files. 1418 14192019-11-04 Even Rouault <even.rouault@spatialys.com> 1420 1421 Merge branch 'fix-missing-checks-TIFFGetField-tiffcrop' into 'master' 1422 adds missing checks on TIFFGetField in tiffcrop tool 1423 1424 Closes #170 1425 1426 See merge request libtiff/libtiff!96 1427 14282019-11-04 Bug Checkers <coolbugcheckers@gmail.com> 1429 1430 adds missing checks on TIFFGetField in tiffcrop tool (fixes #170) 1431 14322019-11-04 Even Rouault <even.rouault@spatialys.com> 1433 1434 Merge branch 'adds-missing-TIFFClose-rgb2ycbcr' into 'master' 1435 adds a missing TIFFClose in rgb2ycbcr tool 1436 1437 See merge request libtiff/libtiff!95 1438 14392019-11-04 Mansour Ahmadi <mansourweb@gmail.com> 1440 1441 adds a missing TIFFClose in rgb2ycbcr tool. 1442 14432019-11-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 1444 1445 libtiff 4.1.0 released. 1446 1447 Added a step for updating the legacy ChangeLog file. 1448 1449 Ignore emacs temporary files (ending with tilde character). 1450 1451 Added release summary page for the 4.1.0 release. 1452 1453 Fix Cmake HAVE_GETOPT for systems which declare getopt in stdio.h. Fix utility baked-in getopt prototype which appears when HAVE_GETOPT is not defined. 1454 1455 Fax2tiff.sh needs to remove its output file in advance. Syntax changes so that bash is not required. 1456 14572019-10-26 Even Rouault <even.rouault@spatialys.com> 1458 1459 tif_jpeg.c: extra cast to silence Coverity warning. GDAL CID 1406475. 1460 14612019-10-23 Even Rouault <even.rouault@spatialys.com> 1462 1463 tif_jpeg.c: fix warning added by previous commit (on 32bit builds) 1464 14652019-10-23 Even Rouault <even.rouault@spatialys.com> 1466 1467 Merge branch 'coverity-fixes' into 'master' 1468 Coverity fixes 1469 1470 See merge request libtiff/libtiff!94 1471 14722019-10-22 Timothy Lyanguzov <timothy.lyanguzov@sap.com> 1473 1474 Use 64-bit calculations correctly. 1475 1476 Fix size calculation to use 64-bit tmsize_t correctly. 1477 1478 Make bytesperclumpline calculations using tmsize_t type. 1479 14802019-10-03 Even Rouault <even.rouault@spatialys.com> 1481 1482 tif_read: align code of TIFFReadRawStrip() and TIFFReadRawTile() that differed for non good reason. Non-functional change normally. (fixes GitLab #162) 1483 14842019-10-01 Even Rouault <even.rouault@spatialys.com> 1485 1486 HTML: update for GitLab issues. 1487 14882019-09-29 Even Rouault <even.rouault@spatialys.com> 1489 1490 html/v3.5.6-beta.html: redact URL of defunct web site. 1491 1492 Website: update links to mailing list. 1493 14942019-09-17 Even Rouault <even.rouault@spatialys.com> 1495 1496 TIFFReadAndRealloc(): avoid too large memory allocation attempts. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17244 1497 14982019-09-03 Even Rouault <even.rouault@spatialys.com> 1499 1500 ByteCountLooksBad and EstimateStripByteCounts: avoid unsigned integer overflows. Fixes https://oss-fuzz.com/testcase-detail/5686156066291712 and https://oss-fuzz.com/testcase-detail/6332499206078464 1501 15022019-09-02 Even Rouault <even.rouault@spatialys.com> 1503 1504 tif_ojpeg.c: avoid relying on isTiled macro being wrapped in () 1505 1506 tif_ojpeg.c: avoid use of uninitialized memory on edge/broken file. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16844 1507 1508 tiff_read_rgba_fuzzer.cc: add a -DSTANDALONE mode for easier reproduction of oss-fuzz reports 1509 15102019-09-01 Even Rouault <even.rouault@spatialys.com> 1511 1512 tif_dirread.c: allocChoppedUpStripArrays(). avoid unsigned integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16846 1513 15142019-08-27 Even Rouault <even.rouault@spatialys.com> 1515 1516 tif_ojpeg.c: avoid unsigned integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16793 1517 15182019-08-26 Even Rouault <even.rouault@spatialys.com> 1519 1520 TIFFReadDirEntryData(): rewrite to avoid unsigned integer overflow (not a bug). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16792 1521 1522 TIFFFetchDirectory(): fix invalid cast from uint64 to tmsize_t. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16784 1523 15242019-08-25 Even Rouault <even.rouault@spatialys.com> 1525 1526 JPEG: avoid use of unintialized memory on corrupted files. 1527 Follow-up of cf3ce6fab894414a336546f62adc57f02590a22c 1528 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16602 1529 Credit to OSS Fuzz 1530 15312019-08-23 Even Rouault <even.rouault@spatialys.com> 1532 1533 _TIFFPartialReadStripArray(): avoid unsigned integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16685 1534 1535 OJPEGWriteHeaderInfo(): avoid unsigned integer overflow on strile dimensions close to UINT32_MAX. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16683 1536 1537 TIFFFillStrip(): avoid harmless unsigned integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16653 1538 1539 EstimateStripByteCounts(): avoid unsigned integer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16643& 1540 1541 tif_ojpeg: avoid unsigned integer overflow (probably not a bug). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16635 1542 1543 tif_thunder: avoid unsigned integer overflow (not a bug). Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16632 1544 15452019-08-22 Even Rouault <even.rouault@spatialys.com> 1546 1547 _TIFFMultiply32() / _TIFFMultiply64(): avoid relying on unsigned integer overflow (not a bug) 1548 1549 EstimateStripByteCounts(): avoid unsigned integer overflow. 1550 15512019-08-21 Even Rouault <even.rouault@spatialys.com> 1552 1553 EstimateStripByteCounts(): avoid unsigned integer overflow. 1554 15552019-08-20 Even Rouault <even.rouault@spatialys.com> 1556 1557 EstimateStripByteCounts(): avoid harmless unsigned integer overflow. 1558 1559 _TIFFPartialReadStripArray(): avoid triggering unsigned integer overflow with -fsanitize=unsigned-integer-overflow (not a bug, this is well defined by itself) 1560 15612019-08-18 Even Rouault <even.rouault@spatialys.com> 1562 1563 tiff2ps: fix use of wrong data type that caused issues (/Height being written as 0) on 64-bit big endian platforms 1564 15652019-08-16 Even Rouault <even.rouault@spatialys.com> 1566 1567 setByteArray(): fix previous commit. 1568 1569 setByteArray(): avoid potential signed integer overflow. Pointed by Hendra Gunadi. No actual problem known (which does not mean there wouldn't be any. Particularly on 32bit builds) 1570 15712019-08-15 Even Rouault <even.rouault@spatialys.com> 1572 1573 RGBA interface: fix integer overflow potentially causing write heap buffer overflow, especially on 32 bit builds. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16443. Credit to OSS Fuzz 1574 15752019-08-14 Even Rouault <even.rouault@spatialys.com> 1576 1577 Merge branch 'fix_integer_overflow' into 'master' 1578 Fix integer overflow in _TIFFCheckMalloc() and other implementation-defined behaviour (CVE-2019-14973) 1579 1580 See merge request libtiff/libtiff!90 1581 15822019-08-13 Even Rouault <even.rouault@spatialys.com> 1583 1584 Fix integer overflow in _TIFFCheckMalloc() and other implementation-defined behaviour (CVE-2019-14973) 1585 _TIFFCheckMalloc()/_TIFFCheckRealloc() used a unsafe way to detect overflow 1586 in the multiplication of nmemb and elem_size (which are of type tmsize_t, thus 1587 signed), which was especially easily triggered on 32-bit builds (with recent 1588 enough compilers that assume that signed multiplication cannot overflow, since 1589 this is undefined behaviour by the C standard). The original issue which lead to 1590 this fix was trigged from tif_fax3.c 1591 1592 There were also unsafe (implementation defied), and broken in practice on 64bit 1593 builds, ways of checking that a uint64 fits of a (signed) tmsize_t by doing 1594 (uint64)(tmsize_t)uint64_var != uint64_var comparisons. Those have no known 1595 at that time exploits, but are better to fix in a more bullet-proof way. 1596 Or similarly use of (int64)uint64_var <= 0. 1597 15982019-08-12 Even Rouault <even.rouault@spatialys.com> 1599 1600 TIFFClientOpen(): fix memory leak if one of the required callbacks is not provided. Fixed Coverity GDAL CID 1404110 1601 1602 OJPEGReadBufferFill(): avoid very long processing time on corrupted files. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16400. master only 1603 16042019-08-10 Even Rouault <even.rouault@spatialys.com> 1605 1606 oss-fuzz/tiff_read_rgba_fuzzer.cc: fix wrong env variable value in previous commit 1607 1608 oss-fuzz/tiff_read_rgba_fuzzer.cc: avoid issue with libjpeg-turbo and MSAN 1609 1610 OJPEG: fix integer division by zero on corrupted subsampling factors. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15824. Credit to OSS Fuzz 1611 1612 Merge branch 'ossfuzz_i386' 1613 1614 contrib/oss-fuzz/build.sh: fix for i386 build of jbigkit, and use $LIB_FUZZING_ENGINE 1615 16162019-08-10 Even Rouault <even.rouault@spatialys.com> 1617 1618 Merge branch 'patch-1' into 'master' 1619 fix two tiny typos 1620 1621 See merge request libtiff/libtiff!89 1622 16232019-08-10 Reto Kromer <rk@reto.ch> 1624 1625 fix two tiny typos. 1626 16272019-08-09 Even Rouault <even.rouault@spatialys.com> 1628 1629 Merge branch 'patch-1' into 'master' 1630 fix a typo in man page 1631 1632 See merge request libtiff/libtiff!88 1633 16342019-08-09 Reto Kromer <rk@reto.ch> 1635 1636 fix typo. 1637 16382019-08-04 Even Rouault <even.rouault@spatialys.com> 1639 1640 Merge branch 'TIFFTAGID_Zero_reading_IGNORE' into 'master' 1641 Suppressed Reading of Tiff tags with ID = 0 (like GPSVERSIONID) corrected. 1642 1643 See merge request libtiff/libtiff!77 1644 16452019-08-04 Su Laus <sulau@freenet.de> 1646 1647 Reading of Tiff tags with ID = 0 (like GPSVERSIONID) corrected. 1648 IGNORE placeholder in tif_dirread.c is now replaced by a field dir_ignore in the TIFFDirEntry structure 1649 1650 Currently, in tif_dirread.c a special IGNORE value for the tif tags is defined 1651 in order to flag status preventing already processed tags from further processing. 1652 This irrational behaviour prevents reading of custom tags with id code 0 - like tag GPSVERSIONID from EXIF 2.31 definition. 1653 1654 An additional field 'tdir_ignore' is now added to the TIFFDirEntry structure and code is changed 1655 to allow tags with id code 0 to be read correctly. 1656 1657 This change was already proposed as pending improvement in tif_dirread.c around line 32. 1658 1659 Reference is also made to: 1660 - Discussion in https://gitlab.com/libtiff/libtiff/merge_requests/39 1661 - http://bugzilla.maptools.org/show_bug.cgi?id=2540 1662 1663 Comments and indention adapted. 1664 1665 Preparation to rebase onto master 1666 16672019-07-16 Even Rouault <even.rouault@spatialys.com> 1668 1669 Merge branch 'cmake_amd64' into 'master' 1670 CMakeLists.txt: properly set value of HOST_FILLORDER to LSB2MSB for Windows CMake builds 1671 1672 See merge request libtiff/libtiff!87 1673 16742019-07-15 Even Rouault <even.rouault@spatialys.com> 1675 1676 CMakeLists.txt: properly set value of HOST_FILLORDER to LSB2MSB for Windows CMake builds 1677 As can be seen in https://ci.appveyor.com/project/rleigh-codelibre/libtiff-didfs/builds/25846668/job/ory5w098j8wcij9x 1678 log, the HOST_FILLORDER is not properly set: 1679 1680 [00:02:58] -- CMAKE_HOST_SYSTEM_PROCESSOR set to AMD64 1681 [00:02:58] -- HOST_FILLORDER set to FILLORDER_MSB2LSB 1682 1683 Ther reason is that we match the "amd64.*" lowercase string whereas 1684 CMAKE_HOST_SYSTEM_PROCESSOR is set to AMD64 uppercase. 1685 16862019-07-09 Even Rouault <even.rouault@spatialys.com> 1687 1688 TIFFWriteCheck(): call TIFFForceStrileArrayWriting() when needed (should have gone with eaeca6274ae71cdfaeb9f673b6fb0f3cfc0e6ce5) (master only) 1689 16902019-07-09 Even Rouault <even.rouault@spatialys.com> 1691 1692 Merge branch 'fix_chromium_925269' into 'master' 1693 OJPEG: avoid use of unintialized memory on corrupted files 1694 1695 See merge request libtiff/libtiff!86 1696 16972019-07-05 Even Rouault <even.rouault@spatialys.com> 1698 1699 OJPEG: avoid use of unintialized memory on corrupted files. 1700 Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=925269 1701 Patch from Lei Zhang with little adaptations. 1702 17032019-06-29 Even Rouault <even.rouault@spatialys.com> 1704 1705 Merge branch 'fix-division-by-zero' into 'master' 1706 Return infinite distance when denominator is zero. 1707 1708 See merge request libtiff/libtiff!85 1709 17102019-06-29 Dirk Lemstra <dirk@lemstra.org> 1711 1712 Return infinite distance when denominator is zero. 1713 17142019-06-29 Even Rouault <even.rouault@spatialys.com> 1715 1716 Merge branch 'typetests' into 'master' 1717 Add test to check that libtiff types have the correct size 1718 1719 See merge request libtiff/libtiff!57 1720 17212019-05-31 Thomas Bernard <miniupnp@free.fr> 1722 1723 make TIFF_SSIZE_T the same bitwidth as TIFF_SIZE_T. 1724 it was previously the same bitwidth as unsigned char * 1725 Pointers can be larger than size_t. 1726 17272019-05-31 Thomas Bernard <miniupnp@free.fr> 1728 1729 Add test to check that libtiff types have the correct size. 1730 in configure/CMakeList.txt : 1731 1732 - TIFF_INT8_T/TIFF_UINT8_T is signed/unsigned char 1733 sizeof(char)==1 in C standard 1734 - TIFF_INT16_T/TIFF_UINT16_T is signed/unsigned short 1735 sizeof(short)>=2 in C standard 1736 - TIFF_INT32_T/TIFF_UINT32_T is defined so its sizeof() is 4 1737 1738 - TIFF_INT64_T/TIFF_UINT64_T is defined so its sizeof() is 8 1739 1740 - TIFF_SIZE_T is defined so it has same sizeof() than size_t 1741 1742 - TIFF_SSIZE_T is defined so it has same sizeof() than unsigned char * 1743 17442019-05-29 Even Rouault <even.rouault@spatialys.com> 1745 1746 Merge branch 'defer_strile_writing' into 'master' 1747 Add TIFFDeferStrileArrayWriting() and TIFFForceStrileArrayWriting() 1748 1749 See merge request libtiff/libtiff!82 1750 17512019-05-29 Even Rouault <even.rouault@spatialys.com> 1752 1753 Merge branch 'TIFFReadFromUserBuffer' into 'master' 1754 Add TIFFReadFromUserBuffer() 1755 1756 See merge request libtiff/libtiff!81 1757 17582019-05-26 Even Rouault <even.rouault@spatialys.com> 1759 1760 Fix vulnerability in 'D' (DeferStrileLoad) mode (master only) (fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14908) 1761 17622019-05-25 Even Rouault <even.rouault@spatialys.com> 1763 1764 Replace 'stripped' by 'striped' in error messages. 1765 17662019-05-25 Even Rouault <even.rouault@spatialys.com> 1767 1768 Add TIFFDeferStrileArrayWriting() and TIFFForceStrileArrayWriting() 1769 Those advanced writing functions must be used in a particular sequence 1770 to make their intended effect. Their aim is to control when/where 1771 the [Strip/Tile][Offsets/ByteCounts] arrays are written into the file. 1772 1773 The purpose of this is to generate 'cloud-optimized geotiff' files where 1774 the first KB of the file only contain the IFD entries without the potentially 1775 large strile arrays. Those are written afterwards. 1776 1777 The typical sequence of calls is: 1778 TIFFOpen() 1779 [ TIFFCreateDirectory(tif) ] 1780 Set fields with calls to TIFFSetField(tif, ...) 1781 TIFFDeferStrileArrayWriting(tif) 1782 TIFFWriteCheck(tif, ...) 1783 TIFFWriteDirectory(tif) 1784 ... potentially create other directories and come back to the above directory 1785 TIFFForceStrileArrayWriting(tif): emit the arrays at the end of file 1786 1787 See test/defer_strile_writing.c for a practical example. 1788 17892019-05-24 Even Rouault <even.rouault@spatialys.com> 1790 1791 Fix vulnerability introduced by defer strile loading (master only) 1792 Found on GDAL with https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14894 1793 Disabling the TIFF_DEFERSTRILELOAD bit in ChopupStripArray() was a 1794 bad idea since when using TIFFReadDirectory() to reload the directory again 1795 would lead to a different value of td_rowsperstrip, which could confuse 1796 readers if they relied on the value found initially. 1797 1798 Fix typo in error message (master only) 1799 18002019-05-22 Even Rouault <even.rouault@spatialys.com> 1801 1802 Add TIFFReadFromUserBuffer() 1803 This function replaces the use of TIFFReadEncodedStrip()/TIFFReadEncodedTile() 1804 when the user can provide the buffer for the input data, for example when 1805 he wants to avoid libtiff to read the strile offset/count values from the 1806 [Strip|Tile][Offsets/ByteCounts] array. 1807 1808 libtiff.def: add missing new symbols. 1809 1810 test/defer_strile_loading.c: fix warning with Visual C++ 1811 1812 _TIFFRewriteField(): fix for bigtiff case (master only) 1813 116cf67f4c59196605abdb244657c3070c4310af made StripByteCount/TileByteCount to 1814 always be rewritten as TIFF_LONG8. 1815 18162019-05-21 Even Rouault <even.rouault@spatialys.com> 1817 1818 Merge branch 'ondemand_strile_offbytecount_loading' into 'master' 1819 Make defer strile offset/bytecount loading available at runtime 1820 1821 See merge request libtiff/libtiff!79 1822 18232019-05-21 Even Rouault <even.rouault@spatialys.com> 1824 1825 Merge branch 'bigtiff_write_bytecount_on_long_when_possible' into 'master' 1826 Create TileByteCounts/StripByteCounts tag with SHORT (ClassicTIFF/BigTIFF) or LONG (BigTIFF) type when possible 1827 1828 See merge request libtiff/libtiff!78 1829 18302019-05-21 Even Rouault <even.rouault@spatialys.com> 1831 1832 Merge branch 'html_link' into 'master' 1833 libtiff.html, bigtiffpr.html: absolute => relative link 1834 1835 See merge request libtiff/libtiff!80 1836 18372019-05-14 Thomas Bernard <miniupnp@free.fr> 1838 1839 libtiff.html, bigtiffpr.html: absolute => relative link. 1840 18412019-05-10 Even Rouault <even.rouault@spatialys.com> 1842 1843 Make defer strile offset/bytecount loading available at runtime. 1844 ... and add per-strile offset/bytecount loading capabilities. 1845 1846 Part of this commit makes the behaviour that was previously met when 1847 libtiff was compiled with -DDEFER_STRILE_LOAD available for default builds 1848 when specifying the new 'D' (Deferred) TIFFOpen() flag. In that mode, the [Tile/Strip][ByteCounts/Offsets] 1849 arrays are only loaded when first accessed. This can speed-up the opening 1850 of files stored on the network when just metadata retrieval is needed. 1851 This mode has been used for years by the GDAL library when compiled with 1852 its embeded libtiff copy. 1853 1854 To avoid potential out-of-tree code (typically codecs) that would use 1855 the td_stripbytecount and td_stripoffset array inconditionnaly assuming they 1856 have been loaded, those have been suffixed with _p (for protected). The 1857 use of the new functions mentionned below is then recommended. 1858 1859 Another addition of this commit is the capability of loading only the 1860 values of the offset/bytecount of the strile of interest instead of the 1861 whole array. This is enabled with the new 'O' (Ondemand) flag of TIFFOpen() 1862 (which implies 'D'). That behaviour has also been used by GDAL, which hacked 1863 into the td_stripoffset/td_stripbytecount arrays directly. The new code 1864 added in the _TIFFFetchStrileValue() and _TIFFPartialReadStripArray() internal 1865 functions is mostly a port of what was in GDAL GTiff driver previously. 1866 1867 Related to that, the public TIFFGetStrileOffset[WithErr]() and TIFFGetStrileByteCount[WithErr]() 1868 functions have been added to API. They are of particular interest when 1869 using sparse files (with offset == bytecount == 0) and you want to detect 1870 if a strile is present or not without decompressing the data, or updating 1871 an existing sparse file. 1872 They will also be used to enable a future enhancement where client code can entirely 1873 skip bytecount loading in some situtations 1874 1875 A new test/defer_strile_loading.c test has been added to test the above 1876 capabilities. 1877 18782019-05-10 Even Rouault <even.rouault@spatialys.com> 1879 1880 Creation: use SHORT type when possible for StripByteCounts/TileByteCounts 1881 This follows the same logic as previous commit. 1882 18832019-05-09 Even Rouault <even.rouault@spatialys.com> 1884 1885 BigTIFF creation: write TileByteCounts/StripByteCounts tag with LONG when possible 1886 In most situations of BigTIFF file, the tile/strip sizes are of reasonable size, 1887 that is they fit on a 4-byte LONG. So in that case, use LONG instead of LONG8 1888 to save some space. For uncompressed file, it is easy to detect such situations 1889 by checking at the TIFFTileSize64()/TIFFStripSize64() return. For compressed file, 1890 we must take into account the fact that compression may sometimes result in 1891 larger compressed data. So we allow this optimization only for a few select 1892 compression times, and take a huge security margin (10x factor). We also only 1893 apply this optimization on multi-strip files, so as to allow easy on-the-fly 1894 growing of single-strip files whose strip size could grow above the 4GB threshold. 1895 1896 This change is compatible with the BigTIFF specification. According to 1897 https://www.awaresystems.be/imaging/tiff/bigtiff.html: 1898 "The StripOffsets, StripByteCounts, TileOffsets, and TileByteCounts tags are 1899 allowed to have the datatype TIFF_LONG8 in BigTIFF. Old datatypes TIFF_LONG, 1900 and TIFF_SHORT where allowed in the TIFF 6.0 specification, are still valid in BigTIFF, too. " 1901 On a practical point of view, this is also compatible on reading/writing of 1902 older libtiff 4.X versions. 1903 1904 The only glitch I found, which is rather minor, is when using such a BigTIFF 1905 file with TileByteCounts/StripByteCounts written with TIFF_LONG, and updating 1906 it with an older libtiff 4.X version with a change in the 1907 [Tile/Strip][ByteCounts/Offsets] array. In that case the _TIFFRewriteField() 1908 function will rewrite the directory and array with TIFF_LONG8, instead of updating 1909 the existing array (this is an issue fixed by this commit). The file will 1910 still be valid however, hence the minor severity of this. 1911 19122019-05-08 Even Rouault <even.rouault@spatialys.com> 1913 1914 Merge branch 'bug2799' into 'master' 1915 fix fax2tiff 1916 1917 See merge request libtiff/libtiff!55 1918 19192019-05-08 Even Rouault <even.rouault@spatialys.com> 1920 1921 Merge branch 'bug_2829' into 'master' 1922 WIN32: use tif_win32.c when building with CMake 1923 1924 See merge request libtiff/libtiff!75 1925 19262019-05-06 Even Rouault <even.rouault@spatialys.com> 1927 1928 Merge branch 'FILESOURCE_SCENETYPE_reading' into 'master' 1929 Reading error for FileSource and SceneType tags corrected. 1930 1931 See merge request libtiff/libtiff!76 1932 19332019-05-06 Su Laus <sulau@freenet.de> 1934 1935 Reading error for FileSource and SceneType tags corrected. 1936 EXIF tags FILESOURCE and SCENETYPE are defined as TIFF_UNDEFINED and field_readcount==1! 1937 There is a bug in TIFFReadDirEntryByte() preventing to read correctly type TIFF_UNDEFINED fields with field_readcount==1 1938 Upgrade of TIFFReadDirEntryByte() with added TIFF_UNDEFINED switch-entry allows libtiff to read those tags correctly. 1939 19402019-04-25 Thomas Bernard <miniupnp@free.fr> 1941 1942 WIN32: use tif_win32.c when building with CMake. 1943 see http://bugzilla.maptools.org/show_bug.cgi?id=2829 1944 1945 the top CMakeLists.txt defines 1946 win32_io and USE_WIN32_FILEIO 1947 1948 WIN32_IO is defined nowhere in CMake (only in automake things) 1949 19502019-04-25 Even Rouault <even.rouault@spatialys.com> 1951 1952 Merge branch 'gitlab_pages' into 'master' 1953 Advertise https://libtiff.gitlab.io/libtiff/ as mirror 1954 1955 See merge request libtiff/libtiff!70 1956 19572019-04-25 Even Rouault <even.rouault@spatialys.com> 1958 1959 Merge branch 'bug_2844' into 'master' 1960 tiff2ps.c: PSDataColorContig(): avoid heap buffer overrun 1961 1962 See merge request libtiff/libtiff!69 1963 19642019-04-25 Even Rouault <even.rouault@spatialys.com> 1965 1966 Merge branch 'issue_2785' into 'master' 1967 tiff2pdf.c: don't call t2p_tile_collapse_left() for Ycbcr 1968 1969 See merge request libtiff/libtiff!64 1970 19712019-04-11 Even Rouault <even.rouault@spatialys.com> 1972 1973 Merge branch 'fix_gdal_1439' into 'master' 1974 TIFFWriteEncodedStrip/TIFFWriteEncodedTile: fix rewriting of LZW-compressed data 1975 1976 See merge request libtiff/libtiff!74 1977 19782019-04-11 Even Rouault <even.rouault@spatialys.com> 1979 1980 TIFFWriteEncodedStrip/TIFFWriteEncodedTile: fix rewriting of LZW-compressed data 1981 Fixes https://github.com/OSGeo/gdal/issues/1439 1982 1983 When rewriting a LZW tile/strip whose existing size is very close to a multiple of 1984 1024 bytes (and larger than 8192 bytes) with compressed data that is larger, 1985 the new data was not placed at the end of the file, causing corruption. 1986 19872019-04-08 Even Rouault <even.rouault@spatialys.com> 1988 1989 Merge branch 'bug2848' into 'master' 1990 tif_luv.c: LogLuvSetupEncode() error must return 0 1991 1992 See merge request libtiff/libtiff!72 1993 19942019-04-03 Thomas Bernard <miniupnp@free.fr> 1995 1996 build/gitlab-ci: fix typo. 1997 1998 show test-suite.log in gitlab-ci. 1999 useful when build fails 2000 2001 Add output check for tiff2ps. 2002 note : the reference files have been generated in master branch 2003 20042019-03-23 Even Rouault <even.rouault@spatialys.com> 2005 2006 tif_read.c: potentially fix false positive from Coverity Scan. CID 1400288 2007 2008 tif_read.c: potentially fix false positive from Coverity Scan. CID 1400271 2009 2010 tif_zip.c: remove dead code. CID 1400360. 2011 2012 tif_webp.c: remove false positive warning about dereference before null check. CID 1400255 2013 2014 tif_pixarlog.c: remove dead code. CID 1400342. 2015 2016 tif_pixarlog.c: avoid false positive Coverity Scan warnings about overflow. CID 1400300 and 1400367 2017 2018 tif_lzw.c: silence CoverityScan false positive. CID 1400355. 2019 2020 tif_luv.c: silence CoverityScan false positive. CID 1400231, 1400251, 1400254, 1400272, 1400318, 1400356 2021 2022 TryChopUpUncompressedBigTiff(): avoid potential division by zero. master only. GDAL Coverity CID 1400263 2023 20242019-03-22 Thomas Bernard <miniupnp@free.fr> 2025 2026 tif_luv.c: LogLuvSetupEncode() error must return 0. 2027 see http://bugzilla.maptools.org/show_bug.cgi?id=2848 2028 2029 if wrongly returning 1, the processing of incorrect file continues, 2030 which causes problems. 2031 20322019-03-22 Thomas Bernard <miniupnp@free.fr> 2033 2034 add a test for fax2tiff tool. 2035 20362019-02-28 Thomas Bernard <miniupnp@free.fr> 2037 2038 tiff2pdf.c: don't call t2p_tile_collapse_left() when buffer size is wrong 2039 see http://bugzilla.maptools.org/show_bug.cgi?id=2785 2040 2041 Advertise https://libtiff.gitlab.io/libtiff/ as mirror. 2042 I'm put it above the maptools.org mirror because 2043 Even Rouault believe at some point it will be completely removed 2044 20452019-02-28 Even Rouault <even.rouault@spatialys.com> 2046 2047 Merge branch 'bug_2826' into 'master' 2048 tiff2pdf.c: check colormap pointers when loading CMYK with colormap 2049 2050 See merge request libtiff/libtiff!65 2051 20522019-02-28 Thomas Bernard <miniupnp@free.fr> 2053 2054 tiff2pdf.c: check colormap pointers. 2055 Avoid access to non initialized pointers 2056 http://bugzilla.maptools.org/show_bug.cgi?id=2826 2057 20582019-02-27 Even Rouault <even.rouault@spatialys.com> 2059 2060 Merge branch 'fix_warnings' into 'master' 2061 tiff2ps.c: fix warning caused by integer promotion 2062 2063 See merge request libtiff/libtiff!68 2064 20652019-02-23 Thomas Bernard <miniupnp@free.fr> 2066 2067 PSDataColorContig(): avoid heap buffer overrun. 2068 fixes http://bugzilla.maptools.org/show_bug.cgi?id=2844 2069 each iteration of the loop read nc bytes 2070 20712019-02-22 Thomas Bernard <miniupnp@free.fr> 2072 2073 tiff2ps.c: fix warning caused by integer promotion. 2074 uint8 value is promoted to int in (value << 24) so -fsanitize 2075 yield runtime errors : 2076 tiff2ps.c:2969:33: runtime error: left shift of 246 by 24 places cannot be represented in type 'int' 2077 20782019-02-22 Even Rouault <even.rouault@spatialys.com> 2079 2080 Merge branch 'large_strile_improvements' into 'master' 2081 Large strile support improvements 2082 2083 See merge request libtiff/libtiff!63 2084 20852019-02-21 Even Rouault <even.rouault@spatialys.com> 2086 2087 Merge branch 'gitlab-pages' into 'master' 2088 ci: Add pages job 2089 2090 See merge request libtiff/libtiff!45 2091 20922019-02-19 Even Rouault <even.rouault@spatialys.com> 2093 2094 Merge branch 'issue_2833' into 'master' 2095 tiffcp.c: check that (Tile Width)*(Samples/Pixel) do no overflow 2096 2097 See merge request libtiff/libtiff!60 2098 20992019-02-19 Even Rouault <even.rouault@spatialys.com> 2100 2101 Merge branch 'issue_2831' into 'master' 2102 tiffcrop.c: fix invertImage() for bps 2 and 4 2103 2104 See merge request libtiff/libtiff!61 2105 21062019-02-19 Even Rouault <even.rouault@spatialys.com> 2107 2108 Merge branch 'issue_2842' into 'master' 2109 move _TIFFClampDoubleToFloat() to tif_aux.c 2110 2111 See merge request libtiff/libtiff!62 2112 21132019-02-19 Even Rouault <even.rouault@spatialys.com> 2114 2115 tif_zip.c: allow reading and writing strips/tiles with more than 4 GB of compressed or uncompressed data 2116 2117 tif_dirread.c: when strip chopping is enabled, extend this mechanism to multi-strip uncompressed files with strips larger than 2GB to expose them as strips of ~500 MB 2118 21192019-02-19 Even Rouault <even.rouault@spatialys.com> 2120 2121 Merge branch 'size_t_typo' into 'master' 2122 CMakeLists.txt: fix TIFF_SIZE_T 2123 2124 See merge request libtiff/libtiff!59 2125 21262019-02-12 Thomas Bernard <miniupnp@free.fr> 2127 2128 move _TIFFClampDoubleToFloat() to tif_aux.c. 2129 the same function was declared in tif_dir.c and tif_dirwrite.c 2130 2131 see http://bugzilla.maptools.org/show_bug.cgi?id=2842 2132 21332019-02-11 Thomas Bernard <miniupnp@free.fr> 2134 2135 tiffcrop.c: fix invertImage() for bps 2 and 4. 2136 too much bytes were processed, causing a heap buffer overrun 2137 http://bugzilla.maptools.org/show_bug.cgi?id=2831 2138 the loop counter must be 2139 for (col = 0; col < width; col += 8 / bps) 2140 2141 Also the values were not properly calculated. It should be 2142 255-x, 15-x, 3-x for bps 8, 4, 2. 2143 2144 But anyway it is easyer to invert all bits as 255-x = ~x, etc. 2145 (substracting from a binary number composed of all 1 is like inverting 2146 the bits) 2147 21482019-02-11 Thomas Bernard <miniupnp@free.fr> 2149 2150 tiffcp.c: use INT_MAX. 2151 2152 check that (Tile Width)*(Samples/Pixel) do no overflow. 2153 fixes bug 2833 2154 21552019-02-03 Thomas Bernard <miniupnp@free.fr> 2156 2157 CMakeLists.txt: fix TIFF_SIZE_T. 2158 21592019-02-02 Even Rouault <even.rouault@spatialys.com> 2160 2161 Merge branch 'master' into 'master' 2162 Fix for simple memory leak that was assigned CVE-2019-6128. 2163 2164 See merge request libtiff/libtiff!50 2165 21662019-02-02 Even Rouault <even.rouault@spatialys.com> 2167 2168 Merge branch 'bug2835' into 'master' 2169 tiff2ps: fix heap-buffer-overflow 2170 2171 See merge request libtiff/libtiff!53 2172 21732019-02-02 Even Rouault <even.rouault@spatialys.com> 2174 2175 Fix warning (use of uninitialized value) added per d0a842c5dbad2609aed43c701a12ed12461d3405 (fixes https://gitlab.com/libtiff/libtiff/merge_requests/54#note_137742985) 2176 21772019-02-02 Yuri Aksenov <yuri.aksenov@gmail.com> 2178 2179 fix fax2tiff. 2180 see http://bugzilla.maptools.org/show_bug.cgi?id=2799 2181 fixes d9bc8472e72549f29c0062c1cbd3d56f279f3be2 2182 21832019-02-02 Even Rouault <even.rouault@spatialys.com> 2184 2185 Merge branch 'tiffcrop' into 'master' 2186 tiffcrop: shut up clang warnings 2187 2188 See merge request libtiff/libtiff!52 2189 21902019-02-01 Even Rouault <even.rouault@spatialys.com> 2191 2192 Merge branch 'bug2833' into 'master' 2193 TIFFWriteDirectoryTagTransferfunction() : fix NULL dereferencing 2194 2195 See merge request libtiff/libtiff!54 2196 21972019-02-01 Even Rouault <even.rouault@spatialys.com> 2198 2199 Merge branch 'gitignore' into 'master' 2200 add test/ files to .gitignore 2201 2202 See merge request libtiff/libtiff!56 2203 22042019-02-01 Even Rouault <even.rouault@spatialys.com> 2205 2206 Merge branch 'master' into 'master' 2207 tif_dir: unset transferfunction field if necessary (CVE-2018-19210) 2208 2209 See merge request libtiff/libtiff!47 2210 22112019-01-29 Thomas Bernard <miniupnp@free.fr> 2212 2213 add test/ files to .gitignore. 2214 22152019-01-29 Thomas Bernard <miniupnp@free.fr> 2216 2217 TIFFWriteDirectoryTagTransferfunction() : fix NULL dereferencing. 2218 http://bugzilla.maptools.org/show_bug.cgi?id=2833 2219 2220 we must check the pointer is not NULL before memcmp() the memory 2221 22222019-01-29 Thomas Bernard <miniupnp@free.fr> 2223 2224 tiff2ps: fix heap-buffer-overflow. 2225 http://bugzilla.maptools.org/show_bug.cgi?id=2834 2226 2227 usually the test (i < byte_count) is OK because the byte_count is divisible by samplesperpixel. 2228 But if that is not the case, (i + ncomps) < byte_count should be used, or 2229 maybe (i + samplesperpixel) <= byte_count 2230 22312019-01-28 Thomas Bernard <miniupnp@free.fr> 2232 2233 tiffcrop: shut up clang warnings. 2234 make the out filename building a bit more simple 2235 and remove the use of strcat() 2236 22372019-01-23 Scott Gayou <github.scott@gmail.com> 2238 2239 Fix for simple memory leak that was assigned CVE-2019-6128. 2240 pal2rgb failed to free memory on a few errors. This was reported 2241 here: http://bugzilla.maptools.org/show_bug.cgi?id=2836. 2242 22432019-01-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2244 2245 Fix tiff2ps error regarding "Inconsistent value of es" by allowing es to be zero. Problem was reported to the tiff mailing list by Julian H. Stacey on January 5, 2019. 2246 22472018-12-13 Hugo Lefeuvre <hle@debian.org> 2248 2249 tif_dir: unset transferfunction field if necessary. 2250 The number of entries in the transfer table is determined as following: 2251 2252 (td->td_samplesperpixel - td->td_extrasamples) > 1 ? 3 : 1 2253 2254 This means that whenever td->td_samplesperpixel or td->td_extrasamples are 2255 modified we also need to make sure that the number of required entries in 2256 the transfer table didn't change. 2257 2258 If it changed and the number of entries is higher than before we should 2259 invalidate the transfer table field and free previously allocated values. 2260 In the other case there's nothing to do, additional tf entries won't harm 2261 and properly written code will just ignore them since spp - es < 1. 2262 2263 For instance this situation might happen when reading an OJPEG compressed 2264 image with missing SamplesPerPixel tag. In this case the SamplesPerPixel 2265 field might be updated after setting the transfer table. 2266 2267 see http://bugzilla.maptools.org/show_bug.cgi?id=2500 2268 2269 This commit addresses CVE-2018-19210. 2270 22712018-12-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2272 2273 Do not attempt to re-sync zip stream after reported data error from inflate(). 2274 22752018-12-07 Even Rouault <even.rouault@spatialys.com> 2276 2277 Merge branch 'resource-leaks' into 'master' 2278 Fix two resource leaks 2279 2280 See merge request libtiff/libtiff!43 2281 22822018-12-07 Even Rouault <even.rouault@spatialys.com> 2283 2284 Merge branch 'build-jbig' into 'master' 2285 add jbig support to the fuzzer 2286 2287 See merge request libtiff/libtiff!42 2288 22892018-12-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2290 2291 tiffcrop.c: Avoid new clang warning about tools/tiffcrop.c "size argument in 'strncat' call appears to be size of the source". 2292 22932018-11-28 Even Rouault <even.rouault@spatialys.com> 2294 2295 Merge branch 'webp_memleak' into 'master' 2296 fixed mem leak in webp compression 2297 2298 See merge request libtiff/libtiff!48 2299 23002018-11-28 Norman Barker <norman.barker@mapbox.com> 2301 2302 fixed mem leak in webp compression. 2303 23042018-11-20 Even Rouault <even.rouault@spatialys.com> 2305 2306 Merge branch 'lossless_webp' into 'master' 2307 fixed lossless webp compression config 2308 2309 See merge request libtiff/libtiff!46 2310 23112018-11-20 Norman Barker <norman.barker@mapbox.com> 2312 2313 fixed lossless webp compression config. 2314 23152018-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2316 2317 snprintf porting fix for Visual Studio 2003. 2318 23192018-11-18 Roger Leigh <rleigh@codelibre.net> 2320 2321 ci: Add pages job. 2322 23232018-11-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2324 2325 Change references from defunct ftp site to https site. 2326 23272018-11-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2328 2329 * configure.ac: libtiff 4.0.10 released. 2330 2331 Change COMPRESSION_ZSTD to 50000 and COMPRESSION_WEBP to 50001. 2332 23332018-11-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2334 2335 Added preliminary release notes for release 4.0.10. 2336 23372018-11-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2338 2339 tiff2pdf: Eliminate compiler warning about snprintf output truncation when formatting pdf_datetime. 2340 23412018-11-03 Olivier Paquet <olivier.paquet@gmail.com> 2342 2343 Merge branch 'no_tif_platform_console' into 'master' 2344 Remove builtin support for GUI warning and error message boxes 2345 2346 See merge request libtiff/libtiff!24 2347 23482018-11-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2349 2350 tiffcrop.c: Eliminate compiler warning about snprintf output truncation when formatting filenum. 2351 2352 TWebPVGetField(): Add apparently missing break statement impacting TIFFTAG_WEBP_LOSSLESS. 2353 2354 Eliminate compiler warnings about duplicate definitions of streq/strneq macros. 2355 2356 Ignore generated files. 2357 2358 Remove and ignore files which are a product of autogen.sh. 2359 23602018-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2361 2362 Fix TIFFErrorExt() formatting of size_t type for 32-bit compiles. 2363 23642018-10-30 Even Rouault <even.rouault@spatialys.com> 2365 2366 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 2367 2368 tiffio.h: fix comment. 2369 23702018-10-26 Even Rouault <even.rouault@spatialys.com> 2371 2372 Merge branch 'header2' into 'master' 2373 Fix 725279bd: Standalone tif_predict.h: tiff.h should be tiffiop.h 2374 2375 See merge request libtiff/libtiff!41 2376 23772018-10-26 Kurt Schwehr <schwehr@google.com> 2378 2379 Fix 725279bd: Standalone tif_predict.h: tiff.h should be tiffiop.h. 2380 23812018-10-25 Even Rouault <even.rouault@spatialys.com> 2382 2383 Merge branch 'headers' into 'master' 2384 Add includes to headers to allow them to stand alone. 2385 2386 See merge request libtiff/libtiff!40 2387 23882018-10-24 Kurt Schwehr <schwehr@google.com> 2389 2390 Add includes to headers to allow them to stand alone. 2391 This allows compilers that can do header stand alone header parsing 2392 to process libtiff. 2393 23942018-10-18 Even Rouault <even.rouault@spatialys.com> 2395 2396 LZMAPreEncode: emit verbose error if lzma_stream_encoder() fails (typically because not enough memory available) 2397 23982018-10-17 Even Rouault <even.rouault@spatialys.com> 2399 2400 tif_webp.c: fix previous commit that broke scanline decoding. 2401 2402 tif_webp.c: fix potential read outside libwebp buffer on corrupted images 2403 24042018-10-14 Even Rouault <even.rouault@spatialys.com> 2405 2406 Merge branch 'jbig_decode_overflow' into 'master' 2407 JBIG: fix potential out-of-bounds write in JBIGDecode() 2408 2409 See merge request libtiff/libtiff!38 2410 24112018-10-14 Even Rouault <even.rouault@spatialys.com> 2412 2413 JBIG: fix potential out-of-bounds write in JBIGDecode() 2414 JBIGDecode doesn't check if the user provided buffer is large enough 2415 to store the JBIG decoded image, which can potentially cause out-of-bounds 2416 write in the buffer. 2417 This issue was reported and analyzed by Thomas Dullien. 2418 2419 Also fixes a (harmless) potential use of uninitialized memory when 2420 tif->tif_rawsize > tif->tif_rawcc 2421 2422 And in case libtiff is compiled with CHUNKY_STRIP_READ_SUPPORT, make sure 2423 that whole strip data is provided to JBIGDecode() 2424 24252018-10-05 Even Rouault <even.rouault@spatialys.com> 2426 2427 tif_webp.c: fix scanline reading/writing. 2428 2429 WEBP codec: initialize nSamples in TWebPSetupDecode() and TWebPSetupEncode() 2430 24312018-10-05 Even Rouault <even.rouault@spatialys.com> 2432 2433 Merge branch 'tif_webp' into 'master' 2434 webp support 2435 2436 See merge request libtiff/libtiff!32 2437 24382018-10-05 Norman Barker <norman.barker@mapbox.com> 2439 2440 webp in tiff. 2441 24422018-09-17 Even Rouault <even.rouault@spatialys.com> 2443 2444 Merge branch 'master' into 'master' 2445 fix three potential vulnerabilities. 2446 2447 See merge request libtiff/libtiff!33 2448 24492018-09-08 Young_X <YangX92@hotmail.com> 2450 2451 fix out-of-bound read on some tiled images. 2452 2453 avoid potential int32 overflows in multiply_ms() 2454 2455 only read/write TIFFTAG_GROUP3OPTIONS or TIFFTAG_GROUP4OPTIONS if compression is COMPRESSION_CCITTFAX3 or COMPRESSION_CCITTFAX4 2456 24572018-08-15 Even Rouault <even.rouault@spatialys.com> 2458 2459 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 2460 24612018-08-07 Even Rouault <even.rouault@spatialys.com> 2462 2463 ZSTD: fix flush issue that can cause endless loop in ZSTDEncode() 2464 Fixes https://github.com/OSGeo/gdal/issues/833 2465 24662018-08-07 Even Rouault <even.rouault@spatialys.com> 2467 2468 Merge branch 'fix_bug_2800' into 'master' 2469 Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API 2470 2471 See merge request libtiff/libtiff!31 2472 24732018-08-07 Even Rouault <even.rouault@spatialys.com> 2474 2475 Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API 2476 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2800 2477 24782018-07-05 Even Rouault <even.rouault@spatialys.com> 2479 2480 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) 2481 24822018-07-02 Even Rouault <even.rouault@spatialys.com> 2483 2484 Fix TIFFTAG_ZSTD_LEVEL pseudo tag value to be > 65536, and the next one in the series 2485 24862018-05-25 Stefan Weil <sw@weilnetz.de> 2487 2488 Remove builtin support for GUI warning and error message boxes. 2489 Now warnings always go to the console by default unless applications 2490 define their own warning and error handlers. 2491 2492 GUI applications (and Windows CE) are required to define such handlers. 2493 24942018-05-12 Even Rouault <even.rouault@spatialys.com> 2495 2496 LZWDecodeCompat(): fix potential index-out-of-bounds write. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2780 / CVE-2018-8905 2497 The fix consists in using the similar code LZWDecode() to validate we 2498 don't write outside of the output buffer. 2499 2500 TIFFFetchNormalTag(): avoid (probably false positive) clang-tidy clang-analyzer-core.NullDereference warnings 2501 2502 TIFFWriteDirectorySec: avoid assertion. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2795. CVE-2018-10963 2503 25042018-05-04 Even Rouault <even.rouault@spatialys.com> 2505 2506 tif_color.c: fix code comment. 2507 25082018-04-17 Even Rouault <even.rouault@mines-paris.org> 2509 2510 Merge branch 'fuzzer-fix' into 'master' 2511 remove a pointless multiplication and a variable that's not necessary 2512 2513 See merge request libtiff/libtiff!29 2514 25152018-04-17 Paul Kehrer <paul.l.kehrer@gmail.com> 2516 2517 remove a pointless multiplication and a variable that's not necessary. 2518 25192018-04-17 Even Rouault <even.rouault@mines-paris.org> 2520 2521 Merge branch 'ossfuzz' into 'master' 2522 move oss-fuzz build script and fuzzer into libtiff tree 2523 2524 See merge request libtiff/libtiff!28 2525 25262018-04-17 Paul Kehrer <paul.l.kehrer@gmail.com> 2527 2528 move oss-fuzz build script and fuzzer into libtiff tree. 2529 25302018-04-14 Even Rouault <even.rouault@spatialys.com> 2531 2532 _TIFFGetMaxColorChannels: update for LOGLUV, ITULAB and ICCLAB that have 3 color channels 2533 25342018-04-12 Even Rouault <even.rouault@spatialys.com> 2535 2536 Fix MSVC warning. 2537 25382018-04-12 Even Rouault <even.rouault@mines-paris.org> 2539 2540 Merge branch 'master' into 'master' 2541 Fix NULL pointer dereference in TIFFPrintDirectory (bugzilla 2778/CVE-2018-7456) 2542 2543 See merge request libtiff/libtiff!27 2544 25452018-04-11 Hugo Lefeuvre <hle@debian.org> 2546 2547 Fix NULL pointer dereference in TIFFPrintDirectory. 2548 The TIFFPrintDirectory function relies on the following assumptions, 2549 supposed to be guaranteed by the specification: 2550 2551 (a) A Transfer Function field is only present if the TIFF file has 2552 photometric type < 3. 2553 2554 (b) If SamplesPerPixel > Color Channels, then the ExtraSamples field 2555 has count SamplesPerPixel - (Color Channels) and contains 2556 information about supplementary channels. 2557 2558 While respect of (a) and (b) are essential for the well functioning of 2559 TIFFPrintDirectory, no checks are realized neither by the callee nor 2560 by TIFFPrintDirectory itself. Hence, following scenarios might happen 2561 and trigger the NULL pointer dereference: 2562 2563 (1) TIFF File of photometric type 4 or more has illegal Transfer 2564 Function field. 2565 2566 (2) TIFF File has photometric type 3 or less and defines a 2567 SamplesPerPixel field such that SamplesPerPixel > Color Channels 2568 without defining all extra samples in the ExtraSamples fields. 2569 2570 In this patch, we address both issues with respect of the following 2571 principles: 2572 2573 (A) In the case of (1), the defined transfer table should be printed 2574 safely even if it isn't 'legal'. This allows us to avoid expensive 2575 checks in TIFFPrintDirectory. Also, it is quite possible that 2576 an alternative photometric type would be developed (not part of the 2577 standard) and would allow definition of Transfer Table. We want 2578 libtiff to be able to handle this scenario out of the box. 2579 2580 (B) In the case of (2), the transfer table should be printed at its 2581 right size, that is if TIFF file has photometric type Palette 2582 then the transfer table should have one row and not three, even 2583 if two extra samples are declared. 2584 2585 In order to fulfill (A) we simply add a new 'i < 3' end condition to 2586 the broken TIFFPrintDirectory loop. This makes sure that in any case 2587 where (b) would be respected but not (a), everything stays fine. 2588 2589 (B) is fulfilled by the loop condition 2590 'i < td->td_samplesperpixel - td->td_extrasamples'. This is enough as 2591 long as (b) is respected. 2592 2593 Naturally, we also make sure (b) is respected. This is done in the 2594 TIFFReadDirectory function by making sure any non-color channel is 2595 counted in ExtraSamples. 2596 2597 This commit addresses CVE-2018-7456. 2598 25992018-03-27 Even Rouault <even.rouault@mines-paris.org> 2600 2601 Merge branch 'tiffset-long8' into 'master' 2602 tiffset: Add support for LONG8, SLONG8 and IFD8 field types 2603 2604 See merge request libtiff/libtiff!25 2605 26062018-03-26 Roger Leigh <rleigh@codelibre.net> 2607 2608 port: Clean up NetBSD sources and headers to build standalone. 2609 26102018-03-23 Roger Leigh <rleigh@dundee.ac.uk> 2611 2612 port: Add strtol, strtoll and strtoull. 2613 Also update strtoul. All use the same implementation from NetBSD libc. 2614 2615 tiffset: Add support for LONG8, SLONG8 and IFD8 field types. 2616 26172018-03-17 Even Rouault <even.rouault@spatialys.com> 2618 2619 ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613) 2620 Rework fix done in 3719385a3fac5cfb20b487619a5f08abbf967cf8 to work in more 2621 cases like https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6979. 2622 Credit to OSS Fuzz 2623 2624 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2724 2625 26262018-03-13 Even Rouault <even.rouault@spatialys.com> 2627 2628 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) 2629 26302018-03-13 Even Rouault <even.rouault@mines-paris.org> 2631 2632 Merge branch 'avoid_memory_exhaustion_in_ChopUpSingleUncompressedStrip' into 'master' 2633 ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613) 2634 2635 See merge request libtiff/libtiff!26 2636 26372018-03-11 Even Rouault <even.rouault@spatialys.com> 2638 2639 ChopUpSingleUncompressedStrip: avoid memory exhaustion (CVE-2017-11613) 2640 In ChopUpSingleUncompressedStrip(), if the computed number of strips is big 2641 enough and we are in read only mode, validate that the file size is consistent 2642 with that number of strips to avoid useless attempts at allocating a lot of 2643 memory for the td_stripbytecount and td_stripoffset arrays. 2644 2645 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2724 2646 26472018-03-10 Even Rouault <even.rouault@spatialys.com> 2648 2649 Typo fix in comment. 2650 26512018-03-03 Even Rouault <even.rouault@spatialys.com> 2652 2653 Avoid warning with gcc 8 (partially revert 647b0e8c11ee11896f319b92cf110775f538d75c) 2654 26552018-02-25 Even Rouault <even.rouault@mines-paris.org> 2656 2657 Merge branch 'typos' into 'master' 2658 Fix some typos 2659 2660 See merge request libtiff/libtiff!23 2661 26622018-02-24 Stefan Weil <sw@weilnetz.de> 2663 2664 Fix some typos. 2665 Most of them were found by codespell. 2666 26672018-02-14 Even Rouault <even.rouault@spatialys.com> 2668 2669 Typo fix in comment. 2670 2671 Merge branch 'zstd' 2672 2673 Add warning about COMPRESSION_ZSTD not being officialy registered. 2674 26752018-02-14 Even Rouault <even.rouault@mines-paris.org> 2676 2677 Merge branch 'bug2772' into 'master' 2678 Fix for bug 2772 2679 2680 See merge request libtiff/libtiff!20 2681 26822018-02-12 Nathan Baker <nathanb@lenovo-chrome.com> 2683 2684 Fix for bug 2772. 2685 It is possible to craft a TIFF document where the IFD list is circular, 2686 leading to an infinite loop while traversing the chain. The libtiff 2687 directory reader has a failsafe that will break out of this loop after 2688 reading 65535 directory entries, but it will continue processing, 2689 consuming time and resources to process what is essentially a bogus TIFF 2690 document. 2691 2692 This change fixes the above behavior by breaking out of processing when 2693 a TIFF document has >= 65535 directories and terminating with an error. 2694 26952018-02-09 Even Rouault <even.rouault@mines-paris.org> 2696 2697 Merge branch 'libtiff-as-subdirectory-fixes' into 'master' 2698 Prefer target_include_directories 2699 2700 See merge request libtiff/libtiff!12 2701 27022018-02-06 Even Rouault <even.rouault@mines-paris.org> 2703 2704 Merge branch 'cmake-cleanups' into 'master' 2705 Cmake cleanups 2706 2707 See merge request libtiff/libtiff!11 2708 27092018-02-06 Even Rouault <even.rouault@mines-paris.org> 2710 2711 Merge branch 'check-right-cxx-variable' into 'master' 2712 Check right cxx variable 2713 2714 See merge request libtiff/libtiff!19 2715 27162018-02-06 Even Rouault <even.rouault@mines-paris.org> 2717 2718 Merge branch 'dont-leak-stream-open' into 'master' 2719 Fix a memory leak in TIFFStreamOpen 2720 2721 See merge request libtiff/libtiff!17 2722 27232018-02-06 Ben Boeckel <ben.boeckel@kitware.com> 2724 2725 cmake: check CXX_SUPPORT. 2726 This variable is set in response to the `cxx` cache variable; use it 2727 instead. 2728 27292018-02-04 Olivier Paquet <olivier.paquet@gmail.com> 2730 2731 Merge branch 'warnings' into 'master' 2732 Fix all compiler warnings for default build 2733 2734 See merge request libtiff/libtiff!16 2735 27362018-02-04 Nathan Baker <elitebadger@gmail.com> 2737 2738 Fix all compiler warnings for default build. 2739 27402018-01-30 Paul Kehrer <paul.l.kehrer@gmail.com> 2741 2742 tabs are hard. 2743 27442018-01-29 Paul Kehrer <paul.l.kehrer@gmail.com> 2745 2746 use hard tabs like the rest of the project. 2747 2748 Fix a memory leak in TIFFStreamOpen. 2749 TIFFStreamOpen allocates a new tiff{o,i}s_data, but if TIFFClientOpen 2750 fails then that struct is leaked. Delete it if the returned TIFF * is 2751 null. 2752 27532018-01-29 Kevin Funk <kfunk@kde.org> 2754 2755 Bump minimum required CMake version to v2.8.11. 2756 Because we use the BUILD_INTERFACE generator expression 2757 27582018-01-27 Even Rouault <even.rouault@mines-paris.org> 2759 2760 Merge branch 'patch-1' into 'master' 2761 Update CMakeLists.txt for build fix on Windows 2762 2763 See merge request libtiff/libtiff!14 2764 27652018-01-27 Even Rouault <even.rouault@mines-paris.org> 2766 2767 Merge branch 'patch-2' into 'master' 2768 Update tiffgt.c for build fix on Windows 2769 2770 See merge request libtiff/libtiff!13 2771 27722018-01-25 Olivier Paquet <olivier.paquet@gmail.com> 2773 2774 Merge branch 'bug2750' into 'master' 2775 Add workaround to pal2rgb buffer overflow. 2776 2777 See merge request libtiff/libtiff!15 2778 27792018-01-25 Nathan Baker <elitebadger@gmail.com> 2780 2781 Add workaround to pal2rgb buffer overflow. 2782 27832018-01-23 Andrea <andrea@andreaplanet.com> 2784 2785 Update tiffgt.c for build fix on Windows. 2786 2787 Update CMakeLists.txt for build fix on Windows. 2788 27892018-01-15 Even Rouault <even.rouault@mines-paris.org> 2790 2791 Merge branch 'has-attribute-check' into 'master' 2792 tiffiop: use __has_attribute to detect the no_sanitize attribute 2793 2794 See merge request libtiff/libtiff!10 2795 27962018-01-15 Ben Boeckel <ben.boeckel@kitware.com> 2797 2798 cmake: avoid setting hard-coded variables in the cache. 2799 2800 cmake: avoid an unnecessary intermediate variable. 2801 2802 cmake: avoid an unnecessary intermediate variable. 2803 2804 cmake: avoid tautological logic. 2805 2806 cmake: use check_symbol_exists. 2807 This accounts for symbols being provided by macros. 2808 2809 cmake: remove unused configure checks. 2810 28112018-01-12 Kevin Funk <kfunk@kde.org> 2812 2813 Prefer target_include_directories. 2814 When libtiff is included in a super project via a simple 2815 `add_subdirectory(libtiff)`, this way the `tiff` library target has all 2816 the necessary information to build against it. 2817 2818 Note: The BUILD_INTERFACE generator expression feature requires at least 2819 CMake v2.8.11 if I'm correct. 2820 28212018-01-09 Ben Boeckel <ben.boeckel@kitware.com> 2822 2823 tiffiop: use __has_attribute to detect the no_sanitize attribute. 2824 28252017-12-31 Even Rouault <even.rouault@spatialys.com> 2826 2827 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 2828 2829 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 2830 2831 libtiff/tif_print.c: TIFFPrintDirectory(): fix null pointer dereference on corrupted file. Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2770 2832 28332017-12-21 Even Rouault <even.rouault@spatialys.com> 2834 2835 Add libzstd to gitlab-ci. 2836 28372017-12-21 Even Rouault <even.rouault@spatialys.com> 2838 2839 Add ZSTD compression codec. 2840 From https://github.com/facebook/zstd 2841 "Zstandard, or zstd as short version, is a fast lossless compression 2842 algorithm, targeting real-time compression scenarios at zlib-level 2843 and better compression ratios. It's backed by a very fast entropy stage, 2844 provided by Huff0 and FSE library." 2845 2846 We require libzstd >= 1.0.0 so as to be able to use streaming compression 2847 and decompression methods. 2848 2849 The default compression level we have selected is 9 (range goes from 1 to 22), 2850 which experimentally offers equivalent or better compression ratio than 2851 the default deflate/ZIP level of 6, and much faster compression. 2852 2853 For example on a 6600x4400 16bit image, tiffcp -c zip runs in 10.7 seconds, 2854 while tiffcp -c zstd runs in 5.3 seconds. Decompression time for zip is 2855 840 ms, and for zstd 650 ms. File size is 42735936 for zip, and 2856 42586822 for zstd. Similar findings on other images. 2857 2858 On a 25894x16701 16bit image, 2859 2860 Compression time Decompression time File size 2861 2862 ZSTD 35 s 3.2 s 399 700 498 2863 ZIP/Deflate 1m 20 s 4.9 s 419 622 336 2864 28652017-12-10 Even Rouault <even.rouault@mines-paris.org> 2866 2867 Merge branch 'fix_cve-2017-9935' into 'master' 2868 Fix CVE-2017-9935 2869 2870 See merge request libtiff/libtiff!7 2871 28722017-12-10 Brian May <brian@linuxpenguins.xyz> 2873 2874 tiff2pdf: Fix apparent incorrect type for transfer table. 2875 The standard says the transfer table contains unsigned 16 bit values, 2876 I have no idea why we refer to them as floats. 2877 28782017-12-10 Brian May <brian@linuxpenguins.xyz> 2879 2880 tiff2pdf: Fix CVE-2017-9935. 2881 Fix for http://bugzilla.maptools.org/show_bug.cgi?id=2704 2882 2883 This vulnerability - at least for the supplied test case - is because we 2884 assume that a tiff will only have one transfer function that is the same 2885 for all pages. This is not required by the TIFF standards. 2886 2887 We than read the transfer function for every page. Depending on the 2888 transfer function, we allocate either 2 or 4 bytes to the XREF buffer. 2889 We allocate this memory after we read in the transfer function for the 2890 page. 2891 2892 For the first exploit - POC1, this file has 3 pages. For the first page 2893 we allocate 2 extra extra XREF entries. Then for the next page 2 more 2894 entries. Then for the last page the transfer function changes and we 2895 allocate 4 more entries. 2896 2897 When we read the file into memory, we assume we have 4 bytes extra for 2898 each and every page (as per the last transfer function we read). Which 2899 is not correct, we only have 2 bytes extra for the first 2 pages. As a 2900 result, we end up writing past the end of the buffer. 2901 2902 There are also some related issues that this also fixes. For example, 2903 TIFFGetField can return uninitalized pointer values, and the logic to 2904 detect a N=3 vs N=1 transfer function seemed rather strange. 2905 2906 It is also strange that we declare the transfer functions to be of type 2907 float, when the standard says they are unsigned 16 bit values. This is 2908 fixed in another patch. 2909 2910 This patch will check to ensure that the N value for every transfer 2911 function is the same for every page. If this changes, we abort with an 2912 error. In theory, we should perhaps check that the transfer function 2913 itself is identical for every page, however we don't do that due to the 2914 confusion of the type of the data in the transfer function. 2915 29162017-12-10 Even Rouault <even.rouault@mines-paris.org> 2917 2918 Merge branch 'undef-warn-fixes' into 'master' 2919 Fix a couple of harmless but annoying -Wundef warnings 2920 2921 See merge request libtiff/libtiff!8 2922 29232017-12-07 Vadim Zeitlin <vadim@zeitlins.org> 2924 2925 Remove tests for undefined SIZEOF_VOIDP. 2926 As configure never uses AC_CHECK_SIZEOF(void*), this symbol is never 2927 defined and so it doesn't make sense to test it in the code, this just 2928 results in -Wundef warnings if they're enabled. 2929 2930 Avoid harmless -Wundef warnings for __clang_major__ 2931 Check that we're using Clang before checking its version. 2932 29332017-12-02 Even Rouault <even.rouault@mines-paris.org> 2934 2935 Merge branch 'remove_autogenerated_files' into 'master' 2936 Remove autogenerated files 2937 2938 See merge request libtiff/libtiff!5 2939 29402017-12-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2941 2942 Merge branch 'tif_config_h_includes' into 'master' 2943 'tif_config.h' or 'tiffiop.h' must be included before any system header. 2944 2945 See merge request libtiff/libtiff!6 2946 29472017-12-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 2948 2949 'tif_config.h' or 'tiffio.h' must be included before any system header. 2950 29512017-12-01 Even Rouault <even.rouault@spatialys.com> 2952 2953 .gitignore: add patterns for build from root. 2954 2955 Remove remaining .cvsignore files. 2956 2957 Remove autoconf/automake generated files, and add them to .gitignore. 2958 29592017-12-01 Olivier Paquet <olivier.paquet@gmail.com> 2960 2961 Merge branch 'makedistcheck' into 'master' 2962 build/gitlab-ci and build/travis-ci: add a 'make dist' step in autoconf_build()… 2963 2964 See merge request libtiff/libtiff!4 2965 29662017-12-01 Even Rouault <even.rouault@spatialys.com> 2967 2968 build/gitlab-ci and build/travis-ci: add a 'make dist' step in autoconf_build() target, to check we are release-ready 2969 29702017-12-01 Even Rouault <even.rouault@mines-paris.org> 2971 2972 Merge branch 'git_updates' into 'master' 2973 CVS to Git updates 2974 2975 See merge request libtiff/libtiff!2 2976 29772017-12-01 Even Rouault <even.rouault@spatialys.com> 2978 2979 HOWTO-RELEASE: update to use signed tags. 2980 2981 README.md: use markdown syntax for hyperlinks. 2982 29832017-11-30 Even Rouault <even.rouault@spatialys.com> 2984 2985 Add .gitignore. 2986 2987 Regenerate autoconf files. 2988 2989 Makefile.am: update to reflect removal of README.vms and README -> README.md 2990 2991 Remove all $Id and $Headers comments with CVS versions. 2992 2993 HOWTO-RELEASE: update for git. 2994 2995 Remove outdated .cvsignore. 2996 2997 Remove outdated commit script. 2998 2999 Remove README.vms. 3000 3001 Rename README as README.md, and update content. 3002 3003 html/index.html: reflect change from CVS to gitlab. 3004 30052017-11-30 Olivier Paquet <olivier.paquet@gmail.com> 3006 3007 Merge branch 'test-ci' into 'master' 3008 Update CI configuration 3009 3010 See merge request libtiff/libtiff!1 3011 30122017-11-23 Roger Leigh <rleigh@codelibre.net> 3013 3014 appveyor: Correct path for git clone and skip artefact archival. 3015 30162017-11-22 Roger Leigh <rleigh@codelibre.net> 3017 3018 travis-ci: Remove unused matrix exclusion. 3019 3020 Add gitlab-ci build support. 3021 30222017-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3023 3024 * configure.ac: libtiff 4.0.9 released. 3025 3026 * html/v4.0.9.html: Add HTML file to document changes in libtiff 3027 v4.0.9. 3028 30292017-11-17 Even Rouault <even.rouault at spatialys.com> 3030 3031 * libtiff/tif_aux.c, tif_getimage.c, tif_read.c: typo fixes in 3032 comments. 3033 30342017-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3035 3036 * test/Makefile.am: Add some tests for tiff2bw. 3037 30382017-11-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3039 3040 * tools/tiff2bw.c (main): Free memory allocated in the tiff2bw 3041 program. This is in response to the report associated with 3042 CVE-2017-16232 but does not solve the extremely high memory usage 3043 with the associated POC file. 3044 30452017-10-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3046 3047 * tools/tiff2pdf.c (t2p_sample_realize_palette): Fix possible 3048 arithmetic overflow in bounds checking code and eliminate 3049 comparison between signed and unsigned type. 3050 3051 * tools/fax2tiff.c (_FAX_Client_Data): Pass FAX_Client_Data as the 3052 client data. This client data is not used at all at the moment, 3053 but it makes the most sense. Issue that the value of 3054 client_data.fd was passed where a pointer is expected was reported 3055 via email by Gerald Schade on Sun, 29 Oct 2017. 3056 30572017-10-23 Even Rouault <even.rouault at spatialys.com> 3058 3059 * libtiff/tif_getimage.c: avoid floating point division by zero in 3060 initCIELabConversion() 3061 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3733 3062 Credit to OSS Fuzz 3063 30642017-10-17 Even Rouault <even.rouault at spatialys.com> 3065 3066 * libtiff/tif_jpeg.c: add compatibility with libjpeg-turbo 1.5.2 that 3067 honours max_memory_to_use > 0. 3068 Cf https://github.com/libjpeg-turbo/libjpeg-turbo/issues/162 3069 30702017-10-10 Even Rouault <even.rouault at spatialys.com> 3071 3072 * nmake.opt: support a DEBUG=1 option, so as to adjust OPTFLAGS and use 3073 /MDd runtime in debug mode. 3074 30752017-10-01 Even Rouault <even.rouault at spatialys.com> 3076 3077 * tools/tiffset.c: fix setting a single value for the ExtraSamples tag 3078 (and other tags with variable number of values). 3079 So 'tiffset -s ExtraSamples 1 X'. This only worked 3080 when setting 2 or more values, but not just one. 3081 30822017-09-29 Even Rouault <even.rouault at spatialys.com> 3083 3084 * libtiff/libtiff.def: add TIFFReadRGBAStripExt and TIFFReadRGBATileExt 3085 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2735 3086 30872017-09-09 Even Rouault <even.rouault at spatialys.com> 3088 3089 * libtiff/tif_dirread.c: add NULL check to avoid likely false positive 3090 null-pointer dereference warning by CLang Static Analyzer. 3091 30922017-09-07 Even Rouault <even.rouault at spatialys.com> 3093 3094 * libtiff/tiffiop.h, tif_aux.c: redirect SeekOK() macro to a _TIFFSeekoK() 3095 function that checks if the offset is not bigger than INT64_MAX, so as 3096 to avoid a -1 error return code of TIFFSeekFile() to match a required 3097 seek to UINT64_MAX/-1. 3098 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2726 3099 Adapted from proposal by Nicolas Ruff. 3100 31012017-08-29 Even Rouault <even.rouault at spatialys.com> 3102 3103 * libtiff/tif_jpeg.c: accept reading the last strip of a JPEG compressed 3104 file if the codestream height is larger than the truncated height of the 3105 strip. Emit a warning in this situation since this is non compliant. 3106 31072017-08-28 Even Rouault <even.rouault at spatialys.com> 3108 3109 * test/Makefile.am: add missing reference to images/quad-lzw-compat.tiff 3110 to fix "make distcheck". Patch by Roger Leigh 3111 31122017-08-23 Even Rouault <even.rouault at spatialys.com> 3113 3114 * libtiff/tif_dirwrite.c: replace assertion to tag value not fitting 3115 on uint32 when selecting the value of SubIFD tag by runtime check 3116 (in TIFFWriteDirectoryTagSubifd()). 3117 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2728 3118 Reported by team OWL337 3119 31202017-08-23 Even Rouault <even.rouault at spatialys.com> 3121 3122 * libtiff/tif_dirwrite.c: replace assertion related to not finding the 3123 SubIFD tag by runtime check (in TIFFWriteDirectorySec()) 3124 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2727 3125 Reported by team OWL337 3126 31272017-07-24 Even Rouault <even.rouault at spatialys.com> 3128 3129 * libtiff/tif_luv.c: further reduce memory requirements for temporary 3130 buffer when RowsPerStrip >= image_length in LogLuvInitState() and 3131 LogL16InitState(). 3132 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2700 3133 Credit to OSS Fuzz 3134 31352017-07-24 Even Rouault <even.rouault at spatialys.com> 3136 3137 * libtiff/tif_getimage.c: fix fromskew computation when to-be-skipped 3138 pixel number is not a multiple of the horizontal subsampling, and 3139 also in some other cases. Impact putcontig8bitYCbCr44tile, 3140 putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile, 3141 putcontig8bitYCbCr21tile and putcontig8bitYCbCr12tile 3142 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2637 (discovered 3143 by Agostino Sarubbo) 3144 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2691 (credit 3145 to OSS Fuzz) 3146 31472017-07-24 Even Rouault <even.rouault at spatialys.com> 3148 3149 * libtiff/tif_getimage.c: gtTileContig() and gtTileSeparate(): 3150 properly break from loops on error when stoponerr is set, instead 3151 of going on iterating on row based loop. 3152 31532017-07-18 Even Rouault <even.rouault at spatialys.com> 3154 3155 * libtiff/tif_luv.c: LogLuvInitState(): avoid excessive memory 3156 allocation when RowsPerStrip tag is missing. 3157 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2683 3158 Credit to OSS-Fuzz 3159 31602017-07-15 Even Rouault <even.rouault at spatialys.com> 3161 3162 * libtiff/tif_read.c: add protection against excessive memory 3163 allocation attempts in TIFFReadDirEntryArray() on short files. 3164 Effective for mmap'ed case. And non-mmap'ed case, but restricted 3165 to 64bit builds. 3166 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2675 3167 31682017-07-15 Even Rouault <even.rouault at spatialys.com> 3169 3170 * libtiff/tif_read.c: in TIFFFetchStripThing(), only grow the 3171 arrays that hold StripOffsets/StripByteCounts, when they are smaller 3172 than the expected number of striles, up to 1 million striles, and 3173 error out beyond. Can be tweaked by setting the environment variable 3174 LIBTIFF_STRILE_ARRAY_MAX_RESIZE_COUNT. 3175 This partially goes against a change added on 2002-12-17 to accept 3176 those arrays of wrong sizes, but is needed to avoid denial of services. 3177 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2350 3178 Credit to OSS Fuzz 3179 31802017-07-15 Even Rouault <even.rouault at spatialys.com> 3181 3182 * libtiff/tif_read.c: TIFFFillStrip() / TIFFFillTile(). 3183 Complementary fix for http://bugzilla.maptools.org/show_bug.cgi?id=2708 3184 in the isMapped() case, so as to avoid excessive memory allocation 3185 when we need a temporary buffer but the file is truncated. 3186 31872017-07-15 Even Rouault <even.rouault at spatialys.com> 3188 3189 * tools/tiff2pdf.c: prevent heap buffer overflow write in "Raw" 3190 mode on PlanarConfig=Contig input images. 3191 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2715 3192 Reported by team OWL337 3193 31942017-07-11 Even Rouault <even.rouault at spatialys.com> 3195 3196 * libtiff/tif_dir.c: avoid potential null pointer dereference in 3197 _TIFFVGetField() on corrupted TIFFTAG_NUMBEROFINKS tag instance. 3198 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2713 3199 32002017-07-11 Even Rouault <even.rouault at spatialys.com> 3201 3202 * libtiff/tif_lzw.c: fix potential out-of-buffer read on 1-byte LZW 3203 strips. Crashing issue only on memory mapped files, where the strip 3204 offset is the last byte of the file, and the file size is a multiple 3205 of one page size on the CPU architecture (typically 4096). Credit 3206 to myself :-) 3207 32082017-07-11 Even Rouault <even.rouault at spatialys.com> 3209 3210 * test/tiffcp-lzw-compat.sh, test/images/quad-lzw-compat.tiff: new files 3211 to test old-style LZW decompression 3212 * test/common.sh, Makefile.am, CMakeList.txt: updated with above 3213 32142017-07-11 Even Rouault <even.rouault at spatialys.com> 3215 3216 * refresh autoconf/make stuff with what is on Ubuntu 16.04 (minor changes) 3217 32182017-07-11 Even Rouault <even.rouault at spatialys.com> 3219 3220 * libtiff/tif_lzw.c: fix 4.0.8 regression in the decoding of old-style LZW 3221 compressed files. 3222 32232017-07-10 Even Rouault <even.rouault at spatialys.com> 3224 3225 * libtiff/tif_pixarlog.c: avoid excessive memory allocation on decoding 3226 when RowsPerStrip tag is not defined (and thus td_rowsperstrip == UINT_MAX) 3227 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2554 3228 Credit to OSS Fuzz 3229 32302017-07-04 Even Rouault <even.rouault at spatialys.com> 3231 3232 * libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedTileAndAllocBuffer() 3233 and _TIFFReadTileAndAllocBuffer() variants of TIFFReadEncodedTile() and 3234 TIFFReadTile() that allocates the decoded buffer only after a first 3235 successful TIFFFillTile(). This avoids excessive memory allocation 3236 on corrupted files. 3237 * libtiff/tif_getimage.c: use _TIFFReadTileAndAllocBuffer(). 3238 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2470 3239 Credit to OSS Fuzz. 3240 32412017-07-04 Even Rouault <even.rouault at spatialys.com> 3242 3243 * libtiff/tif_error.c, tif_warning.c: correctly use va_list when both 3244 an old-style and new-style warning/error handlers are installed. 3245 Patch by Paavo Helde (sent on the mailing list) 3246 32472017-07-02 Even Rouault <even.rouault at spatialys.com> 3248 3249 * libtiff/tif_read.c: TIFFStartTile(): set tif_rawcc to 3250 tif_rawdataloaded when it is set. Similarly to TIFFStartStrip(). 3251 This issue was revealed by the change of 2017-06-30 in TIFFFileTile(), 3252 limiting the number of bytes read. But it could probably have been hit 3253 too in CHUNKY_STRIP_READ_SUPPORT mode previously ? 3254 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2454 3255 Credit to OSS Fuzz 3256 32572017-06-30 Even Rouault <even.rouault at spatialys.com> 3258 3259 * man: update documentation regarding SubIFD tag and 3260 TIFFSetSubDirectory() data type. 3261 Patch by Eric Piel 3262 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2671 3263 32642017-06-30 Even Rouault <even.rouault at spatialys.com> 3265 3266 * libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedXXXX() 3267 functions associated with LONG8/SLONG8 data type, replace assertion that 3268 the file is BigTIFF, by a non-fatal error. 3269 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712 3270 Reported by team OWL337 3271 32722017-06-30 Even Rouault <even.rouault at spatialys.com> 3273 3274 * libtiff/tif_read.c, tiffiop.h: add a _TIFFReadEncodedStripAndAllocBuffer() 3275 function, variant of TIFFReadEncodedStrip() that allocates the 3276 decoded buffer only after a first successful TIFFFillStrip(). This avoids 3277 excessive memory allocation on corrupted files. 3278 * libtiff/tif_getimage.c: use _TIFFReadEncodedStripAndAllocBuffer(). 3279 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2708 and 3280 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2433 . 3281 Credit to OSS Fuzz 3282 32832017-06-30 Even Rouault <even.rouault at spatialys.com> 3284 3285 * libtiff/tif_read.c: TIFFFillTile(): add limitation to the number 3286 of bytes read in case td_stripbytecount[strip] is bigger than 3287 reasonable, so as to avoid excessive memory allocation (similarly to 3288 what was done for TIFFFileStrip() on 2017-05-10) 3289 32902017-06-29 Even Rouault <even.rouault at spatialys.com> 3291 3292 * libtiff/tiffiop.h, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c, 3293 libtiff/tif_read.c: make TIFFReadScanline() works in 3294 CHUNKY_STRIP_READ_SUPPORT mode with JPEG stream with multiple scans. 3295 Also make configurable through a LIBTIFF_JPEG_MAX_ALLOWED_SCAN_NUMBER 3296 environment variable the maximum number of scans allowed. Defaults to 3297 100. 3298 32992017-06-27 Even Rouault <even.rouault at spatialys.com> 3300 3301 * libtiff/tif_dirread.c: in TIFFReadDirEntryFloat(), check that a 3302 double value can fit in a float before casting. Patch by Nicolas RUFF 3303 33042017-06-26 Even Rouault <even.rouault at spatialys.com> 3305 3306 * libtiff/tif_jbig.c: fix memory leak in error code path of JBIGDecode() 3307 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2706 3308 Reported by team OWL337 3309 33102017-06-24 Even Rouault <even.rouault at spatialys.com> 3311 3312 * libtiff/tif_jpeg.c: error out at decoding time if anticipated libjpeg 3313 memory allocation is above 100 MB. libjpeg in case of multiple scans, 3314 which is allowed even in baseline JPEG, if components are spread over several 3315 scans and not interleavedin a single one, needs to allocate memory (or 3316 backing store) for the whole strip/tile. 3317 See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf 3318 This limitation may be overriden by setting the 3319 LIBTIFF_ALLOW_LARGE_LIBJPEG_MEM_ALLOC environment variable, or recompiling 3320 libtiff with a custom value of TIFF_LIBJPEG_LARGEST_MEM_ALLOC macro. 3321 33222017-06-24 Even Rouault <even.rouault at spatialys.com> 3323 3324 * libtiff/tif_jpeg.c: add anti-denial of service measure to avoid excessive 3325 CPU consumption on progressive JPEGs with a huge number of scans. 3326 See http://www.libjpeg-turbo.org/pmwiki/uploads/About/TwoIssueswiththeJPEGStandard.pdf 3327 Note: only affects libtiff since 2014-12-29 where support of non-baseline JPEG 3328 was added. 3329 33302017-06-18 Even Rouault <even.rouault at spatialys.com> 3331 3332 * libtiff/tiffiop.h: add TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW macro to 3333 disable CLang warnings raised by -fsanitize=undefined,unsigned-integer-overflow 3334 * libtiff/tif_predict.c: decorate legitimate functions where unsigned int 3335 overflow occur with TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW 3336 * libtiff/tif_dirread.c: avoid unsigned int overflow in EstimateStripByteCounts() 3337 and BYTECOUNTLOOKSBAD when file is too short. 3338 * libtiff/tif_jpeg.c: avoid (harmless) unsigned int overflow on tiled images. 3339 * libtiff/tif_fax3.c: avoid unsigned int overflow in Fax3Encode2DRow(). Could 3340 potentially be a bug with huge rows. 3341 * libtiff/tif_getimage.c: avoid many (harmless) unsigned int overflows. 3342 33432017-06-12 Even Rouault <even.rouault at spatialys.com> 3344 3345 * libtiff/tif_dirread.c: TIFFFetchStripThing(): limit the number of items 3346 read in StripOffsets/StripByteCounts tags to the number of strips to avoid 3347 excessive memory allocation. 3348 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2215 3349 Credit to OSS Fuzz 3350 33512017-06-12 Even Rouault <even.rouault at spatialys.com> 3352 3353 * libtiff/tif_dirread.c: fix regression of libtiff 4.0.8 in 3354 ChopUpSingleUncompressedStrip() regarding update of newly single-strip 3355 uncompressed files whose bytecount is 0. Before the change of 2016-12-03, 3356 the condition bytecount==0 used to trigger an early exit/disabling of 3357 strip chop. Re-introduce that in update mode. Otherwise this cause 3358 later incorrect setting for the value of StripByCounts/StripOffsets. 3359 ( https://trac.osgeo.org/gdal/ticket/6924 ) 3360 33612017-06-10 Even Rouault <even.rouault at spatialys.com> 3362 3363 * .appveyor.yml, .travis.yml, build/travis-ci: apply patches 3364 0001-ci-Travis-script-improvements.patch and 3365 0002-ci-Invoke-helper-script-via-shell.patch by Roger Leigh 3366 (sent to mailing list) 3367 33682017-06-08 Even Rouault <even.rouault at spatialys.com> 3369 3370 * .travis.yml, build/travis-ci: new files from 3371 0001-ci-Add-Travis-support-for-Linux-builds-with-Autoconf.patch by 3372 Roger Leigh (sent to mailing list on 2017-06-08) 3373 This patch adds support for the Travis-CI service. 3374 3375 * .appveyor.yml: new file from 3376 0002-ci-Add-AppVeyor-support.patch by Roger Leigh (sent to mailing 3377 list on 2017-06-08) 3378 This patch adds a .appveyor.yml file to the top-level. This allows 3379 one to opt in to having a branch built on Windows with Cygwin, 3380 MinGW and MSVC automatically when a branch is pushed to GitHub, 3381 GitLab, BitBucket or any other supported git hosting service. 3382 3383 * CMakeLists.txt, test/CMakeLists.txt, test/TiffTestCommon.cmake: apply 3384 patch 0001-cmake-Improve-Cygwin-and-MingGW-test-support.patch from Roger 3385 Leigh (sent to mailing list on 2017-06-08) 3386 This patch makes the CMake build system support running the tests 3387 with MinGW or Cygwin. 3388 33892017-06-08 Even Rouault <even.rouault at spatialys.com> 3390 3391 * libtiff/tif_swab.c: if DISABLE_CHECK_TIFFSWABMACROS is defined, do not do 3392 the #ifdef TIFFSwabXXX checks. Make it easier for GDAL to rename the symbols 3393 of its internal libtiff copy. 3394 33952017-06-01 Even Rouault <even.rouault at spatialys.com> 3396 3397 * libtiff/tif_dirinfo.c, tif_dirread.c: add _TIFFCheckFieldIsValidForCodec(), 3398 and use it in TIFFReadDirectory() so as to ignore fields whose tag is a 3399 codec-specified tag but this codec is not enabled. This avoids TIFFGetField() 3400 to behave differently depending on whether the codec is enabled or not, and 3401 thus can avoid stack based buffer overflows in a number of TIFF utilities 3402 such as tiffsplit, tiffcmp, thumbnail, etc. 3403 Patch derived from 0063-Handle-properly-CODEC-specific-tags.patch 3404 (http://bugzilla.maptools.org/show_bug.cgi?id=2580) by Raphaël Hertzog. 3405 Fixes: 3406 http://bugzilla.maptools.org/show_bug.cgi?id=2580 3407 http://bugzilla.maptools.org/show_bug.cgi?id=2693 3408 http://bugzilla.maptools.org/show_bug.cgi?id=2625 (CVE-2016-10095) 3409 http://bugzilla.maptools.org/show_bug.cgi?id=2564 (CVE-2015-7554) 3410 http://bugzilla.maptools.org/show_bug.cgi?id=2561 (CVE-2016-5318) 3411 http://bugzilla.maptools.org/show_bug.cgi?id=2499 (CVE-2014-8128) 3412 http://bugzilla.maptools.org/show_bug.cgi?id=2441 3413 http://bugzilla.maptools.org/show_bug.cgi?id=2433 3414 34152017-05-29 Even Rouault <even.rouault at spatialys.com> 3416 3417 * libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation for 3418 refBlackWhite coefficients values. To avoid invalid float->int32 conversion 3419 (when refBlackWhite[0] == 2147483648.f) 3420 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1907 3421 Credit to OSS Fuzz 3422 34232017-05-29 Even Rouault <even.rouault at spatialys.com> 3424 3425 * libtiff/tif_color.c: TIFFYCbCrToRGBInit(): stricter clamping to avoid 3426 int32 overflow in TIFFYCbCrtoRGB(). 3427 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1844 3428 Credit to OSS Fuzz 3429 34302017-05-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3431 3432 * configure.ac: libtiff 4.0.8 released. 3433 3434 * html/v4.0.8.html: Add description of changes targeting the 4.0.8 3435 release. 3436 34372017-05-20 Even Rouault <even.rouault at spatialys.com> 3438 3439 * libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation for 3440 refBlackWhite coefficients values. To avoid invalid float->int32 conversion. 3441 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1718 3442 Credit to OSS Fuzz 3443 34442017-05-18 Even Rouault <even.rouault at spatialys.com> 3445 3446 * libtiff/tif_getimage.c: initYCbCrConversion(): check luma[1] is not zero 3447 to avoid division by zero. 3448 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1665 3449 Credit to OSS Fuzz 3450 34512017-05-17 Even Rouault <even.rouault at spatialys.com> 3452 3453 * libtiff/tif_read.c: _TIFFVSetField(): fix outside range cast of double to 3454 float. 3455 Credit to Google Autofuzz project 3456 34572017-05-17 Even Rouault <even.rouault at spatialys.com> 3458 3459 * libtiff/tif_getimage.c: initYCbCrConversion(): add basic validation of 3460 luma and refBlackWhite coefficients (just check they are not NaN for now), 3461 to avoid potential float to int overflows. 3462 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1663 3463 Credit to OSS Fuzz 3464 34652017-05-17 Even Rouault <even.rouault at spatialys.com> 3466 3467 * libtiff/tif_pixarlog.c: PixarLogDecode(): resync tif_rawcp with 3468 next_in and tif_rawcc with avail_in at beginning and end of function, 3469 similarly to what is done in LZWDecode(). Likely needed so that it 3470 works properly with latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT 3471 mode. But untested... 3472 34732017-05-17 Even Rouault <even.rouault at spatialys.com> 3474 3475 * libtiff/tif_lzw.c: update dec_bitsleft at beginning of LZWDecode(), 3476 and update tif_rawcc at end of LZWDecode(). This is needed to properly 3477 work with the latest chnges in tif_read.c in CHUNKY_STRIP_READ_SUPPORT 3478 mode. 3479 34802017-05-14 Even Rouault <even.rouault at spatialys.com> 3481 3482 * libtiff/tif_luv.c: LogL16InitState(): avoid excessive memory 3483 allocation when RowsPerStrip tag is missing. 3484 Credit to OSS-Fuzz (locally run, on GDAL) 3485 34862017-05-14 Even Rouault <even.rouault at spatialys.com> 3487 3488 * libtiff/tif_packbits.c: fix out-of-buffer read in PackBitsDecode() 3489 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1563 3490 Credit to OSS-Fuzz 3491 34922017-05-13 Even Rouault <even.rouault at spatialys.com> 3493 3494 * libtiff/tif_pixarlog.c, tif_luv.c: avoid potential int32 3495 overflows in multiply_ms() and add_ms(). 3496 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1558 3497 Credit to OSS-Fuzz 3498 34992017-05-13 Even Rouault <even.rouault at spatialys.com> 3500 3501 * libtiff/tif_color.c: avoid potential int32 overflow in 3502 TIFFYCbCrToRGBInit() 3503 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1533 3504 Credit to OSS-Fuzz 3505 35062017-05-13 Even Rouault <even.rouault at spatialys.com> 3507 3508 * libtiff/tif_read.c: update tif_rawcc in CHUNKY_STRIP_READ_SUPPORT 3509 mode with tif_rawdataloaded when calling TIFFStartStrip() or 3510 TIFFFillStripPartial(). This avoids reading beyond tif_rawdata 3511 when bytecount > tif_rawdatasize. 3512 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1545. 3513 Credit to OSS-Fuzz 3514 35152017-05-12 Even Rouault <even.rouault at spatialys.com> 3516 3517 * libtiff/tif_read.c: TIFFFillStripPartial(): 3518 avoid excessive memory allocation in case of shorten files. 3519 Only effective on 64 bit builds. 3520 Credit to OSS-Fuzz (locally run, on GDAL) 3521 35222017-05-12 Even Rouault <even.rouault at spatialys.com> 3523 3524 * libtiff/tif_read.c: TIFFFillStripPartial() / TIFFSeek(), 3525 avoid potential integer overflows with read_ahead in 3526 CHUNKY_STRIP_READ_SUPPORT mode. Should 3527 especially occur on 32 bit platforms. 3528 35292017-05-10 Even Rouault <even.rouault at spatialys.com> 3530 3531 * libtiff/tif_read.c: TIFFFillStrip() and TIFFFillTile(): 3532 avoid excessive memory allocation in case of shorten files. 3533 Only effective on 64 bit builds and non-mapped cases. 3534 Credit to OSS-Fuzz (locally run, on GDAL) 3535 35362017-05-10 Even Rouault <even.rouault at spatialys.com> 3537 3538 * libtiff/tif_zip.c, tif_pixarlog.c, tif_predict.c: fix memory 3539 leak when the underlying codec (ZIP, PixarLog) succeeds its 3540 setupdecode() method, but PredictorSetup fails. 3541 Credit to OSS-Fuzz (locally run, on GDAL) 3542 35432017-05-10 Even Rouault <even.rouault at spatialys.com> 3544 3545 * libtiff/tif_read.c: TIFFFillStrip(): add limitation to the number 3546 of bytes read in case td_stripbytecount[strip] is bigger than 3547 reasonable, so as to avoid excessive memory allocation. 3548 35492017-04-28 Even Rouault <even.rouault at spatialys.com> 3550 3551 * tools/tiff2bw.c: close TIFF handle in error code path. 3552 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2677 3553 35542017-04-27 Even Rouault <even.rouault at spatialys.com> 3555 3556 * litiff/tif_fax3.c: avoid crash in Fax3Close() on empty file. 3557 Patch by Alan Coopersmith + complement by myself. 3558 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2673 3559 * tools/fax2tiff.c: emit appropriate message if the input file is 3560 empty. Patch by Alan Coopersmith. 3561 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2672 3562 35632017-04-27 Even Rouault <even.rouault at spatialys.com> 3564 3565 * libtiff/tif_ojpeg.c: fix potential memory leak in 3566 OJPEGReadHeaderInfoSecTablesQTable, OJPEGReadHeaderInfoSecTablesDcTable 3567 and OJPEGReadHeaderInfoSecTablesAcTable 3568 Patch by Nicolás Peña. 3569 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2670 3570 35712017-04-27 Even Rouault <even.rouault at spatialys.com> 3572 3573 * libtiff/tif_dirread.c: fix memory leak in non DEFER_STRILE_LOAD 3574 mode (ie default) when there is both a StripOffsets and 3575 TileOffsets tag, or a StripByteCounts and TileByteCounts 3576 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2689 3577 * tools/tiff2ps.c: call TIFFClose() in error code paths. 3578 35792017-02-25 Even Rouault <even.rouault at spatialys.com> 3580 3581 * libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c: fix GCC 7 3582 -Wimplicit-fallthrough warnings. 3583 35842017-02-18 Even Rouault <even.rouault at spatialys.com> 3585 3586 * libtiff/tif_pixarlog.c: fix memory leak in error code path of 3587 PixarLogSetupDecode(). Patch by Nicolás Peña. 3588 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2665 3589 35902017-02-18 Even Rouault <even.rouault at spatialys.com> 3591 3592 * libtiff/tif_lzw.c: in LZWPostEncode(), increase, if necessary, the 3593 code bit-width after flushing the remaining code and before emitting 3594 the EOI code. 3595 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=1982 3596 35972017-01-31 Even Rouault <even.rouault at spatialys.com> 3598 3599 * libtiff/tif_jpeg.c: only run JPEGFixupTagsSubsampling() if the 3600 YCbCrSubsampling tag is not explicitly present. This helps a bit to reduce 3601 the I/O amount when te tag is present (especially on cloud hosted files). 3602 36032017-01-14 Even Rouault <even.rouault at spatialys.com> 3604 3605 * tools/raw2tiff.c: avoid integer division by zero. 3606 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2631 3607 36082017-01-12 Even Rouault <even.rouault at spatialys.com> 3609 3610 * libtiff/tif_ojpeg.c: fix leak in OJPEGReadHeaderInfoSecTablesQTable, 3611 OJPEGReadHeaderInfoSecTablesDcTable and OJPEGReadHeaderInfoSecTablesAcTable 3612 when read fails. 3613 Patch by Nicolás Peña. 3614 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2659 3615 36162017-01-11 Even Rouault <even.rouault at spatialys.com> 3617 3618 * libtiff/tif_luv.c, tif_lzw.c, tif_packbits.c: return 0 in Encode 3619 functions instead of -1 when TIFFFlushData1() fails. 3620 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2130 3621 36222017-01-11 Even Rouault <even.rouault at spatialys.com> 3623 3624 * tools/tiffcp.c: error out cleanly in cpContig2SeparateByRow and 3625 cpSeparate2ContigByRow if BitsPerSample != 8 to avoid heap based overflow. 3626 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2656 and 3627 http://bugzilla.maptools.org/show_bug.cgi?id=2657 3628 36292017-01-11 Even Rouault <even.rouault at spatialys.com> 3630 3631 * libtiff/tiffio.h, tif_unix.c, tif_win32.c, tif_vms.c: add _TIFFcalloc() 3632 3633 * libtiff/tif_read.c: TIFFReadBufferSetup(): use _TIFFcalloc() to zero 3634 initialize tif_rawdata. 3635 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2651 3636 36372017-01-11 Even Rouault <even.rouault at spatialys.com> 3638 3639 * libtiff/tif_getimage.c: add explicit uint32 cast in putagreytile to 3640 avoid UndefinedBehaviorSanitizer warning. 3641 Patch by Nicolás Peña. 3642 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2658 3643 36442017-01-11 Even Rouault <even.rouault at spatialys.com> 3645 3646 * libtiff/tif_read.c: avoid potential undefined behaviour on signed integer 3647 addition in TIFFReadRawStrip1() in isMapped() case. 3648 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2650 3649 36502017-01-11 Even Rouault <even.rouault at spatialys.com> 3651 3652 * libtiff/tif_jpeg.c: validate BitsPerSample in JPEGSetupEncode() to avoid 3653 undefined behaviour caused by invalid shift exponent. 3654 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2648 3655 36562017-01-11 Even Rouault <even.rouault at spatialys.com> 3657 3658 * libtiff/tif_dir.c, tif_dirread.c, tif_dirwrite.c: implement various clampings 3659 of double to other data types to avoid undefined behaviour if the output range 3660 isn't big enough to hold the input value. 3661 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2643 3662 http://bugzilla.maptools.org/show_bug.cgi?id=2642 3663 http://bugzilla.maptools.org/show_bug.cgi?id=2646 3664 http://bugzilla.maptools.org/show_bug.cgi?id=2647 3665 36662017-01-11 Even Rouault <even.rouault at spatialys.com> 3667 3668 * libtiff/tif_dirread.c: avoid division by floating point 0 in 3669 TIFFReadDirEntryCheckedRational() and TIFFReadDirEntryCheckedSrational(), 3670 and return 0 in that case (instead of infinity as before presumably) 3671 Apparently some sanitizers do not like those divisions by zero. 3672 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2644 3673 36742017-01-11 Even Rouault <even.rouault at spatialys.com> 3675 3676 * libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedRational, replace 3677 assertion by runtime check to error out if passed value is strictly 3678 negative. 3679 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2535 3680 3681 * tools/tiffcrop.c: remove extraneous TIFFClose() in error code path, that 3682 caused double free. 3683 Related to http://bugzilla.maptools.org/show_bug.cgi?id=2535 3684 36852017-01-11 Even Rouault <even.rouault at spatialys.com> 3686 3687 * libtiff/tif_jpeg.c: avoid integer division by zero in 3688 JPEGSetupEncode() when horizontal or vertical sampling is set to 0. 3689 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2653 3690 36912017-01-03 Even Rouault <even.rouault at spatialys.com> 3692 3693 * libtiff/tif_jpeg.c: increase libjpeg max memory usable to 3694 10 MB instead of libjpeg 1MB default. This helps when creating files 3695 with "big" tile, without using libjpeg temporary files. 3696 Related to https://trac.osgeo.org/gdal/ticket/6757 3697 36982016-12-20 Even Rouault <even.rouault at spatialys.com> 3699 3700 * tools/tiff2pdf.c: avoid potential heap-based overflow in 3701 t2p_readwrite_pdf_image_tile(). 3702 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2640 3703 37042016-12-20 Even Rouault <even.rouault at spatialys.com> 3705 3706 * tools/tiff2pdf.c: avoid potential invalid memory read in 3707 t2p_writeproc. 3708 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2639 3709 37102016-12-20 Even Rouault <even.rouault at spatialys.com> 3711 3712 * tools/tiff2pdf.c: fix wrong usage of memcpy() that can trigger 3713 unspecified behaviour. 3714 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2638 3715 37162016-12-18 Even Rouault <even.rouault at spatialys.com> 3717 3718 * libtiff/tif_getimage.c: fix potential memory leaks in error code 3719 path of TIFFRGBAImageBegin(). 3720 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2627 3721 37222016-12-18 Even Rouault <even.rouault at spatialys.com> 3723 3724 * tools/tiff2pdf.c: prevent heap-based buffer overflow in -j mode 3725 on a paletted image. Note: this fix errors out before the overflow 3726 happens. There could probably be a better fix. 3727 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2635 3728 37292016-12-17 Even Rouault <even.rouault at spatialys.com> 3730 3731 * libtiff/tiffio.h, libtiff/tif_getimage.c: add TIFFReadRGBAStripExt() 3732 and TIFFReadRGBATileExt() variants of the functions without ext, with 3733 an extra argument to control the stop_on_error behaviour. 3734 37352016-12-17 Even Rouault <even.rouault at spatialys.com> 3736 3737 * tools/tiff2ps.c: fix 2 heap-based buffer overflows (in PSDataBW 3738 and PSDataColorContig). Reported by Agostino Sarubbo. 3739 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2633 and 3740 http://bugzilla.maptools.org/show_bug.cgi?id=2634. 3741 37422016-12-13 Even Rouault <even.rouault at spatialys.com> 3743 3744 * libtiff/tif_fax3.h: revert change done on 2016-01-09 that made 3745 Param member of TIFFFaxTabEnt structure a uint16 to reduce size of 3746 the binary. It happens that the Hylafax software uses the tables that 3747 follow this typedef (TIFFFaxMainTable, TIFFFaxWhiteTable, 3748 TIFFFaxBlackTable), although they are not in a public libtiff header. 3749 Raised by Lee Howard. 3750 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2636 3751 37522016-12-04 Even Rouault <even.rouault at spatialys.com> 3753 3754 * html/man/Makefile.am: remove thumbnail.1.html and rgb2ycbcr.1.html 3755 from installed pages since the corresponding utilities are no longer 3756 installed. Reported by Havard Eidnes 3757 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2606 3758 37592016-12-03 Even Rouault <even.rouault at spatialys.com> 3760 3761 * libtiff/tif_write.c: fix misleading indentation as warned by GCC. 3762 37632016-12-03 Even Rouault <even.rouault at spatialys.com> 3764 3765 * tools/tiffcp.c: replace assert( (bps % 8) == 0 ) by a non assert check. 3766 Reported by Agostino Sarubbo. 3767 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2605 3768 37692016-12-03 Even Rouault <even.rouault at spatialys.com> 3770 3771 * tools/tiffcp.c: fix uint32 underflow/overflow that can cause heap-based 3772 buffer overflow. 3773 Reported by Agostino Sarubbo. 3774 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2610 3775 37762016-12-03 Even Rouault <even.rouault at spatialys.com> 3777 3778 * tools/tiffcp.c: avoid potential division by zero is BitsPerSamples tag is 3779 missing. 3780 Reported by Agostino Sarubbo. 3781 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2607 3782 37832016-12-03 Even Rouault <even.rouault at spatialys.com> 3784 3785 * man/Makefile.am: remove thumbnail.1 and rgb2ycbcr.1 from installed man 3786 pages since the corresponding utilities are no longer installed. 3787 Reported by Havard Eidnes 3788 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2606 3789 37902016-12-03 Even Rouault <even.rouault at spatialys.com> 3791 3792 * tools/tif_dir.c: when TIFFGetField(, TIFFTAG_NUMBEROFINKS, ) is called, 3793 limit the return number of inks to SamplesPerPixel, so that code that parses 3794 ink names doesn't go past the end of the buffer. 3795 Reported by Agostino Sarubbo. 3796 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599 3797 37982016-12-03 Even Rouault <even.rouault at spatialys.com> 3799 3800 * tools/tiffcp.c: avoid potential division by zero is BitsPerSamples tag is 3801 missing. 3802 Reported by Agostino Sarubbo. 3803 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2597 3804 38052016-12-03 Even Rouault <even.rouault at spatialys.com> 3806 3807 * tools/tiffinfo.c: fix null pointer dereference in -r mode when the image has 3808 no StripByteCount tag. 3809 Reported by Agostino Sarubbo. 3810 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2594 3811 38122016-12-03 Even Rouault <even.rouault at spatialys.com> 3813 3814 * tools/tiffcrop.c: fix integer division by zero when BitsPerSample is missing. 3815 Reported by Agostino Sarubbo. 3816 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2619 3817 38182016-12-03 Even Rouault <even.rouault at spatialys.com> 3819 3820 * tools/tiffcrop.c: add 3 extra bytes at end of strip buffer in 3821 readSeparateStripsIntoBuffer() to avoid read outside of heap allocated buffer. 3822 Reported by Agostino Sarubbo. 3823 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2621 3824 38252016-12-03 Even Rouault <even.rouault at spatialys.com> 3826 3827 * tools/tiffcrop.c: fix readContigStripsIntoBuffer() in -i (ignore) mode so 3828 that the output buffer is correctly incremented to avoid write outside bounds. 3829 Reported by Agostino Sarubbo. 3830 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2620 3831 38322016-12-03 Even Rouault <even.rouault at spatialys.com> 3833 3834 * libtiff/tif_ojpeg.c: make OJPEGDecode() early exit in case of failure in 3835 OJPEGPreDecode(). This will avoid a divide by zero, and potential other issues. 3836 Reported by Agostino Sarubbo. 3837 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2611 3838 38392016-12-03 Even Rouault <even.rouault at spatialys.com> 3840 3841 * libtiff/tif_dirread.c: modify ChopUpSingleUncompressedStrip() to 3842 instanciate compute ntrips as TIFFhowmany_32(td->td_imagelength, rowsperstrip), 3843 instead of a logic based on the total size of data. Which is faulty is 3844 the total size of data is not sufficient to fill the whole image, and thus 3845 results in reading outside of the StripByCounts/StripOffsets arrays when 3846 using TIFFReadScanline(). 3847 Reported by Agostino Sarubbo. 3848 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2608. 3849 3850 * libtiff/tif_strip.c: revert the change in TIFFNumberOfStrips() done 3851 for http://bugzilla.maptools.org/show_bug.cgi?id=2587 / CVE-2016-9273 since 3852 the above change is a better fix that makes it unnecessary. 3853 38542016-12-03 Even Rouault <even.rouault at spatialys.com> 3855 3856 * libtiff/tif_pixarlog.c, libtiff/tif_luv.c: fix heap-based buffer 3857 overflow on generation of PixarLog / LUV compressed files, with 3858 ColorMap, TransferFunction attached and nasty plays with bitspersample. 3859 The fix for LUV has not been tested, but suffers from the same kind 3860 of issue of PixarLog. 3861 Reported by Agostino Sarubbo. 3862 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2604 3863 38642016-12-02 Even Rouault <even.rouault at spatialys.com> 3865 3866 * tools/tiffcp.c: avoid uint32 underflow in cpDecodedStrips that 3867 can cause various issues, such as buffer overflows in the library. 3868 Reported by Agostino Sarubbo. 3869 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2598 3870 38712016-12-02 Even Rouault <even.rouault at spatialys.com> 3872 3873 * libtiff/tif_read.c, libtiff/tiffiop.h: fix uint32 overflow in 3874 TIFFReadEncodedStrip() that caused an integer division by zero. 3875 Reported by Agostino Sarubbo. 3876 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2596 3877 38782016-11-20 Even Rouault <even.rouault at spatialys.com> 3879 3880 * libtiff/tif_getimage.c, libtiff/tif_open.c: add parenthesis to 3881 fix cppcheck clarifyCalculation warnings 3882 * libtiff/tif_predict.c, libtiff/tif_print.c: fix printf unsigned 3883 vs signed formatting (cppcheck invalidPrintfArgType_uint warnings) 3884 38852016-11-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3886 3887 * tools/fax2tiff.c (main): Applied patch by Jörg Ahrens to fix 3888 passing client data for Win32 builds using tif_win32.c 3889 (USE_WIN32_FILEIO defined) for file I/O. Patch was provided via 3890 email on November 20, 2016. 3891 38922016-11-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3893 3894 * libtiff 4.0.7 released. 3895 3896 * configure.ac: Update for 4.0.7 release. 3897 3898 * tools/tiffdump.c (ReadDirectory): Remove uint32 cast to 3899 _TIFFmalloc() argument which resulted in Coverity report. Added 3900 more mutiplication overflow checks. 3901 39022016-11-18 Even Rouault <even.rouault at spatialys.com> 3903 3904 * tools/tiffcrop.c: Fix memory leak in (recent) error code path. 3905 Fixes Coverity 1394415. 3906 39072016-11-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3908 3909 * libtiff/tif_getimage.c: Fix some benign warnings which appear in 3910 64-bit compilation under Microsoft Visual Studio of the form 3911 "Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit 3912 value. Results might not be an expected value.". Problem was 3913 reported on November 16, 2016 on the tiff mailing list. 3914 39152016-11-16 Even Rouault <even.rouault at spatialys.com> 3916 3917 * libtiff/tif_dirread.c: in TIFFFetchNormalTag(), do not dereference 3918 NULL pointer when values of tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII 3919 access are 0-byte arrays. 3920 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2593 (regression introduced 3921 by previous fix done on 2016-11-11 for CVE-2016-9297). 3922 Reported by Henri Salo. Assigned as CVE-2016-9448 3923 39242016-11-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 3925 3926 * tools/tiffinfo.c (TIFFReadContigTileData): Fix signed/unsigned 3927 comparison warning. 3928 (TIFFReadSeparateTileData): Fix signed/unsigned comparison 3929 warning. 3930 3931 * tools/tiffcrop.c (readContigTilesIntoBuffer): Fix 3932 signed/unsigned comparison warning. 3933 3934 * html/v4.0.7.html: Add a file to document the pending 4.0.7 3935 release. 3936 39372016-11-11 Even Rouault <even.rouault at spatialys.com> 3938 3939 * tools/tiff2pdf.c: avoid undefined behaviour related to overlapping 3940 of source and destination buffer in memcpy() call in 3941 t2p_sample_rgbaa_to_rgb() 3942 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2577 3943 39442016-11-11 Even Rouault <even.rouault at spatialys.com> 3945 3946 * tools/tiff2pdf.c: fix potential integer overflows on 32 bit builds 3947 in t2p_read_tiff_size() 3948 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2576 3949 39502016-11-11 Even Rouault <even.rouault at spatialys.com> 3951 3952 * libtiff/tif_aux.c: fix crash in TIFFVGetFieldDefaulted() 3953 when requesting Predictor tag and that the zip/lzw codec is not 3954 configured. 3955 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2591 3956 39572016-11-11 Even Rouault <even.rouault at spatialys.com> 3958 3959 * libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make sure that 3960 values of tags with TIFF_SETGET_C16_ASCII / TIFF_SETGET_C32_ASCII 3961 access are null terminated, to avoid potential read outside buffer 3962 in _TIFFPrintField(). 3963 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2590 (CVE-2016-9297) 3964 39652016-11-11 Even Rouault <even.rouault at spatialys.com> 3966 3967 * libtiff/tif_dirread.c: reject images with OJPEG compression that 3968 have no TileOffsets/StripOffsets tag, when OJPEG compression is 3969 disabled. Prevent null pointer dereference in TIFFReadRawStrip1() 3970 and other functions that expect td_stripbytecount to be non NULL. 3971 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2585 3972 39732016-11-11 Even Rouault <even.rouault at spatialys.com> 3974 3975 * tools/tiffcrop.c: fix multiple uint32 overflows in 3976 writeBufferToSeparateStrips(), writeBufferToContigTiles() and 3977 writeBufferToSeparateTiles() that could cause heap buffer overflows. 3978 Reported by Henri Salo from Nixu Corporation. 3979 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2592 (CVE-2016-9532) 3980 39812016-11-10 Even Rouault <even.rouault at spatialys.com> 3982 3983 * libtiff/tif_strip.c: make TIFFNumberOfStrips() return the td->td_nstrips 3984 value when it is non-zero, instead of recomputing it. This is needed in 3985 TIFF_STRIPCHOP mode where td_nstrips is modified. Fixes a read outsize of 3986 array in tiffsplit (or other utilities using TIFFNumberOfStrips()). 3987 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2587 (CVE-2016-9273) 3988 39892016-11-04 Even Rouault <even.rouault at spatialys.com> 3990 3991 * libtiff/tif_predic.c: fix memory leaks in error code paths added in 3992 previous commit (fix for MSVR 35105) 3993 39942016-10-31 Even Rouault <even.rouault at spatialys.com> 3995 3996 * libtiff/tif_predict.h, libtiff/tif_predict.c: 3997 Replace assertions by runtime checks to avoid assertions in debug mode, 3998 or buffer overflows in release mode. Can happen when dealing with 3999 unusual tile size like YCbCr with subsampling. Reported as MSVR 35105 4000 by Axel Souchet & Vishal Chauhan from the MSRC Vulnerabilities & Mitigations 4001 team. 4002 40032016-10-26 Even Rouault <even.rouault at spatialys.com> 4004 4005 * tools/fax2tiff.c: fix segfault when specifying -r without 4006 argument. Patch by Yuriy M. Kaminskiy. 4007 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2572 4008 40092016-10-25 Even Rouault <even.rouault at spatialys.com> 4010 4011 * libtiff/tif_dir.c: discard values of SMinSampleValue and 4012 SMaxSampleValue when they have been read and the value of 4013 SamplesPerPixel is changed afterwards (like when reading a 4014 OJPEG compressed image with a missing SamplesPerPixel tag, 4015 and whose photometric is RGB or YCbCr, forcing SamplesPerPixel 4016 being 3). Otherwise when rewriting the directory (for example 4017 with tiffset, we will expect 3 values whereas the array had been 4018 allocated with just one), thus causing a out of bound read access. 4019 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500 4020 (CVE-2014-8127, duplicate: CVE-2016-3658) 4021 4022 * libtiff/tif_dirwrite.c: avoid null pointer dereference on td_stripoffset 4023 when writing directory, if FIELD_STRIPOFFSETS was artificially set 4024 for a hack case in OJPEG case. 4025 Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2500 4026 (CVE-2014-8127, duplicate: CVE-2016-3658) 4027 40282016-10-25 Even Rouault <even.rouault at spatialys.com> 4029 4030 * tools/tiffinfo.c: fix out-of-bound read on some tiled images. 4031 (http://bugzilla.maptools.org/show_bug.cgi?id=2517) 4032 4033 * libtiff/tif_compress.c: make TIFFNoDecode() return 0 to indicate an 4034 error and make upper level read routines treat it accordingly. 4035 (linked to the test case of http://bugzilla.maptools.org/show_bug.cgi?id=2517) 4036 40372016-10-14 Even Rouault <even.rouault at spatialys.com> 4038 4039 * tools/tiffcrop.c: fix out-of-bound read of up to 3 bytes in 4040 readContigTilesIntoBuffer(). Reported as MSVR 35092 by Axel Souchet 4041 & Vishal Chauhan from the MSRC Vulnerabilities & Mitigations team. 4042 40432016-10-09 Even Rouault <even.rouault at spatialys.com> 4044 4045 * tools/tiff2pdf.c: fix write buffer overflow of 2 bytes on JPEG 4046 compressed images. Reported by Tyler Bohan of Cisco Talos as 4047 TALOS-CAN-0187 / CVE-2016-5652. 4048 Also prevents writing 2 extra uninitialized bytes to the file stream. 4049 40502016-10-08 Even Rouault <even.rouault at spatialys.com> 4051 4052 * tools/tiffcp.c: fix out-of-bounds write on tiled images with odd 4053 tile width vs image width. Reported as MSVR 35103 4054 by Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities & 4055 Mitigations team. 4056 40572016-10-08 Even Rouault <even.rouault at spatialys.com> 4058 4059 * tools/tiff2pdf.c: fix read -largely- outsize of buffer in 4060 t2p_readwrite_pdf_image_tile(), causing crash, when reading a 4061 JPEG compressed image with TIFFTAG_JPEGTABLES length being one. 4062 Reported as MSVR 35101 by Axel Souchet and Vishal Chauhan from 4063 the MSRC Vulnerabilities & Mitigations team. CVE-2016-9453 4064 40652016-10-08 Even Rouault <even.rouault at spatialys.com> 4066 4067 * tools/tiffcp.c: fix read of undefined variable in case of missing 4068 required tags. Found on test case of MSVR 35100. 4069 * tools/tiffcrop.c: fix read of undefined buffer in 4070 readContigStripsIntoBuffer() due to uint16 overflow. Probably not a 4071 security issue but I can be wrong. Reported as MSVR 35100 by Axel 4072 Souchet from the MSRC Vulnerabilities & Mitigations team. 4073 40742016-09-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4075 4076 * html: Change as many remotesensing.org broken links to a working 4077 URL as possible. 4078 40792016-09-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4080 4081 * libtiff/tif_getimage.c (TIFFRGBAImageOK): Reject attempts to 4082 read floating point images. 4083 4084 * libtiff/tif_predict.c (PredictorSetup): Enforce bits-per-sample 4085 requirements of floating point predictor (3). Fixes CVE-2016-3622 4086 "Divide By Zero in the tiff2rgba tool." 4087 40882016-09-23 Even Rouault <even.rouault at spatialys.com> 4089 4090 * tools/tiffcrop.c: fix various out-of-bounds write vulnerabilities 4091 in heap or stack allocated buffers. Reported as MSVR 35093, 4092 MSVR 35096 and MSVR 35097. Discovered by Axel Souchet and Vishal 4093 Chauhan from the MSRC Vulnerabilities & Mitigations team. 4094 * tools/tiff2pdf.c: fix out-of-bounds write vulnerabilities in 4095 heap allocate buffer in t2p_process_jpeg_strip(). Reported as MSVR 4096 35098. Discovered by Axel Souchet and Vishal Chauhan from the MSRC 4097 Vulnerabilities & Mitigations team. 4098 * libtiff/tif_pixarlog.c: fix out-of-bounds write vulnerabilities 4099 in heap allocated buffers. Reported as MSVR 35094. Discovered by 4100 Axel Souchet and Vishal Chauhan from the MSRC Vulnerabilities & 4101 Mitigations team. 4102 * libtiff/tif_write.c: fix issue in error code path of TIFFFlushData1() 4103 that didn't reset the tif_rawcc and tif_rawcp members. I'm not 4104 completely sure if that could happen in practice outside of the odd 4105 behaviour of t2p_seekproc() of tiff2pdf). The report points that a 4106 better fix could be to check the return value of TIFFFlushData1() in 4107 places where it isn't done currently, but it seems this patch is enough. 4108 Reported as MSVR 35095. Discovered by Axel Souchet & Vishal Chauhan & 4109 Suha Can from the MSRC Vulnerabilities & Mitigations team. 4110 41112016-09-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4112 4113 * html/man/index.html: Comment out links to documentation for 4114 abandoned utilities. 4115 41162016-09-17 Even Rouault <even.rouault at spatialys.com> 4117 4118 * libtiff/tif_lzma.c: typo fix in comment 4119 41202016-09-04 Even Rouault <even.rouault at spatialys.com> 4121 4122 * libtiff/*.c: fix warnings raised by clang 3.9 -Wcomma 4123 41242016-09-03 Even Rouault <even.rouault at spatialys.com> 4125 4126 * libtiff/tif_dirwrite.c, libtiff/tif_color.c: fix warnings raised 4127 by GCC 5 / clang -Wfloat-conversion 4128 41292016-08-16 Even Rouault <even.rouault at spatialys.com> 4130 4131 * tools/tiffcrop.c: fix C99'ism. 4132 41332016-08-15 Even Rouault <even.rouault at spatialys.com> 4134 4135 * tools/tiff2bw.c: fix weight computation that could result of color 4136 value overflow (no security implication). Fix bugzilla #2550. 4137 Patch by Frank Freudenberg. 4138 41392016-08-15 Even Rouault <even.rouault at spatialys.com> 4140 4141 * tools/rgb2ycbcr.c: validate values of -v and -h parameters to 4142 avoid potential divide by zero. Fixes CVE-2016-3623 (bugzilla #2569) 4143 41442016-08-15 Even Rouault <even.rouault at spatialys.com> 4145 4146 * tools/tiffcrop.c: Fix out-of-bounds write in loadImage(). 4147 From patch libtiff-CVE-2016-3991.patch from 4148 libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro (bugzilla #2543) 4149 41502016-08-15 Even Rouault <even.rouault at spatialys.com> 4151 4152 * libtiff/tif_pixarlog.c: Fix write buffer overflow in PixarLogEncode 4153 if more input samples are provided than expected by PixarLogSetupEncode. 4154 Idea based on libtiff-CVE-2016-3990.patch from 4155 libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, but with different and 4156 simpler check. (bugzilla #2544) 4157 41582016-08-15 Even Rouault <even.rouault at spatialys.com> 4159 4160 * tools/tiff2rgba.c: Fix integer overflow in size of allocated 4161 buffer, when -b mode is enabled, that could result in out-of-bounds 4162 write. Based initially on patch tiff-CVE-2016-3945.patch from 4163 libtiff-4.0.3-25.el7_2.src.rpm by Nikola Forro, with correction for 4164 invalid tests that rejected valid files. (bugzilla #2545) 4165 41662016-07-11 Even Rouault <even.rouault at spatialys.com> 4167 4168 * tools/tiffcrop.c: Avoid access outside of stack allocated array 4169 on a tiled separate TIFF with more than 8 samples per pixel. 4170 Reported by Kaixiang Zhang of the Cloud Security Team, Qihoo 360 4171 (CVE-2016-5321 / CVE-2016-5323 , bugzilla #2558 / #2559) 4172 41732016-07-10 Even Rouault <even.rouault at spatialys.com> 4174 4175 * libtiff/tif_read.c: Fix out-of-bounds read on 4176 memory-mapped files in TIFFReadRawStrip1() and TIFFReadRawTile1() 4177 when stripoffset is beyond tmsize_t max value (reported by 4178 Mathias Svensson) 4179 41802016-07-10 Even Rouault <even.rouault at spatialys.com> 4181 4182 * tools/tiffdump.c: fix a few misaligned 64-bit reads warned 4183 by -fsanitize 4184 41852016-07-03 Even Rouault <even.rouault at spatialys.com> 4186 4187 * libtiff/tif_read.c: make TIFFReadEncodedStrip() and 4188 TIFFReadEncodedTile() directly use user provided buffer when 4189 no compression (and other conditions) to save a memcpy(). 4190 4191 * libtiff/tif_write.c: make TIFFWriteEncodedStrip() and 4192 TIFFWriteEncodedTile() directly use user provided buffer when 4193 no compression to save a memcpy(). 4194 41952016-07-01 Even Rouault <even.rouault at spatialys.com> 4196 4197 * libtiff/tif_luv.c: validate that for COMPRESSION_SGILOG and 4198 PHOTOMETRIC_LOGL, there is only one sample per pixel. Avoid 4199 potential invalid memory write on corrupted/unexpected images when 4200 using the TIFFRGBAImageBegin() interface (reported by 4201 Clay Wood) 4202 42032016-06-28 Even Rouault <even.rouault at spatialys.com> 4204 4205 * libtiff/tif_pixarlog.c: fix potential buffer write overrun in 4206 PixarLogDecode() on corrupted/unexpected images (reported by Mathias Svensson) 4207 (CVE-2016-5875) 4208 42092016-06-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4210 4211 * libtiff/libtiff.def: Added _TIFFMultiply32 and _TIFFMultiply64 4212 to libtiff.def 4213 42142016-06-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4215 4216 * tools/Makefile.am: The libtiff tools bmp2tiff, gif2tiff, 4217 ras2tiff, sgi2tiff, sgisv, and ycbcr are completely removed from 4218 the distribution. The libtiff tools rgb2ycbcr and thumbnail are 4219 only built in the build tree for testing. Old files are put in 4220 new 'archive' subdirectory of the source repository, but not in 4221 distribution archives. These changes are made in order to lessen 4222 the maintenance burden. 4223 42242016-05-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4225 4226 * libtiff/tif_config.vc.h (HAVE_SNPRINTF): Add a '1' to the 4227 HAVE_SNPRINTF definition.' 4228 42292016-05-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4230 4231 * libtiff/tif_config.vc.h (HAVE_SNPRINTF): Applied patch by Edward 4232 Lam to define HAVE_SNPRINTF for Visual Studio 2015. 4233 42342016-04-27 Even Rouault <even.rouault at spatialys.com> 4235 4236 * libtiff/tif_dirread.c: when compiled with DEFER_STRILE_LOAD, 4237 fix regression, introduced on 2014-12-23, when reading a one-strip 4238 file without a StripByteCounts tag. GDAL #6490 4239 42402016-04-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4241 4242 * html/bugs.html: Replace Andrey Kiselev with Bob Friesenhahn for 4243 purposes of security issue reporting. 4244 42452016-01-23 Even Rouault <even.rouault at spatialys.com> 4246 4247 * libtiff/*: upstream typo fixes (mostly contributed by Kurt Schwehr) 4248 coming from GDAL internal libtiff 4249 42502016-01-09 Even Rouault <even.rouault at spatialys.com> 4251 4252 * libtiff/tif_fax3.h: make Param member of TIFFFaxTabEnt structure 4253 a uint16 to reduce size of the binary. 4254 42552016-01-03 Even Rouault <even.rouault at spatialys.com> 4256 4257 * libtiff/tif_read.c, tif_dirread.c: fix indentation issues raised 4258 by GCC 6 -Wmisleading-indentation 4259 42602015-12-27 Even Rouault <even.rouault at spatialys.com> 4261 4262 * libtiff/tif_pixarlog.c: avoid zlib error messages to pass a NULL 4263 string to %s formatter, which is undefined behaviour in sprintf(). 4264 42652015-12-27 Even Rouault <even.rouault at spatialys.com> 4266 4267 * libtiff/tif_next.c: fix potential out-of-bound write in NeXTDecode() 4268 triggered by http://lcamtuf.coredump.cx/afl/vulns/libtiff5.tif 4269 (bugzilla #2508) 4270 42712015-12-27 Even Rouault <even.rouault at spatialys.com> 4272 4273 * libtiff/tif_luv.c: fix potential out-of-bound writes in decode 4274 functions in non debug builds by replacing assert()s by regular if 4275 checks (bugzilla #2522). 4276 Fix potential out-of-bound reads in case of short input data. 4277 42782015-12-26 Even Rouault <even.rouault at spatialys.com> 4279 4280 * libtiff/tif_getimage.c: fix out-of-bound reads in TIFFRGBAImage 4281 interface in case of unsupported values of SamplesPerPixel/ExtraSamples 4282 for LogLUV / CIELab. Add explicit call to TIFFRGBAImageOK() in 4283 TIFFRGBAImageBegin(). Fix CVE-2015-8665 reported by limingxing and 4284 CVE-2015-8683 reported by zzf of Alibaba. 4285 42862015-12-21 Even Rouault <even.rouault at spatialys.com> 4287 4288 * libtiff/tif_dirread.c: workaround false positive warning of Clang Static 4289 Analyzer about null pointer dereference in TIFFCheckDirOffset(). 4290 42912015-12-19 Even Rouault <even.rouault at spatialys.com> 4292 4293 * libtiff/tif_fax3.c: remove dead assignment in Fax3PutEOLgdal(). Found 4294 by Clang Static Analyzer 4295 42962015-12-18 Even Rouault <even.rouault at spatialys.com> 4297 4298 * libtiff/tif_dirwrite.c: fix truncation to 32 bit of file offsets in 4299 TIFFLinkDirectory() and TIFFWriteDirectorySec() when aligning directory 4300 offsets on a even offset (affects BigTIFF). This was a regression of the 4301 changeset of 2015-10-19. 4302 43032015-12-12 Even Rouault <even.rouault at spatialys.com> 4304 4305 * libtiff/tif_write.c: TIFFWriteEncodedStrip() and TIFFWriteEncodedTile() 4306 should return -1 in case of failure of tif_encodestrip() as documented 4307 * libtiff/tif_dumpmode.c: DumpModeEncode() should return 0 in case of 4308 failure so that the above mentionned functions detect the error. 4309 43102015-12-06 Even Rouault <even.rouault at spatialys.com> 4311 4312 * libtiff/uvcode.h: const'ify uv_code array 4313 43142015-12-06 Even Rouault <even.rouault at spatialys.com> 4315 4316 * libtiff/tif_dirinfo.c: const'ify tiffFields, exifFields, 4317 tiffFieldArray and exifFieldArray arrays 4318 43192015-12-06 Even Rouault <even.rouault at spatialys.com> 4320 4321 * libtiff/tif_print.c: constify photoNames and orientNames arrays 4322 43232015-12-06 Even Rouault <even.rouault at spatialys.com> 4324 4325 * libtiff/tif_close.c, libtiff/tif_extension.c : rename link 4326 variable to avoid -Wshadow warnings 4327 43282015-11-22 Even Rouault <even.rouault at spatialys.com> 4329 4330 * libtiff/*.c: fix typos in comments (patch by Kurt Schwehr) 4331 43322015-11-22 Even Rouault <even.rouault at spatialys.com> 4333 4334 * libtiff/*.c: fix MSVC warnings related to cast shortening and 4335 assignment within conditional expression 4336 43372015-11-18 Even Rouault <even.rouault at spatialys.com> 4338 4339 * libtiff/*.c: fix clang -Wshorten-64-to-32 warnings 4340 43412015-11-18 Even Rouault <even.rouault at spatialys.com> 4342 4343 * libtiff/tif_dirread.c: initialize double* data at line 3693 to NULL 4344 to please MSVC 2013 4345 43462015-11-17 Even Rouault <even.rouault at spatialys.com> 4347 4348 * libtiff/tif_dirread.c: prevent reading ColorMap or TransferFunction 4349 if BitsPerPixel > 24, so as to avoid huge memory allocation and file 4350 read attempts 4351 43522015-11-02 Even Rouault <even.rouault at spatialys.com> 4353 4354 * libtiff/tif_dirread.c: remove duplicated assignment (reported by 4355 Clang static analyzer) 4356 43572015-10-28 Even Rouault <even.rouault at spatialys.com> 4358 4359 * libtiff/tif_dir.c, libtiff/tif_dirinfo.c, libtiff/tif_compress.c, 4360 libtiff/tif_jpeg_12.c: suppress warnings about 'no previous 4361 declaration/prototype' 4362 43632015-10-19 Even Rouault <even.rouault at spatialys.com> 4364 4365 * libtiff/tiffiop.h, libtiff/tif_dirwrite.c: suffix constants by U to fix 4366 'warning: negative integer implicitly converted to unsigned type' warning 4367 (part of -Wconversion) 4368 43692015-10-17 Even Rouault <even.rouault at spatialys.com> 4370 4371 * libtiff/tif_dir.c, libtiff/tif_dirread.c, libtiff/tif_getimage.c, 4372 libtiff/tif_print.c: fix -Wshadow warnings (only in libtiff/) 4373 43742015-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4375 4376 * libtiff 4.0.6 released. 4377 4378 * html/v4.0.6.html: Added release notes for 4.0.6. 4379 43802015-09-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4381 4382 * tools/tiffgt.c: Silence glut API deprecation warnings on MacOS 4383 X. Patch by Roger Leigh. 4384 4385 * Makefile.am: Added a 'coverity' rule to assist with Coverity 4386 submissions. 4387 4388 * tools/tiff2pdf.c: Fix compiler warning about unused function 4389 when JPEG is not available. 4390 4391 * tools/fax2ps.c (main): Detect failure to write to temporary 4392 file. 4393 43942015-09-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4395 4396 * libtiff/tif_dirread.c (TIFFReadDirEntryCheckRangeSlongSlong8): 4397 Change implementation so that it does not sometimes overflow the 4398 range of a 32-bit int and to avoid a signed vs unsigned compare 4399 compiler warning. 4400 (TIFF_INT64_MAX): Avoid use of platform-specific large constants. 4401 (TIFF_UINT32_MAX): Avoid use of platform-specific large constants. 4402 44032015-09-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4404 4405 * Makefile.am (distcheck-hook), configure.ac: Applied patches by 4406 Roger Leigh (via tiff mailing list on 2015-09-01) to fix issue 4407 with BSD make and to make use of cmake in 'distcheck' target 4408 conditional on if cmake is available. 4409 4410 * CMakeLists.txt, Makefile.am, configure.ac: Applied patches by 4411 Roger Leigh (via tiff mailing list on 2015-09-01). 4412 4413 CMake build is now included in 'distcheck' target. 4414 4415 Builds with CMake 2.8.9 and newer. 4416 4417 Tar is now resquested to use POSIX PAX format. 4418 44192015-08-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4420 4421 * CMakeLists.txt, libtiff/test/Makefile.am: Applied patches by 4422 Roger Leigh (via tiff mailing list on 2015-08-31. 4423 4424 CMake reads all version information directly from configure.ac to 4425 avoid duplication of values. This basically greps over the file 4426 for the LIBTIFF_* variables, then translates them to the form 4427 needed for cmake. This includes the release version and libtool 4428 shared library version information. 4429 4430 Make shared/static library building configurable. Currently it 4431 always builds shared libraries, with static libs having a _static 4432 suffix (copying zlib, but it means it's got a non-standard name). 4433 CMake has a -DBUILD_SHARED_LIBS=ON|OFF option to select one or the 4434 other, which is now used instead. There's now a single "tiff" 4435 target to build either shared or static as required, and all the 4436 tests and tools are linked with this. Note: the Windows tests fail 4437 when linked with a static libtiff (says: libtiff.dll not found). 4438 Not really a regression since this was not tested up to this 4439 point, and it's likely the unit tests haven't (ever?) been run on 4440 Windows with a static libtiff, so there's some additional 4441 portability issue here to address. Works fine on UNIX systems, 4442 and fine on Windows with the default to build a DLL. 4443 4444 Add a missing file which wasn't being distributed, causing unit 4445 tests to fail. Note that "find . -name '*.cmake'" lists all the 4446 CMake files which need distributing in addition to all the 4447 CMakeLists.txt files (which now are distributed). 4448 44492015-08-31 Even Rouault <even.rouault at spatialys.com> 4450 4451 * libtiff/tif_predict.c: pedantic change to add explicit masking 4452 with 0xff before casting to uchar in floating-point horizontal 4453 differencing and accumulation routines. 4454 44552015-08-31 Even Rouault <even.rouault at spatialys.com> 4456 4457 * libtiff/tif_predict.c: fix generation of output with 16 bit 4458 or 32 bit integer, when byte swapping is needed, in 4459 horizontal predictor (#2521). Also fixes decoding when there is 4460 a single pixel to code (unlikely case...) and byte swapping is 4461 involved. 4462 44632015-08-30 Even Rouault <even.rouault at spatialys.com> 4464 4465 * libtiff/tif_lzw.c: make nextdata a unsigned type to avoid 4466 undefined behaviour with shifts (gcc -fsanitize=shift) 4467 44682015-08-30 Even Rouault <even.rouault at spatialys.com> 4469 4470 * libtiff/tif_fax3.c, libtiff/tif_lzw.c, libtiff/tif_predict.c: 4471 add explicit masking with 0xff before casting 4472 to unsigned char (make icc -check=conversions happy) 4473 4474 * libtiff/tif_predict.c: operate on unsigned datatypes when 4475 computing/applying differences to avoid undefined behaviour of 4476 signed types (C standard compliance) 4477 44782015-08-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4479 4480 * configure.ac: libtiff 4.0.5 released. 4481 44822015-08-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4483 4484 * CMakeLists.txt: Applied patch by Roger Leigh (via tiff mailing 4485 list on 2015-08-29) to add ld-version-script option to cmake build 4486 to match autoconf. Note: defaults to 'on' to be ABI-compatible by 4487 default with common Linux distribution builds. Note that the 4488 autoconf configure script defaults to 'off'. 4489 4490 * html/build.html: Applied patch by Roger Leigh (via tiff mailing 4491 list on 2015-08-29) to describe how to use CMake to build libtiff. 4492 44932015-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4494 4495 * html/v4.0.5.html: Added HTML file describing the changes which 4496 will appear in the 4.0.5 release. 4497 44982015-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4499 4500 * libtiff/tiffiop.h: For MinGW comiles, make sure that build 4501 supports necessary __MSVCRT_VERSION__ (at least at least 0x800). 4502 Otherwise large files can not be supported for POSIX-style I/O. 4503 4504 * tools/fax2tiff.c (main): Eliminate a compiler warning in 64-bit 4505 builds about cast to thandle_t. 4506 4507 * test/rewrite_tag.c (main): Does not require any arguments. 4508 45092015-08-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4510 4511 * tools/CMakeLists.txt, port/snprintf.c: Patch by Roger Leigh to 4512 fix build issues when using Cmake due to Windows large file 4513 changes. 4514 45152015-08-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4516 4517 * libtiff/tiffiop.h: First cut at supporting large files under 4518 Microsoft Windows using tif_unix.c and the libtiff tools. This 4519 only works if the Windows CDK is new enough to support the APIs 4520 used (Visual C++ 2005 or later). Support for large files is not 4521 actually tested yet. 4522 45232015-08-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4524 4525 * libtiff/tif_jpeg.c: Applied patch by Räisä Olli to assure that 4526 client_data is initialized to a known value, and to report an 4527 error on two memory allocation failures. 4528 45292015-08-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4530 4531 * CMakeLists.txt: Applied patch by Roger Leigh to fix libtiffxx 4532 symbol versioning. Patch was mailed to libtiff list on Thu, 13 4533 Aug 2015. 4534 45352015-07-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4536 4537 * cmake: Add d suffix to debug libraries with MSVC. Patch #3 of 3 4538 by Roger Leigh posted to tiff list on Wed, 1 Jul 2015 15:58:20 4539 +0100. 4540 4541 * cmake: Add extra warning flags. Patch #2 of 3 by Roger Leigh 4542 posted to tiff list on Wed, 1 Jul 2015 15:58:20 +0100. 4543 4544 * cmake: Correct snprintf fallback for VS2015. Patch #1 of 3 by 4545 Roger Leigh posted to tiff list on Wed, 1 Jul 2015 15:58:20 +0100. 4546 45472015-06-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4548 4549 * CMakeLists.txt: Add CMake patchset by Roger Leigh as posted to 4550 libtiff mailing list on Mon, 22 Jun 2015 21:21:01 +0100. Several 4551 corrections to ensure that the autotools build still works were 4552 added by me. I have not yet tested the build using 'cmake' or 4553 MSVC with 'nmake'. 4554 45552015-06-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4556 4557 * test/Makefile.am: tiff2rgba-quad-tile.jpg.sh depends on the JPEG 4558 library so only execute if JPEG is available. 4559 4560 * libtiff 4.0.4 released. 4561 4562 * configure.ac: Add a HAVE_FOO Automake conditional for each 4563 add-on library. 4564 4565 * test/Makefile.am (JPEG_DEPENDENT_CHECK_PROG): raw_decode 4566 requires JPEG support to compile. Use Automake conditional to 4567 only include it when JPEG support is available. 4568 4569 * html/build.html: Try to improve the nmake-based VC++ build 4570 description. 4571 4572 * libtiff/tiffconf.vc.h: Build fixes based on testing. 4573 4574 * libtiff/tif_config.vc.h: Build fixes based on testing. 4575 4576 * libtiff/libtiff.def: TIFFRasterScanline does not exist so remove 4577 export for it. 4578 45792015-06-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4580 4581 * libtiff/tif_config.vc.h: Make adjustments to match the new 4582 definitions that configure produces, including for WIN64. Still 4583 needs to be tested. 4584 4585 * configure.ac: For 64-bit MinGW, fix SSIZE_FORMAT formatting 4586 specifier. 64-bit MinGW supports 'long long' but support for 4587 'lld' is not assured by the run-time DLLs and so GCC warns. 4588 Add TIFF_SIZE_T and TIFF_SIZE_FORMAT to provide a type definition 4589 and printf format specifier to deal with printing values of 4590 'size_t' type. In particular, this was necessary for WIN64. 4591 Added a configure test for if the system headers provide 'optarg' 4592 (normal case) and block out the many explicit 'extern' statements 4593 in the utilities. This was found to be necessary under Windows 4594 when getopt is in a DLL and the symbols are already imported with 4595 dllimport via standard header files. 4596 4597 * test/raw_decode.c (XMD_H): Avoid conflicting typedefs for INT32 4598 and boolean in MinGW build due to including jpeglib.h. 4599 4600 * test/rewrite_tag.c (main): Fix problem with location of variable 4601 declaration. 4602 4603 * libtiff/libtiff.def: Added exports for TIFFGetConfiguredCODECs, 4604 TIFFReadRGBAImageOriented, TIFFSetCompressionScheme, 4605 TIFFSwabArrayOfTriples, TIFFVGetFieldDefaulted, _TIFFCheckRealloc, 4606 TIFFRasterScanline, TIFFSetErrorHandlerExt, 4607 TIFFSetWarningHandlerExt, TIFFNumberOfDirectories, 4608 TIFFCreateCustomDirectory, TIFFCreateEXIFDirectory, 4609 TIFFWriteCustomDirectory, _TIFFRewriteField as recommended by 4610 Roger Leigh and justified by use in libtiff tests, documentation, 4611 and changelog notes. Also sorted symbol list and removed 4612 duplicate entries. 4613 46142015-06-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4615 4616 * libtiff/tif_getimage.c: Fix four Coverity issues related to 4617 unintended sign extension. 4618 46192015-06-16 Even Rouault <even.rouault at spatialys.com> 4620 4621 * libtiff/tif_unix.c: fix compilation with MSVC (fix by Jeff McKenna) 4622 46232015-06-14 Lee Howard <faxguy@howardsilvan.com> 4624 4625 * libtiff/tif_unix.c: contribution from Vadim Zeitlin on 4626 Bugzilla Bug #2510 fixes several harmless but still annoying 4627 warnings 4628 4629 * configure: contribution from Ludolf Holzheid on Bugzilla 4630 Bug #2498. Adds an option to select the file I/O style on 4631 Windows hosts. 4632 4633 * libtiff/tif_getimage.c: contribution from Gary Cramblitt 4634 on Bugzilla Bug #2409. Correct reading of certain tiled TIFFs. 4635 4636 * configure, configure.ac: contribution from Marcos H. Woehrmann 4637 on Bugzilla Bug #2405. Correct shell equality operator. 4638 4639 * tools/tiffgt.c (raster_draw): contribution from Jay Berkenbilt 4640 on Bugzilla Bug #2401. Appropriately call glFlush(). 4641 4642 * tools/tiff2pdf.c: change ColorTransform from "0" to "1" 4643 following Bugzilla Bug #2150. 4644 46452015-06-13 Lee Howard <faxguy@howardsilvan.com> 4646 4647 * libtiff/tif_lzw.c: contribution from Andy Cave - decode 4648 files that contain consecutive CODE_CLEAR codes. 4649 4650 * tools/tiff2pdf.c: contribution from Antti S. Lankila on 4651 Bugzilla Bug #2078. Suppress initial output of the header. 4652 4653 * tools/tiff2pdf.c: contribution from Yuriy M. Kaminskiy - 4654 Take care in using the return value from snprintf(). 4655 4656 * tools/tiffcrop.c: contribution from Eduardo Robles Elvira - 4657 correctly copy the compression tag from the source TIFF. 4658 4659 * tools/tiff2ps.c: contribution from Eduardo Robles Elvira - 4660 correct sizing and scaling problems with output document. 4661 46622015-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4663 4664 * libtiff/tif_jpeg.c (JPEGDecode): Split JPEGDecode() into two 4665 clean implementations in order to avoid pre-processor hell. Only 4666 one of the implementations is used in a given build. 4667 46682015-06-08 Even Rouault <even.rouault at spatialys.com> 4669 4670 * libtiff/tif_jpeg.c: Fix compilation in BITS_IN_JSAMPLE == 12 4671 case 4672 46732015-06-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4674 4675 * libtiff/tif_write.c (TIFFWriteEncodedStrip): Fix Coverity 715975 4676 "Division or modulo by zero". 4677 (TIFFWriteEncodedTile): Fix Coverity 715976 and 715977 "Division 4678 or modulo by zero". 4679 (TIFFWriteRawStrip): Fix Coverity 715978 "Division or modulo by 4680 zero". 4681 (TIFFWriteScanline): Fix Coverity 715979 "Division or modulo by 4682 zero". 4683 4684 * libtiff/tif_read.c (TIFFStartTile): Fix Coverity 715973 and 4685 715974 "Division or modulo by zero". 4686 46872015-05-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4688 4689 * libtiff/tif_dir.c (TIFFNumberOfDirectories): Quiet Coverity 4690 1134470 "Logically dead code" by making the roll-over check 4691 explicit. 4692 4693 * libtiff/tif_luv.c (LogLuvDecodeTile): Fix Coverity 991227 4694 "Division or modulo by zero". 4695 (LogLuvDecodeStrip): Fix Coverity 991239 "Division or modulo by 4696 zero". 4697 (LogLuvEncodeStrip): Fix Coverity 991240 "Division or modulo by 4698 zero". 4699 (LogLuvEncodeTile): Fix Coverity 991241 "Division or modulo by 4700 zero". 4701 4702 * libtiff/tif_dirread.c (TIFFReadDirEntryDoubleArray): Fix 4703 Coverity 298626 "Logically dead code". 4704 (TIFFReadDirEntryFloatArray): Fix Coverity 298627 "Logically dead 4705 code". 4706 (TIFFReadDirEntryIfd8Array): Fix Coverity 298628 "Logically dead 4707 code". 4708 (TIFFReadDirEntrySlong8Array): Fix Coverity 298629 "Logically dead 4709 code" 4710 4711 * libtiff/tif_dir.c (TIFFNumberOfDirectories): Don't depend on ++ 4712 operator precedenc in evaluation. Might quench Coverity 1134470 4713 "Logically dead code". 4714 4715 * libtiff/tif_jpeg.c (JPEGDecode): Fix Coverity 602597 "Operands 4716 don't affect result". This change uses ifdefs to include 4717 applicable code based on properties of libjpeg. Still needs to be 4718 re-tested with 12-bit "6b" and "MK1". 4719 47202015-05-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4721 4722 * libtiff/tif_dirwrite.c (_TIFFRewriteField): Fix Coverity 1024310 4723 "Resource leak". 4724 4725 * libtiff/tif_ojpeg.c (OJPEGReadHeaderInfoSecStreamDht): Fix 4726 Coverity 601720 "Resource leak". 4727 4728 * libtiff/tif_jpeg.c (JPEGCleanup): Fix Coverity 298624 4729 "Dereference before null check". 4730 4731 * libtiff/tif_ojpeg.c (OJPEGReadBufferFill): Fix Coverity 603400 4732 "Missing break in switch". 4733 4734 * contrib/addtiffo/tif_overview.c (TIFF_DownSample): Check buffer 4735 size calculation for overflow. 4736 4737 * contrib/addtiffo/addtiffo.c (main): Possibly address Coverity 4738 1024226 "Untrusted value as argument". 4739 4740 * tools/gif2tiff.c (readgifimage): Fix Coverity 1024222 "Untrusted 4741 value as argument". 4742 (checksignature): Fix Coverity 1024894 "Ignoring number of bytes 4743 read". 4744 (readextension): Fix Coverity 1024893 "Ignoring number of bytes 4745 read". 4746 (readgifimage): Fix Coverity 1024890 "Ignoring number of bytes 4747 read". 4748 (readraster): Fix Coverity 1024891 "Ignoring number of bytes 4749 read". 4750 (readgifimage): Fix Coverity 1024892 "Ignoring number of bytes 4751 read". 4752 4753 * tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 1024181 4754 "Structurally dead code". 4755 4756 * tools/raw2tiff.c (main): Fix Coverity 1024887 "Unchecked return 4757 value from library". 4758 (guessSize): Fix Coverity 1024888 "Unchecked return value from 4759 library". 4760 (guessSize): Fix Coverity 1214162 "Ignoring number of bytes read". 4761 (guessSize): Fix Coverity 1024889 "Unchecked return value from 4762 library". 4763 4764 * tools/tiff2pdf.c (t2p_readwrite_pdf_image): Fix Coverity 298621 4765 "Resource leak". 4766 (t2p_readwrite_pdf_image): Fix Coverity 1024181 "Structurally dead 4767 code". 4768 (t2p_write_pdf): Fix Coverity 1227690 "Unused value". 4769 47702015-05-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4771 4772 * contrib/iptcutil/iptcutil.c (formatIPTC): Fix Coverity 1024468 4773 "Infinite loop". 4774 (formatIPTC): Fix Coverity 1024727 "Truncated stdio return value". 4775 (formatIPTC): Fix Coverity 1214240 "Untrusted loop bound". 4776 47772015-05-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4778 4779 * contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix 4780 Coverity 298615 "Resource leak". 4781 (TIFFGetOvrBlock): Fix Coverity 1024649 "Unintended sign 4782 extension". 4783 4784 * tools/bmp2tiff.c (main): Fix Coverity 1024225 "Untrusted value 4785 as argument". 4786 (main): Fix Coverity 1024678 "Unchecked return value from 4787 library". 4788 (main): Fix Coverity 1024679 "Unchecked return value from 4789 library". 4790 (main): Fix Coverity 1214160 "Ignoring number of bytes read". 4791 4792 * contrib/addtiffo/tif_ovrcache.c (TIFFCreateOvrCache): Fix 4793 Coverity 298615 "Resource leak". 4794 4795 * tools/tiffcp.c: Fix Coverity 1024306, 1024307, 1024308, 1024309 4796 "Resource leak". 4797 4798 * tools/tiffsplit.c (cpTiles): Fix Coverity 1024304 "Resource 4799 leak". 4800 (cpStrips): Fix Coverity 1024305 "Resource leak". 4801 48022015-05-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4803 4804 * tools/ras2tiff.c: Fix Sun Raster header definition to be safe 4805 for 64-bit systems. Add some header validations. Should fix many 4806 Coverity issues. 4807 (main): Fix Coverity 1301206: "Integer handling issues (BAD_SHIFT)". 4808 (main): Quiet Coverity 1024223 "Untrusted value as argument". 4809 4810 * tools/tiffmedian.c (GetInputLine): Fix Coverity 1024795 "Nesting 4811 level does not match indentation". 4812 (get_histogram): Quiet Coverity 1024386 "Out-of-bounds read". 4813 This was a benign mis-diagnosis but added code to enforce against 4814 buffer overflow. 4815 4816 * tools/tiffcrop.c (ROTATE_ANY): Fix Coverity 1294542 "Logical 4817 vs. bitwise operator". 4818 (readContigStripsIntoBuffer): Fix Coverity 1024545 "Division or 4819 modulo by zero". 4820 (readContigTilesIntoBuffer): Fix Coverity 1024586 "Logically dead 4821 code". 4822 (writeSingleSection): Fix Coverity 1024796 "Nesting level does not 4823 match indentation". 4824 (writeCroppedImage): Fix Coverity 1024797 "Nesting level does not 4825 match indentation". 4826 (loadImage): Fix Coverity 1299741 "Dereference before null check". 4827 (loadImage): Fix Coverity 1299740 "Out-of-bounds write". 4828 48292015-03-02 Even Rouault <even.rouault@spatialys.com> 4830 4831 * tools/tiffdither.c: check memory allocations to avoid writing to 4832 NULL pointer. Also check multiplication overflow. Fixes #2501, 4833 CVE-2014-8128. Derived from patch by Petr Gajdos. 4834 48352015-01-26 Even Rouault <even.rouault@spatialys.com> 4836 4837 * add html/v4.0.4beta.html under version control 4838 * HOWTO-RELEASE: write that cvs add html/vX.X.html must be used 4839 48402015-01-26 Even Rouault <even.rouault@spatialys.com> 4841 4842 * libtiff 4.0.4beta released 4843 48442015-01-26 Even Rouault <even.rouault@spatialys.com> 4845 4846 * automake: updated to 1.15 4847 * libtool: updated to 2.4.5 4848 48492015-01-22 Even Rouault <even.rouault@spatialys.com> 4850 4851 * tools/tiff2pdf.c: Fix two crashes (oCERT-2014-013) 4852 48532015-01-05 Frank Warmerdam <warmerdam@pobox.com> 4854 4855 * html/bugs.html: remove note about needing to email the tiff mailing 4856 list administrator about being approved for membership, this appears 4857 not to be true. 4858 48592015-01-05 Olivier Paquet <olivier.paquet@gmail.com> 4860 4861 * tools/tiff2pdf.c: Fixed unsigned integer addition overflow detection. 4862 48632015-01-03 Even Rouault <even.rouault@spatialys.com> 4864 4865 * libtiff/tif_dirread.c: in TIFFCheckDirOffset(), avoid uint16 overflow 4866 when reading more than 65535 directories, and effectively error out when 4867 reaching that limit. 4868 48692014-12-29 Even Rouault <even.rouault@spatialys.com> 4870 4871 * libtiff/tif_jpeg.c: in JPEGFixupTags(), recognize SOF2, SOF9 and SOF10 4872 markers to avoid emitting a warning (even if, according to the TechNote, 4873 there are admittedly unusual/not recommended or even forbidden variants, but 4874 they do work well with libjpeg for SOF2, and with libjpeg-turbo for SOF2, 4875 SOF9 and SOF10). 4876 Define in_color_space and input_components to the right values in 4877 JPEGSetupEncode(), before calling jpeg_set_defaults(), as specified by 4878 libjpeg API documentation, so as to be compatible with mozjpeg library. 4879 Note: the default settings of mozjpeg will produce progressive scans, which 4880 is forbidden by the TechNote. 4881 48822014-12-29 Even Rouault <even.rouault@spatialys.com> 4883 4884 * libtiff/tif_getimage.c: move test on vertical value of YCbCr subsampling. 4885 to avoid buffer leak (fix previous fix, found by Coverity scan) 4886 48872014-12-29 Even Rouault <even.rouault@spatialys.com> 4888 4889 * libtiff/tif_next.c: add new tests to check that we don't read outside of 4890 the compressed input stream buffer. 4891 4892 * libtiff/tif_getimage.c: in OJPEG case, fix checks on strile width/height 4893 in the putcontig8bitYCbCr42tile, putcontig8bitYCbCr41tile and 4894 putcontig8bitYCbCr21tile cases. 4895 48962014-12-27 Even Rouault <even.rouault@spatialys.com> 4897 4898 * libtiff/tif_dir.c: in TIFFDefaultDirectory(), reset any already existing 4899 extented tags installed by user code through the extender mechaninm before 4900 calling the extender callback (GDAL #5054) 4901 49022014-12-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4903 4904 * tools/tiffcrop.c: Fix warnings about variables set but not used. 4905 4906 * contrib/iptcutil/iptcutil.c: Fix warnings about variables set 4907 but not used. 4908 4909 * tools/tiffgt.c: Fix warnings about unused parameters. 4910 4911 * libtiff/tif_stream.cxx: Fix warnings about unused parameters. 4912 49132014-12-25 Even Rouault <even.rouault@spatialys.com> 4914 4915 * libtiff/tif_getimage.c, libtiff/tif_ojpeg.c, libtiff/tif_zip.c: fix 4916 various typos found by Debian lintian tool (GDAL #5756) 4917 49182014-12-24 Even Rouault <even.rouault@spatialys.com> 4919 4920 * libtiff/tif_getimage.c: avoid divide by zero on invalid YCbCr subsampling. 4921 http://bugzilla.maptools.org/show_bug.cgi?id=2235 4922 49232014-12-24 Even Rouault <even.rouault@spatialys.com> 4924 4925 * tools/tiff2pdf.c: fix buffer overflow on some YCbCr JPEG compressed images. 4926 http://bugzilla.maptools.org/show_bug.cgi?id=2445 4927 49282014-12-24 Even Rouault <even.rouault@spatialys.com> 4929 4930 * tools/tiff2pdf.c: fix buffer overflow on YCbCr JPEG compressed image. 4931 Derived from patch by Petr Gajdos, 4932 http://bugzilla.maptools.org/show_bug.cgi?id=2443 4933 49342014-12-23 Even Rouault <even.rouault@spatialys.com> 4935 4936 * libtiff/tif_dirread.c: In EstimateStripByteCounts(), check return code 4937 of _TIFFFillStriles(). This solves crashing bug on corrupted 4938 images generated by afl. 4939 49402014-12-23 Even Rouault <even.rouault@spatialys.com> 4941 4942 * libtiff/tif_read.c: fix several invalid comparisons of a uint64 value with 4943 <= 0 by casting it to int64 first. This solves crashing bug on corrupted 4944 images generated by afl. 4945 49462014-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 4947 4948 * tools/tiffdump.c: Guard against arithmetic overflow when 4949 calculating allocation buffer sizes. 4950 49512014-12-21 Even Rouault <even.rouault@spatialys.com> 4952 4953 * tools/tiff2bw.c: when Photometric=RGB, the utility only works if 4954 SamplesPerPixel = 3. Enforce that 4955 http://bugzilla.maptools.org/show_bug.cgi?id=2485 (CVE-2014-8127) 4956 49572014-12-21 Even Rouault <even.rouault@spatialys.com> 4958 4959 * tools/pal2rgb.c, tools/thumbnail.c: fix crash by disabling TIFFTAG_INKNAMES 4960 copying. The right fix would be to properly copy it, but not worth the burden 4961 for those esoteric utilities. 4962 http://bugzilla.maptools.org/show_bug.cgi?id=2484 (CVE-2014-8127) 4963 49642014-12-21 Even Rouault <even.rouault@spatialys.com> 4965 4966 * tools/thumbnail.c: fix out-of-buffer write 4967 http://bugzilla.maptools.org/show_bug.cgi?id=2489 (CVE-2014-8128) 4968 49692014-12-21 Even Rouault <even.rouault@spatialys.com> 4970 4971 * tools/thumbnail.c, tools/tiffcmp.c: only read/write TIFFTAG_GROUP3OPTIONS 4972 or TIFFTAG_GROUP4OPTIONS if compression is COMPRESSION_CCITTFAX3 or 4973 COMPRESSION_CCITTFAX4 4974 http://bugzilla.maptools.org/show_bug.cgi?id=2493 (CVE-2014-8128) 4975 49762014-12-21 Even Rouault <even.rouault@spatialys.com> 4977 4978 * libtiff/tif_next.c: check that BitsPerSample = 2. Fixes 4979 http://bugzilla.maptools.org/show_bug.cgi?id=2487 (CVE-2014-8129) 4980 49812014-12-21 Even Rouault <even.rouault@spatialys.com> 4982 4983 * tools/tiff2pdf.c: check return code of TIFFGetField() when reading 4984 TIFFTAG_SAMPLESPERPIXEL 4985 49862014-12-21 Even Rouault <even.rouault@spatialys.com> 4987 4988 * tools/tiffcp.c: fix crash when converting YCbCr JPEG-compressed to none. 4989 Based on patch by Tomasz Buchert (http://bugzilla.maptools.org/show_bug.cgi?id=2480) 4990 Description: fix for Debian bug #741451 4991 tiffcp crashes when converting JPEG-encoded TIFF to a different 4992 encoding (like none or lzw). For example this will probably fail: 4993 tiffcp -c none jpeg_encoded_file.tif output.tif 4994 The reason is that when the input file contains JPEG data, 4995 the tiffcp code forces conversion to RGB space. However, 4996 the output normally inherits YCbCr subsampling parameters 4997 from the input, which leads to a smaller working buffer 4998 than necessary. The buffer is subsequently overrun inside 4999 cpStripToTile() (called from writeBufferToContigTiles). 5000 Note that the resulting TIFF file would be scrambled even 5001 if tiffcp wouldn't crash, since the output file would contain 5002 RGB data intepreted as subsampled YCbCr values. 5003 This patch fixes the problem by forcing RGB space on the output 5004 TIF if the input is JPEG-encoded and output is *not* JPEG-encoded. 5005 Author: Tomasz Buchert <tomasz.buchert@inria.fr> 5006 50072014-12-21 Even Rouault <even.rouault@spatialys.com> 5008 5009 Fix various crasher bugs on fuzzed images. 5010 * libtiff/tif_dir.c: TIFFSetField(): refuse to set negative values for 5011 TIFFTAG_XRESOLUTION and TIFFTAG_YRESOLUTION that cause asserts when writing 5012 the directory 5013 * libtiff/tif_dirread.c: TIFFReadDirectory(): refuse to read ColorMap or 5014 TransferFunction if BitsPerSample has not yet been read, otherwise reading 5015 it later will cause user code to crash if BitsPerSample > 1 5016 * libtiff/tif_getimage.c: TIFFRGBAImageOK(): return FALSE if LOGLUV with 5017 SamplesPerPixel != 3, or if CIELAB with SamplesPerPixel != 3 or BitsPerSample != 8 5018 * libtiff/tif_next.c: in the "run mode", use tilewidth for tiled images 5019 instead of imagewidth to avoid crash 5020 * tools/bmp2tiff.c: fix crash due to int overflow related to input BMP dimensions 5021 * tools/tiff2pdf.c: fix crash due to invalid tile count (should likely be checked by 5022 libtiff too). Detect invalid settings of BitsPerSample/SamplesPerPixel for CIELAB / ITULAB 5023 * tools/tiffcrop.c: fix crash due to invalid TileWidth/TileHeight 5024 * tools/tiffdump.c: fix crash due to overflow of entry count. 5025 50262014-12-15 Even Rouault <even.rouault@spatialys.com> 5027 5028 * libtiff/tif_jpeg.c: Fix regression introduced on 2010-05-07 that caused 5029 all tiles/strips to include quantization tables even when the jpegtablesmode 5030 had the JPEGTABLESMODE_QUANT bit set. 5031 Also add explicit removal of Huffman tables when jpegtablesmode has the 5032 JPEGTABLESMODE_HUFF bit set, which avoids Huffman tables to be emitted in the 5033 first tile/strip (only useful in update scenarios. create-only was 5034 fine) 5035 50362014-12-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5037 5038 * tools/tiff2pdf.c: Assure that memory size calculations for 5039 _TIFFmalloc() do not overflow the range of tmsize_t. 5040 50412014-12-07 Even Rouault <even.rouault@spatialys.com> 5042 5043 * tools/thumbnail.c, tools/tiffcrop.c: "fix" heap read over-run found with 5044 Valgrind and Address Sanitizer on test suite 5045 50462014-12-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5047 5048 * tools/tiff2pdf.c (t2p_read_tiff_init): TIFFTAG_TRANSFERFUNCTION 5049 tag can return one channel, with the other two channels set to 5050 NULL. The tiff2pdf code was expecting that other two channels 5051 were duplicate pointers in the case where there is only one 5052 channel. Detect this condition in order to avoid a crash, and 5053 presumably perform correctly with just one channel. 5054 50552014-12-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5056 5057 * tools/tiffdump.c: Fix double-free bug. 5058 50592014-11-27 Even Rouault <even.rouault@spatialys.com> 5060 5061 * libtiff/tif_config.vc.h: no longer use "#define snprintf _snprintf" with 5062 Visual Studio 2015 aka VC 14 aka MSVC 1900 5063 50642014-11-20 Even Rouault <even.rouault@spatialys.com> 5065 5066 * libtiff/tif_lzw.c: prevent potential null dereference of 5067 sp->dec_codetab in LZWPreDecode (bug #2459) 5068 5069 * libtiff/tif_read.c: in TIFFReadBufferSetup(), avoid passing -1 size 5070 to TIFFmalloc() if passed user buffer size is 0 (bug #2459) 5071 5072 * libtiff/tif_ojpeg.c: make Coverity happier (not a bug, #2459) 5073 5074 * libtiff/tif_dir.c: in _TIFFVGetField() and _TIFFVSetField(), make 5075 Coverity happier (not a bug, #2459) 5076 5077 * libtiff/tif_dirread.c: in TIFFFetchNormalTag(), make Coverity happier 5078 (not a bug, #2459) 5079 5080 * tools/tiff2pdf.c: close PDF file (bug #2479) 5081 5082 * tools/fax2ps.c: check malloc()/realloc() result (bug #2470) 5083 5084 * tools/tiffdump.c: detect cycle in TIFF directory chaining (bug #2463) 5085 and avoid passing a NULL pointer to read() if seek() failed before (bug #2459) 5086 5087 * tools/tiffcrop.c: fix segfault if bad value passed to -Z option 5088 (bug #2459) and add missing va_end in dump_info (#2459) 5089 5090 * tools/gif2tif.c: apply patch for CVE-2013-4243 (#2451) 5091 50922014-11-20 Even Rouault <even.rouault@spatialys.com> 5093 * libtiff/tif_jpeg.c: fix segfault in JPEGFixupTagsSubsampling() on 5094 corrupted image where tif->tif_dir.td_stripoffset == NULL (bug #2471) 5095 50962014-11-20 Even Rouault <even.rouault@spatialys.com> 5097 * automake: updated to 1.14.1 5098 * libtool: updated to 2.4.3 5099 * HOWTO-RELEASE: small update about autotools building order 5100 51012014-10-20 Olivier Paquet <olivier.paquet@gmail.com> 5102 * tools/tiff2pdf.c: Preserve input file directory order when pages 5103 are tagged with the same page number. 5104 51052014-08-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5106 5107 * libtiff/tif_dirread.c (TIFFReadDirEntryOutputErr): Incorrect 5108 count for tag should be a warning rather than an error since 5109 errors terminate processing. 5110 51112014-06-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5112 5113 * tools/tiff2rgba.c (]): Fixed tiff2rgba usage message in that zip 5114 was wrongly described. Fix suggested by Miguel Medalha. 5115 51162014-05-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5117 5118 * libtiff/tif_dirinfo.c (TIFFField) : Fix data type for 5119 TIFFTAG_GLOBALPARAMETERSIFD tag. Patch by Steve Underwood. 5120 Reviewed and forwarded by Lee Howard. 5121 51222013-11-30 Frank Warmerdam <warmerdam@pobox.com> 5123 5124 * libtiff/tif_dir.c: fix last fix for TIFFNumberOfDirectories() 5125 51262013-10-21 Frank Warmerdam <warmerdam@pobox.com> 5127 5128 * libtiff/tif_dir.c: generate error in case of directory count 5129 overflow. 5130 51312013-10-01 Frank Warmerdam <warmerdam@pobox.com> 5132 5133 * libtiff/tiff.h, libtiff/tif_dirinfo.c: add definitions for 5134 TIFF/EP CFARepeatPatternDim and CFAPattern tags (bug #2457) 5135 51362013-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5137 5138 * libtiff/tif_dir.c (TIFFAdvanceDirectory): If nextdir is found to 5139 be defective, then set it to zero before returning error in order 5140 to terminate processing of truncated TIFF. Issue found and fix 5141 suggested by Richard Nolde. 5142 51432013-08-14 Frank Warmerdam <warmerdam@pobox.com> 5144 5145 * tools/gif2tiff.c: fix possible OOB write (#2452, CVE-2013-4244) 5146 51472013-08-13 Frank Warmerdam <warmerdam@pobox.com> 5148 5149 * tools/gif2tiff.c: Be more careful about corrupt or 5150 hostile input files (#2450, CVE-2013-4231) 5151 5152 * tools/tiff2pdf.c: terminate after failure of allocating 5153 ycbcr buffer (bug #2449, CVE-2013-4232) 5154 51552013-07-09 Frank Warmerdam <warmerdam@google.com> 5156 5157 * tools/tiffinfo.c: Default various values fetched with 5158 TIFFGetField() to avoid being uninitialized. 5159 51602013-05-02 Tom Lane <tgl@sss.pgh.pa.us> 5161 5162 * tools/tiff2pdf.c: Rewrite JPEG marker parsing in 5163 t2p_process_jpeg_strip to be at least marginally competent. The 5164 approach is still fundamentally flawed, but at least now it won't 5165 stomp all over memory when given bogus input. Fixes CVE-2013-1960. 5166 51672013-05-02 Tom Lane <tgl@sss.pgh.pa.us> 5168 5169 * contrib/dbs/xtiff/xtiff.c, libtiff/tif_codec.c, 5170 libtiff/tif_dirinfo.c, tools/rgb2ycbcr.c, tools/tiff2bw.c, 5171 tools/tiff2pdf.c, tools/tiff2ps.c, tools/tiffcrop.c, 5172 tools/tiffdither.c: Enlarge some fixed-size buffers that weren't 5173 large enough, and eliminate substantially all uses of sprintf(buf, 5174 ...) in favor of using snprintf(buf, sizeof(buf), ...), so as to 5175 protect against overflow of fixed-size buffers. This responds in 5176 particular to CVE-2013-1961 concerning overflow in tiff2pdf.c's 5177 t2p_write_pdf_page(), but in general it seems like a good idea to 5178 deprecate use of sprintf(). 5179 51802013-03-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5181 5182 * configure.ac: Applied patch by Brad Smith to improve pkg-config 5183 static linking by adding -lm to Libs.private when needed. 5184 51852013-03-05 Tom Lane <tgl@sss.pgh.pa.us> 5186 5187 * html/man/tiff2ps.1.html, html/man/tiffcp.1.html, 5188 html/man/tiffdither.1.html, man/tiff2ps.1, man/tiffcp.1, 5189 man/tiffdither.1, tools/tiff2ps.c, tools/tiffcp.c, 5190 tools/tiffdither.c: Sync tool usage printouts and man pages with 5191 reality (quite a few options had escaped being documented in one 5192 or both places). Per an old report from Miroslav Vadkerti. 5193 51942013-01-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5195 5196 * tools/tiff2ps.c:Fix bug in auto rotate option code. Once a 5197 rotation angle was set by the auto rotate check, it was retained 5198 for all pages that followed instead ofa being retested for each 5199 page. Patch by Richard Nolde. 5200 52012013-01-18 Frank Warmerdam <warmerdam@google.com> 5202 5203 * libtiff/tif_write.c: tmsize_t related casting warning fixed for 5204 64bit linux. 5205 5206 * libtiff/tif_read.c: uint64/tmsize_t change for MSVC warnings. 5207 http://bugzilla.maptools.org/show_bug.cgi?id=2427 5208 52092012-12-20 Tom Lane <tgl@sss.pgh.pa.us> 5210 5211 * test/raw_decode.c: Relax raw_decode's pixel-value checks so that 5212 it will pass with more versions of libjpeg. (There are at least 5213 three in active use now, and JPEG_LIB_VERSION doesn't tell us 5214 enough to uniquely identify expected results.) 5215 52162012-12-12 Tom Lane <tgl@sss.pgh.pa.us> 5217 5218 * libtiff/tif_print.c: Fix TIFFPrintDirectory's handling of 5219 field_passcount fields: it had the TIFF_VARIABLE and 5220 TIFF_VARIABLE2 cases backwards. 5221 52222012-12-10 Tom Lane <tgl@sss.pgh.pa.us> 5223 5224 * tools/ppm2tiff.c: Improve previous patch for CVE-2012-4564: 5225 check the linebytes calculation too, get the max() calculation 5226 straight, avoid redundant error messages, check for malloc 5227 failure. 5228 52292012-12-10 Tom Lane <tgl@sss.pgh.pa.us> 5230 5231 * libtiff/tif_pixarlog.c: Improve previous patch for CVE-2012-4447 5232 (to enlarge tbuf for possible partial stride at end) so that 5233 overflow in the integer addition is detected. Per gripe from 5234 Huzaifa Sidhpurwala. 5235 52362012-12-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5237 5238 * tools/tiffset.c: tiffset now supports a -u option to unset a 5239 tag. Patch by Zach Baker. See 5240 http://bugzilla.maptools.org/show_bug.cgi?id=2419 5241 52422012-11-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5243 5244 * automake: Update Automake to 1.12.5 release. 5245 5246 * libtiff/tif_{unix,vms,win32}.c (_TIFFmalloc): ANSI C does not 5247 require malloc() to return NULL pointer if requested allocation 5248 size is zero. Assure that _TIFFmalloc does. 5249 52502012-11-01 Frank Warmerdam <warmerdam@pobox.com> 5251 5252 * tools/ppm2tiff.c: avoid zero size buffer vulnerability. 5253 CVE-2012-4564 - Thanks to Huzaifa Sidhpurwala of the 5254 Red Hat Security Response team for the fix. 5255 52562012-10-18 Frank Warmerdam <warmerdam@google.com> 5257 5258 * tif_zip.c: Avoid crash on NULL error messages. 5259 52602012-09-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5261 5262 * libtiff 4.0.3 released. 5263 52642012-09-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5265 5266 * Makefile.am: Update to Automake 1.12.4 5267 52682012-08-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5269 5270 * Makefile.in: Update to Automake 1.12.3 5271 5272 * libtiff{tiff.h, tif_print.c, tif_dirinfo.c, tif_dirread.c}: Add 5273 some TIFF/FX support in libtiff. Add the tag definitions to 5274 tiff.h. Add the related TIFF field definitions to tif_dirinfo.c, 5275 and also fixes an error in a comment. Adds the photometric values 5276 to tif_print.c, and fixes a bug. These changes are by Steve 5277 Underwood. 5278 52792012-08-13 Frank Warmerdam <warmerdam@google.com> 5280 5281 * libtiff/tif_write.c: Fix bug rewriting image tiles in a 5282 compressed file: http://trac.osgeo.org/gdal/ticket/4771 5283 52842012-08-02 Frank Warmerdam <warmerdam@google.com> 5285 5286 * libtiff/tif_dirread.c: report error in case of mismatch value 5287 counts for tags (ie. DotRange). 5288 52892012-07-26 Tom Lane <tgl@sss.pgh.pa.us> 5290 5291 * libtiff/{tiffio.h, tif_dirinfo.c, libtiff.def}: Add six new 5292 functions TIFFFieldTag(), TIFFFieldName(), TIFFFieldDataType(), 5293 TIFFFieldPassCount(), TIFFFieldReadCount(), TIFFFieldWriteCount() 5294 as external accessors for the opaque type TIFFField. 5295 5296 * tools/tiffset.c: Make tiffset use the above functions instead of 5297 relying on library private headers. 5298 52992012-07-19 Tom Lane <tgl@sss.pgh.pa.us> 5300 5301 * tools/tiff2pdf.c: Fix two places where t2p_error didn't get set 5302 after a malloc failure. No crash risk AFAICS, but the program 5303 might not report exit code 1 as desired. h/t mancha@mac.hush.com 5304 53052012-07-18 Tom Lane <tgl@sss.pgh.pa.us> 5306 5307 * tools/tiff2pdf.c: Fail when TIFFSetDirectory() fails. This 5308 prevents core dumps or perhaps even arbitrary code execution when 5309 processing a corrupt input file (CVE-2012-3401). 5310 53112012-07-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5312 5313 * test/raw_decode.c (main): Test fixes to work with IJG JPEG 7+. 5314 IJG JPEG 7+ uses a different upsampling algorithm which produces 5315 different numeric results. 5316 5317 * libtiff/tif_jpeg.c (JPEGPreDecode): Patch from Even Rouault to 5318 work with IJG JPEG 7+. 5319 53202012-07-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5321 5322 * test/raw_decode.c: Add changes so that test can run with build 5323 directory outside of source directory. 5324 53252012-07-02 Frank Warmerdam <warmerdam@google.com> 5326 5327 * libtiff/tif_jpeg.c: Fix handling when writing RGBA jpeg compressed 5328 imagery (http://trac.osgeo.org/gdal/ticket/4732) 5329 53302012-06-20 Frank Warmerdam <warmerdam@google.com> 5331 5332 * libtiff/tif_fax3.c: fix memory initialization of runs, only 5333 partly done. 5334 5335 * libtiff/tif_pixarlog.c: Make sure tbuf is large enough for one 5336 full "stride" past the end. 5337 53382012-06-19 Frank Warmerdam <warmerdam@google.com> 5339 5340 * libtiff/tif_packbits.c: fix read past end of data buffer. 5341 53422012-06-15 Frank Warmerdam <warmerdam@google.com> 5343 5344 * libtiff 4.0.2 released. 5345 5346 * tools/tif2pdf.c, tools/tifdump.c: avoid unitialized variable 5347 warnings with clang. 5348 53492012-06-15 Tom Lane <tgl@sss.pgh.pa.us> 5350 5351 * tools/tiff2pdf.c: Defend against integer overflows while 5352 calculating required buffer sizes (CVE-2012-2113). 5353 53542012-06-12 Frank Warmerdam <warmerdam@google.com> 5355 5356 * libtiff/tif_print.c: Be careful about printing corrupt inknames. 5357 5358 * libtiff/tif_fax3.c: Ensure runs array is initialized to zeros. 5359 53602012-06-07 Frank Warmerdam <warmerdam@google.com> 5361 5362 * libtiff/tif_print.c: avoid pretty printing other fields when 5363 we don't have the proper amount and type of data or if the field 5364 is actually autodefined. 5365 53662012-06-05 Frank Warmerdam <warmerdam@google.com> 5367 5368 * libtiff/tif_tile.c, libtiff/tif_strip.c: Ensure that illegal 5369 ycbcrsubsampling values result in a runtime error, not just an 5370 assertion. 5371 5372 * tests/custom_dir.c: Add testing of EXIF and custom directory 5373 reading and writing. 5374 5375 * libtiff/tif_dir.c, libtiff/tiffio.h: Add TIFFCreateCustomDirectory() 5376 and TIFFCreateEXIFDirectory() functions. 5377 5378 * libtiff/tif_dir.c, tif_print.c : Remove FIELD_CUSTOM handling for 5379 PAGENUMBER, HALFTONEHINTS, and YCBCRSUBSAMPLING. Implement DOTRANGE 5380 differently. This is to avoid using special TIFFGetField/TIFFSetField 5381 rules for these fields in non-image directories (like EXIF). 5382 53832012-06-04 Frank Warmerdam <warmerdam@google.com> 5384 5385 * libtiff/tif_jpeg.c: Remove code for fixing up h_sampling and v_sampling 5386 in JPEGPreDecode(). If a fixup will be done it needs to be done sooner 5387 in JPEGFixupTagsSubsampling() or else buffer sized may be wrong. 5388 53892012-06-01 Frank Warmerdam <warmerdam@google.com> 5390 5391 * tools/tiffinfo.c: Do not try to read image data in EXIF directories. 5392 5393 * libtiff/tif_getimage.c: added support for _SEPARATED CMYK images. 5394 http://bugzilla.maptools.org/show_bug.cgi?id=2379 5395 5396 * libtiff/tif_unix.c: use strerror() to return a more specific error message 5397 on failed open. 5398 http://bugzilla.maptools.org/show_bug.cgi?id=2341 5399 5400 * libtiff/tif_jpeg.c: Fix JPEGDecodeRaw() bugs. 5401 http://bugzilla.maptools.org/show_bug.cgi?id=2386 5402 5403 * tests/decode_raw.c, tests/images/quad-tile.jpg.tiff: add limited support 5404 for testing jpeg in tiff image decoding including the "raw" decode interface. 5405 54062012-05-31 Frank Warmerdam <warmerdam@google.com> 5407 5408 * libtiff/tif_jpeg.c: avoid overrunning the end of the output buffer in 5409 JPEGDecodeRaw() - mostly likely to occur when there is confusion about 5410 sampling values. 5411 5412 * libtiff/tif_read.c: Make sure tif_rawdatasize is cleared when tif_rawdata is freed. 5413 5414 * libtiff/tif_getimage.c: Add support for greyscale+alpha c/o Jérémie Laval. 5415 http://bugzilla.maptools.org/show_bug.cgi?id=2398 5416 54172012-05-29 Frank Warmerdam <warmerdam@google.com> 5418 5419 * libtiff/tif_dir.c: avoid using specific set/get logic to process fields in custom directories, 5420 like EXIF directories. This fixes problems like a tag "320" existing in a custom directory getting 5421 processed as if it were a colormap when it isn't really. Damn the wide variety of argument formulations 5422 to get/set functions for different tags! 5423 5424 * libtiff/tif_dir.c: Ensure that we keep track of when tif_rawdata 5425 is a pointer into an mmap()ed file via TIFF_BUFFERMMAP flag. 5426 54272012-05-24 Frank Warmerdam <warmerdam@google.com> 5428 5429 * libtiff/tif_pixarlog.c: Allocate working buffer one word larger since we "forward 5430 accumulate" and overwrite the end by one word in at least some cases. 5431 54322012-05-23 Frank Warmerdam <warmerdam@google.com> 5433 5434 * libtiff/tif_pixarlog.c: avoid accessing out of the lookup arrays for out of range inputs. 5435 5436 * tools/tiffinfo.c: initialize h=0 to avoid undefined variable for degenerate files. 5437 5438 * libtiff/tif_ojpeg.c: if OJPEGWriteHeader() fails once do not bother trying again on 5439 the same image. 5440 5441 * libtiff/tif_ojpeg.c: make things more resilient in the face of files without 5442 stripbytecounts or stripoffsets or where loading these fails. 5443 5444 * libtiff/tif_print.c: be careful about whether min/max values are singular 5445 or one per sample. 5446 5447 * libtiff/tif_print.c: Avoid confusion about count size when printing custom fields. 5448 May affect things like ISOSpeedRatings. 5449 5450 * libtiff/tif_dir.c: avoid one byte past end of ink names reading 5451 in some cases. 5452 54532012-05-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5454 5455 * man/TIFFGetField.3tiff: Correct the 'count' field type in the 5456 example for how to retrieve the value of unsupported tags. 5457 54582012-03-30 Frank Warmerdam <warmerdam@google.com> 5459 5460 * tif_getimage.c: Fix size overflow (zdi-can-1221,CVE-2012-1173) 5461 care of Tom Lane @ Red Hat. 5462 54632012-02-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5464 5465 * libtiff 4.0.1 released. 5466 5467 * Update automake used to 1.11.3. 5468 5469 * libtiff/tiffio.h: Use double-underbar syntax in GCC printf 5470 attribute specification to lessen the risk of accidental macro 5471 substitution. Patch from Vincent Torri. 5472 54732012-01-31 Frank Warmerdam <warmerdam@pobox.com> 5474 5475 * libtiff/tif_dir.c, libtiff/tif_dirread.c: Extra caution around 5476 assumption tag fetching is always successful. 5477 5478 * libtiff/tif_jpeg.c: Extra caution for case where sp is NULL. 5479 54802012-01-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5481 5482 * configure.ac: Add support for using library symbol versioning on 5483 ELF systems with the GNU linker. Support is enabled via 5484 --enable-ld-version-script. Disabled by default for now until 5485 there is a decision for how to deploy a libtiff with versioned 5486 symbols after libtiff 4.0.0 was already released. 5487 54882011-12-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5489 5490 * libtiff/tif_win32.c: Eliminate some minor 64-bit warnings in 5491 5492 tif_win32.c. Patch by Edward Lam. 5493 5494 * configure.ac: Add libtiff private dependency on -llzma for 5495 pkg-config. Patch by Mark Brand. 5496 Updated Automake to 1.11.2. 5497 54982011-12-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5499 5500 * libtiff 4.0.0 released. 5501 55022011-12-08 Frank Warmerdam <warmerdam@pobox.com> 5503 5504 * libtiff/tif_dirread.c, libtiff/tif_read.c: more cautious checking 5505 of _TIFFFillStriles() results (#gdal 4372) 5506 55072011-12-07 Frank Warmerdam <warmerdam@pobox.com> 5508 5509 * libtiff/tif_dirread.c: fixes to deal with invalid files where 5510 _TIFFFillStriles() fails, and we try to chop up strips (gdal #4372) 5511 5512 * libtiff/tif_dirread.c: fix error reporting when there is no 5513 tag information struct and name (gdal #4373) 5514 55152011-10-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5516 5517 * Update GNU libtool to 2.4.2. 5518 5519 * tools/tiffsplit.c (tiffcp): TIFFGetField count field should be 5520 uint32 type for TIFFTAG_JPEGTABLES. Patch by Christophe 5521 Deroulers. 5522 55232011-06-21 Frank Warmerdam <warmerdam@pobox.com> 5524 5525 * libtiff/libtiff.def: Restore TIFFMergeFieldInfo. 5526 55272011-05-31 Jim Meyering <meyering@redhat.com> 5528 5529 * libtiff/tif_dirread.c (TIFFFetchStripThing): Free "data" also 5530 upon failure to allocate "resizeddata". 5531 * tools/tiff2ps.c (PSDataBW): Zero buffer *after* checking for 5532 allocation failure, not before. 5533 * libtiff/tif_ojpeg.c: plug leaks on OJPEG read failure path 5534 * tools/rgb2ycbcr.c (cvtRaster): unchecked malloc 5535 * libtiff/tif_jpeg.c, tools/tiff2pdf.c, tools/tiff2ps.c: mark 5536 NULL-deref and possible overflow 5537 * tools/tiff2pdf.c: remove decl+set of set-but-not-used local, "written" 5538 * libtiff/tif_jpeg.c (JPEGInitializeLibJPEG): Remove declaration 5539 and set of otherwise unused local, data_is_empty. 5540 * libtiff/tif_jpeg.c (JPEGDecodeRaw) [JPEG_LIB_MK1_OR_12BIT]: 5541 Diagnose out-of-memory failure and return 0 rather than 5542 dereferencing NULL. 5543 55442011-05-24 Frank Warmerdam <warmerdam@pobox.com> 5545 5546 * libtiff/tif_dirread.c: produce special error message for zero tag 5547 directories instead of error out on the malloc(0) failure. 5548 55492011-05-16 Frank Warmerdam <warmerdam@pobox.com> 5550 5551 * libtiff/tif_dirinfo.c: Restore TIFFMergeFieldInfo() and 5552 related declarations as they are in active use by libraries 5553 such as libgeotiff, and work just fine. (#2315) 5554 55552011-04-20 Frank Warmerdam <warmerdam@pobox.com> 5556 5557 * libtiff/tif_dirinfo.c,tiffio.h: Remove the obsolete 5558 TIFFMergeFieldInfo/TIFFFindFieldInfo/TIFFFindFieldInfoByName API. 5559 http://bugzilla.maptools.org/show_bug.cgi?id=2315 5560 5561 * libtiff/libtiff.def: add some missing (64bit) APIs. 5562 http://bugzilla.maptools.org/show_bug.cgi?id=2316 5563 55642011-04-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5565 5566 * libtiff 4.0.0beta7 released. 5567 55682011-04-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5569 5570 * configure.ac: Should use AC_CANONICAL_HOST since host specifies 5571 the run-time target whereas target is used to specify the final 5572 output target if the package is a build tool (like a compiler), 5573 which libtiff is not. Resolves libtiff bug 2307 "Use 5574 AC_CANONICAL_HOST macro". 5575 55762011-04-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5577 5578 * configure.ac: Support configuring TIFF_INT64_FORMAT and 5579 TIFF_UINT64_FORMAT appropriately for MinGW32. 5580 5581 * tools/tiffdump.c (ReadDirectory): MinGW32 needs to use WIN32 5582 printf conventions for 64-bit types because it uses the WIN32 CRT. 5583 5584 * libtiff/{tif_dumpmode.c,tif_luv.c,tif_lzw.c,tif_print.c, 5585 tif_read.c,tif_strip.c,tif_thunder.c}: MinGW32 needs to use WIN32 5586 printf conventions for 64-bit types because it uses the WIN32 CRT. 5587 5588 * tools/tiff2pdf.c (t2p_write_pdf_string): Fix printf syntax not 5589 understood by WIN32 CRT. 5590 5591 * libtiff/tif_ojpeg.c: Fixes to compile with MinGW32 GCC. 5592 5593 * tools/fax2ps.c (main): Use tmpfile() rather than mkstemp() since 5594 it is much more portable. Tmpfile is included in ISO/IEC 5595 9899:1990 and the WIN32 CRT. 5596 55972011-03-26 Frank Warmerdam <warmerdam@pobox.com> 5598 5599 * tools/tiffset.c: add -d and -sd switches to allow operation on 5600 a particular directory, not just the first (jef). 5601 56022011-03-21 Frank Warmerdam <warmerdam@pobox.com> 5603 5604 * libtiff/tif_thunder.c: Correct potential buffer overflow with 5605 thunder encoded files with wrong bitspersample set. The libtiff 5606 development team would like to thank Marin Barbella and TippingPoint's 5607 Zero Day Initiative for reporting this vulnerability (ZDI-CAN-1004, 5608 CVE-2011-1167). 5609 http://bugzilla.maptools.org/show_bug.cgi?id=2300 5610 56112011-03-10 Frank Warmerdam <warmerdam@pobox.com> 5612 5613 * libtiff/tif_fax3.h: Fix to last change allowing zero length 5614 runs at the start of a scanline - needed for legal cases. 5615 56162011-03-02 Frank Warmerdam <warmerdam@pobox.com> 5617 5618 * libtiff/tif_fax3.h: Protect against a fax VL(n) codeword commanding 5619 a move left. Without this, a malicious input file can generate an 5620 indefinitely large series of runs without a0 ever reaching the right 5621 margin, thus overrunning our buffer of run lengths. Per CVE-2011-0192. 5622 This is a modified version of a patch proposed by Drew Yao of Apple 5623 Product Security. It adds an unexpected() report, and disallows the 5624 equality case, since emitting a run without increasing a0 still allows 5625 buffer overrun. 5626 56272011-02-23 Frank Warmerdam <warmerdam@pobox.com> 5628 5629 * libtiff/tif_jpeg.c: avoid divide by zero in degenerate case (#2296) 5630 5631 * tools/tiff2rgba.c: close source file on error to make leak 5632 detection easier. 5633 5634 * libtiff/tif_getimage.c: avoid leaks if TIFFRGBAImageBegin() fails. 5635 5636 http://bugzilla.maptools.org/show_bug.cgi?id=2295 5637 56382011-02-22 Frank Warmerdam <warmerdam@pobox.com> 5639 5640 * libtiff/tif_lzma.c: Maintain tif_rawcc/tif_rawcp (CHUNKY_STRING_READ 5641 _SUPPORT) 5642 56432011-02-18 Frank Warmerdam <warmerdam@pobox.com> 5644 5645 * configure.ac, configure: Added support for --enable-chunky-strip-read 5646 configure option to enable the experimental feature from a couple 5647 months ago for reading big strips in chunks. 5648 5649 * configure.ac, tif_read.c, tif_readdir.c, tif_dir.h, tiffiop.h, 5650 tif_write.c, tif_print.c, tif_jpeg.c, tif_dirwrite.c, tif_write.c: 5651 Implement optional support for deferring the load of strip/tile 5652 offset and size tags for optimized scanning of directories. Enabled 5653 with the --enable-defer-strile-load configure option (DEFER_STRILE_LOAD 5654 #define in tif_config.h). 5655 56562011-02-11 Frank Warmerdam <warmerdam@pobox.com> 5657 5658 * libtiff/tif_print.c: remove unused variable. 5659 56602011-02-09 Frank Warmerdam <warmerdam@pobox.com> 5661 5662 * libtiff/tif_win32.c: avoid error/warning buffer overrun problem 5663 with non-console (popup message) builds on win32. 5664 5665 http://bugzilla.maptools.org/show_bug.cgi?id=2293 5666 56672011-01-24 Olivier Paquet <olivier.paquet@gmail.com> 5668 5669 * libtiff/{tif_dir.{h,c}, tif_dirinfo.c, tif_dirread.c, tif_dirwrite.c, 5670 tif_print.c, tiff.h, tiffiop.h} : Added support for 5671 TIFFTAG_SMINSAMPLEVALUE and TIFFTAG_SMAXSAMPLEVALUE to have different 5672 values for each sample. Presents the min/max of all samples by default for 5673 compatibility. TIFFSetField/TIFFGetField can be made to handle those tags 5674 as arrays by changing the new TIFFTAG_PERSAMPLE pseudo tag. 5675 http://www.asmail.be/msg0055458208.html 5676 56772011-01-06 Frank Warmerdam <warmerdam@pobox.com> 5678 5679 * libtiff/tif_pixarlog.c: Note that tif_rawcc/tif_rawcp are not 5680 maintained. 5681 5682 * libtiff/tif_zip.c: Maintain tif_rawcc/tif_rawcp when decoding 5683 for CHUNKY_STRIP_READ_SUPPORT. 5684 5685 * libtiff/tif_jpeg.c: ensure that rawcc and rawcp are maintained 5686 during JPEGPreDecode and JPEGDecode calls. 5687 * libtiff/tif_read.c: larger read ahead for CHUNKY_STRIP_READ_SUPPORT, 5688 as compression formats like JPEG keep 16 lines interleaved in a sense 5689 and might need to touch quite a bit of data. 5690 5691 http://trac.osgeo.org/gdal/ticket/3894 5692 56932011-01-03 Lee Howard <faxguy@howardsilvan.com> 5694 5695 * libtiff/tif_jpeg.c: Fix regressions with 2 and 3 band images 5696 caused by commit on 2010-12-14. Submitted by e-mail from 5697 Even Rouault <even.rouault@mines-paris.org> 5698 56992010-12-31 Olivier Paquet <olivier.paquet@gmail.com> 5700 5701 * libtiff/tif_dirwrite.c: Fixed writing of TIFFTAG_REFERENCEBLACKWHITE. 5702 http://bugzilla.maptools.org/show_bug.cgi?id=2266 5703 57042010-12-23 Andrey Kiselev <dron@ak4719.spb.edu> 5705 5706 * tools/tiffcp.c, man/tiffcp.1: Added support for specifying the 5707 compression level parameter (preset) for Deflate and LZMA encoders, 5708 e.g "-c lzma:p1" or "-c zip:p9". 5709 5710 * libtiff/tif_lzma.c: Properly set the LZMA2 compression level 5711 (preset) in LZMAVSetField(). 5712 57132010-12-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5714 5715 * libtiff/Makefile.am (libtiff_la_SOURCES): Added tif_lzma.c to 5716 Makefile. 5717 57182010-12-14 Andrey Kiselev <dron@ak4719.spb.edu> 5719 5720 * configure.ac, libtiff/{tif_codec.c, tif_config.h.in, tiff.h, 5721 tiffiop.h, tif_lzma.c}, tools/tiffcp.c, man/tiffcp.1: Implement a new 5722 TIFF compression scheme LZMA reserving a new value 34925 for 5723 Compression tag. As per 5724 bug http://bugzilla.maptools.org/show_bug.cgi?id=2221 5725 57262010-12-14 Lee Howard <faxguy@howardsilvan.com> 5727 5728 * libtiff/tif_dirread.c: tolerate some cases where 5729 FIELD_COLORMAP is missing 5730 http://bugzilla.maptools.org/show_bug.cgi?id=2189 5731 57322010-12-14 Lee Howard <faxguy@howardsilvan.com> 5733 5734 * libtiff/tif_read.c: change read_ahead to tmsize_t 5735 http://bugzilla.maptools.org/show_bug.cgi?id=2222 5736 57372010-12-14 Lee Howard <faxguy@howardsilvan.com> 5738 5739 * configure.ac, libtiff/Makefile.am: Build tif_win32.c on 5740 Windows except on Cygwin 5741 http://bugzilla.maptools.org/show_bug.cgi?id=2224 5742 57432010-12-14 Lee Howard <faxguy@howardsilvan.com> 5744 5745 * tools/gif2tiff.c: fix buffer overrun 5746 http://bugzilla.maptools.org/show_bug.cgi?id=2270 5747 57482010-12-14 Lee Howard <faxguy@howardsilvan.com> 5749 5750 * libtiff/tif_jpeg.c: reduce usage of JCS_UNKNOWN in order 5751 to improve compatibility with various viewers 5752 submitted by e-mail from Dwight Kelly <dkelly@apago.com> 5753 57542010-12-13 Lee Howard <faxguy@howardsilvan.com> 5755 5756 * tools/fax2ps.c: be consistent with page-numbering 5757 http://bugzilla.maptools.org/show_bug.cgi?id=2225 5758 57592010-12-13 Lee Howard <faxguy@howardsilvan.com> 5760 5761 * libtiff/tif_color.c: prevent crash in handling bad TIFFs 5762 resolves CVE-2010-2595 5763 http://bugzilla.maptools.org/show_bug.cgi?id=2208 5764 57652010-12-13 Lee Howard <faxguy@howardsilvan.com> 5766 5767 * tools/tiffcrop.c: new release by Richard Nolde 5768 http://bugzilla.maptools.org/show_bug.cgi?id=2004 5769 57702010-12-12 Lee Howard <faxguy@howardsilvan.com> 5771 5772 * tools/tiff2pdf.c: fix colors for images with RGBA 5773 interleaved data 5774 http://bugzilla.maptools.org/show_bug.cgi?id=2250 5775 57762010-12-12 Lee Howard <faxguy@howardsilvan.com> 5777 5778 * libtiff/tif_dirread.c: fix for Zeiss LSM and Canon CR2 files 5779 http://bugzilla.maptools.org/show_bug.cgi?id=2164 5780 57812010-12-11 Lee Howard <faxguy@howardsilvan.com> 5782 5783 * tools/tiff2pdf.c: remove invalid duplication for Lab 5784 http://bugzilla.maptools.org/show_bug.cgi?id=2162 5785 57862010-12-11 Lee Howard <faxguy@howardsilvan.com> 5787 5788 * libtiff/tif_jpeg.c: fix use of clumplines calculation 5789 http://bugzilla.maptools.org/show_bug.cgi?id=2149 5790 57912010-12-11 Lee Howard <faxguy@howardsilvan.com> 5792 5793 * tools/fax2ps.c: replace unsafe tmpfile() with mkstemp() 5794 http://bugzilla.maptools.org/show_bug.cgi?id=2118 5795 57962010-12-11 Lee Howard <faxguy@howardsilvan.com> 5797 5798 * libtiff/tif_ojpeg.c, libtiff/tif_pixarlog.c, 5799 libtiff/tif_zip.c: fix build errors for VC6 5800 http://bugzilla.maptools.org/show_bug.cgi?id=2105 5801 58022010-12-11 Lee Howard <faxguy@howardsilvan.com> 5803 5804 * libtiff/tif_stream.cxx: warnings cleanup 5805 http://bugzilla.maptools.org/show_bug.cgi?id=2091 5806 * libtiff/tif_dirread.c: warnings cleanup 5807 http://bugzilla.maptools.org/show_bug.cgi?id=2092 5808 58092010-12-11 Lee Howard <faxguy@howardsilvan.com> 5810 5811 * tools/tiff2pdf.c: add fill-page option 5812 http://bugzilla.maptools.org/show_bug.cgi?id=2051 5813 58142010-12-11 Lee Howard <faxguy@howardsilvan.com> 5815 5816 * libtiff/tif_dirread.c: modify warnings 5817 http://bugzilla.maptools.org/show_bug.cgi?id=2016 5818 58192010-12-11 Lee Howard <faxguy@howardsilvan.com> 5820 5821 * libtiff/tif_ojpeg.c: fix buffer overflow on problem data 5822 http://bugzilla.maptools.org/show_bug.cgi?id=1999 5823 58242010-12-11 Lee Howard <faxguy@howardsilvan.com> 5825 5826 * tools/tiffinfoce.c: strip byte counts are uint64* now 5827 58282010-12-11 Lee Howard <faxguy@howardsilvan.com> 5829 5830 * libtiff/tif_ojpeg.c: fix crash when reading a TIFF with a zero 5831 or missing byte-count tag 5832 * tools/tiffsplit.c: abort when reading a TIFF without a byte-count 5833 per http://bugzilla.maptools.org/show_bug.cgi?id=1996 5834 58352010-12-08 Lee Howard <faxguy@howardsilvan.com> 5836 5837 * libtiff/tif_dirread.c: fix crash when reading a badly-constructed 5838 TIFF per http://bugzilla.maptools.org/show_bug.cgi?id=1994 5839 58402010-12-06 Lee Howard <faxguy@howardsilvan.com> 5841 5842 * libtiff/tif_open.c: Fix mode check before opening a file. 5843 http://bugzilla.maptools.org/show_bug.cgi?id=1906 5844 58452010-11-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5846 5847 * libtiff-4.pc.in: Added libtiff pkg-config .pc file support. 5848 Patch by Vincent Torri. 5849 58502010-10-21 Frank Warmerdam <warmerdam@pobox.com> 5851 5852 * tools/tiffinfo.c: avoid direct reference to _TIFFerrorHandler. 5853 5854 * libtiff/tif_config.vc.h: define snprintf to _snprintf for tiff2pdf. 5855 5856 * libtiff/libtiff.def: export _TIFFCheckMalloc for tools. 5857 58582010-09-25 Lee Howard <faxguy@howardsilvan.com> 5859 5860 * tools/tiff2ps.c: improvements and enhancements from Richard Nolde 5861 with additional command line options for Document Title, 5862 Document Creator, and Page Orientation 5863 58642010-07-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5865 5866 * tools/tiffcrop.c: Patch from Richard Nolde to avoid a 5867 potentially unterminated buffer due to using an exceptionally long 5868 file name. 5869 58702010-07-08 Andrey Kiselev <dron@ak4719.spb.edu> 5871 5872 * tools/tiff2pdf.c: Fixed ID buffer filling in 5873 t2p_write_pdf_trailer(), thanks to Dmitry V. Levin. 5874 58752010-07-07 Andrey Kiselev <dron@ak4719.spb.edu> 5876 5877 * libtiff/tif_dirread.c: Really reset the tag count in CheckDirCount() 5878 to expected value as the warning message suggests. As per bug 5879 http://bugzilla.maptools.org/show_bug.cgi?id=1963 5880 58812010-07-06 Andrey Kiselev <dron@ak4719.spb.edu> 5882 5883 * tools/tiffset.c: Properly handle TIFFTAG_PAGENUMBER, 5884 TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING, TIFFTAG_DOTRANGE 5885 which should be set by value. 5886 5887 * libtiff/tif_dirinfo.c: Don't use assertions in _TIFFFieldWithTag() 5888 and _TIFFFieldWithName() if the tag is not found in the tag table. 5889 This should be normal situation and returned NULL value should be 5890 properly handled by the caller. 5891 58922010-07-02 Andrey Kiselev <dron@ak4719.spb.edu> 5893 5894 * libtiff/tif_getimage.c: Avoid wrong math du to the signed/unsigned 5895 integer type conversions. As per bug 5896 http://bugzilla.maptools.org/show_bug.cgi?id=2207 5897 5898 * tools/{tiff2bw.c, thumbnail.c, pal2rgb.c}: Fix the count for 5899 WhitePoint tag as per bug 5900 http://bugzilla.maptools.org/show_bug.cgi?id=2042 5901 5902 * libtiff/tif_getimage.c: Check the number of samples per pixel when 5903 working with YCbCr image in PickContigCase(). As per bug 5904 http://bugzilla.maptools.org/show_bug.cgi?id=2216 5905 5906 * libtiff/tif_dir.c: Set the bogus post-decoding hook when processing 5907 TIFFTAG_BITSPERSAMPLE in _TIFFVSetField() for the case of 8 bit when 5908 we don't need any post-processing. That helps to reset the hook if we 5909 previously set this field to some other value and the hook was 5910 initialized accordingly. As per bug 5911 http://bugzilla.maptools.org/show_bug.cgi?id=2035 5912 59132010-07-01 Andrey Kiselev <dron@ak4719.spb.edu> 5914 5915 * tools/tiffgt.c: Properly check the raster buffer allocations for 5916 integer overflows. As per bug 5917 http://bugzilla.maptools.org/show_bug.cgi?id=2108 5918 5919 * m4/acinclude.m4: Update GL/GLU/GLUt/Pthread macros from the 5920 upstream. 5921 5922 * libtiff/{tif_aux.c, tif_strip.c, tif_tile.c, tiffiop.h}: Move 5923 multiply_32() and multiply_64() functions into tif_aux.c file and 5924 rename them into _TIFFMultiply32() and _TIFFMultiply64() respectively. 5925 59262010-06-30 Andrey Kiselev <dron@ak4719.spb.edu> 5927 5928 * tools/tiff2pdf.c: Better generation of ID field in 5929 t2p_write_pdf_trailer(). Get rid of GCC aliasing warnings. 5930 5931 * tools/tiff2pdf.c: Fixed computation of the tile buffer size when 5932 converting JPEG encoded tiles. 5933 5934 * tools/tiff2pdf.c: Better handling of string fields, use static 5935 string buffers instead of dynamically allocated, use strncpy() instead 5936 of strcpy(), control the string lengths. 5937 59382010-06-25 Andrey Kiselev <dron@ak4719.spb.edu> 5939 5940 * tools/tiffcp.c: Initialize buffer arrays with zero to avoid 5941 referencing to uninitialized memory in some cases (e.g. when tile size 5942 set bigger than the image size). 5943 59442010-06-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5945 5946 * tools/tiffcrop.c: Patch from Richard Nolde. Reject YCbCr 5947 subsampled data since tiffcrop currently doesn't support it. Fix 5948 JPEG support. 5949 59502010-06-13 Frank Warmerdam <warmerdam@pobox.com> 5951 5952 * libtiff/tif_dirinfo.c: Fix invocation of tag compare function (#2201) 5953 5954 * tools/tiff2pdf.c: Fix assorted bugs in tiff2pdf: missing "return" 5955 in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely 5956 wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual 5957 size is larger. Also, there are a bunch of places that try to 5958 memset() a malloc'd buffer before checking for malloc failure, which 5959 would result in core dump if there actually were a failure. (#2211) 5960 59612010-06-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5962 5963 * libtiff/tiffiop.h (TIFFSafeMultiply): Need more castings to 5964 avoid compiler warnings if parameter types are not sign 5965 consistent. 5966 5967 * libtiff 4.0.0alpha6 released. 5968 5969 * tools/tiffcrop.c: Applied patch from Richard Nolde: Corrected 5970 European page size dimensions. Added an option to allow the user 5971 to specify a custom page size on the command line. Fix the case 5972 where a page size specified with a fractional part was being 5973 coerced to an integer by retyping the variables that define the 5974 paper size. 5975 5976 * html/index.html: Update for the 3.9.3 release. 5977 5978 * tools/tiffcp.c (tiffcp): Applied Tom Lane's patch to reject 5979 YCbCr subsampled data since tiffcp currently doesn't support it. 5980 http://bugzilla.maptools.org/show_bug.cgi?id=2097 5981 5982 * Update libtool to version 2.2.10. 5983 59842010-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5985 5986 * libtiff/tiffiop.h (TIFFSafeMultiply): Work properly if 5987 multiplier is zero. 5988 59892010-06-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 5990 5991 * libtiff/tif_fax3.c (Fax3SetupState): Yesterday's fix for 5992 CVE-2010-1411 was not complete. 5993 5994 * libtiff/tiffiop.h (TIFFSafeMultiply): New macro to safely 5995 multiply two integers. Returns zero if there is an integer 5996 overflow. 5997 5998 * tools/tiffcp.c (main): tiffcp should not leak memory if an error 5999 is reported when reading the input file. 6000 60012010-06-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6002 6003 * Update libtool to version 2.2.8. 6004 6005 * libtiff/tif_fax3.c (Fax3SetupState): Avoid under-allocation of 6006 buffer due to integer overflow in TIFFroundup() and several other 6007 potential overflows. In conjunction with the fix to TIFFhowmany(), 6008 fixes CVE-2010-1411. 6009 6010 * libtiff/tiffiop.h (TIFFhowmany): Return zero if parameters would 6011 result in an integer overflow. This causes TIFFroundup() to also 6012 return zero if there would be an integer overflow. 6013 6014 * contrib: Add an emacs formatting mode footer to all source files 6015 so that emacs can be effectively used. 6016 60172010-06-03 Oliver Chen Feng <scip8183@gmail.com> 6018 6019 * libtiff/tools/tiffcp.c: add a new option -x to force merged tiff 6020 file PAGENUMBER value in sequence for users who care the page 6021 sequence, this will also prevent tiff2pdf from creating pdf file from 6022 the merged tiff file with wrong page sequence. 6023 60242010-05-08 Olivier Paquet <olivier.paquet@gmail.com> 6025 6026 * libtiff/tif_dirread.c: Restored TIFFReadDirEntryFloat function in order 6027 to add missing TIFF_SETGET_FLOAT case to TIFFFetchNormalTag. 6028 * libtiff/tif_dirinfo.c: Use correct set_field_type for 6029 TIFFTAG_PIXAR_FOVCOT so it is readable again (regression from 3.9.2). 6030 http://bugzilla.maptools.org/show_bug.cgi?id=2192 6031 60322010-05-07 Frank Warmerdam <warmerdam@pobox.com> 6033 6034 * libtiff/tif_jpeg.c: Ensure that quality is always set in 6035 JPEGPreEncode(), not just when we want to output local tables. 6036 Otherwise the quality used during compression may not be right and 6037 might not match the tables in the tables tag. This bug only occurs 6038 when seeking between directories in the midst of writing blocks. 6039 http://trac.osgeo.org/gdal/ticket/3539 6040 60412010-05-06 Andrey Kiselev <dron@ak4719.spb.edu> 6042 6043 * html/man/TIFFGetField.3tiff.html, html/man/TIFFSetField.3tiff.html: 6044 Regenerated from the source. 6045 60462010-05-05 Olivier Paquet <olivier.paquet@gmail.com> 6047 6048 * libtiff/tif_print.c: Fixed printing of TIFFTAG_REFERENCEBLACKWHITE which 6049 had stopped working. Also made it always print 6 floats instead of 6050 2*SamplesPerPixel. 6051 http://bugzilla.maptools.org/show_bug.cgi?id=2191 6052 http://bugzilla.maptools.org/show_bug.cgi?id=2186 6053 * man/TIFFGetField.3tiff, man/TIFFSetField.3tiff: Fixed doc to reflect the 6054 fact that libtiff considers TIFFTAG_REFERENCEBLACKWHITE to be 6 floats. 6055 60562010-05-05 Frank Warmerdam <warmerdam@pobox.com> 6057 6058 * libtiff/tif_jpeg.c: Fix to use memcmp(), not memcpy() when checking 6059 if the jpeg table was written. This is a fix for the last fix on 04-21. 6060 60612010-04-21 Frank Warmerdam <warmerdam@pobox.com> 6062 6063 * libtiff/tif_jpeg.c: avoid preparing jpeg tables every time 6064 JPEGSetupEncode() is called if the tables already seem to be 6065 established. This prevents spurious updates and rewriting of 6066 directories with jpegtables when doing updates to existing images. 6067 http://trac.osgeo.org/gdal/ticket/3539 6068 60692010-04-20 Olivier Paquet <olivier.paquet@gmail.com> 6070 6071 * libtiff/tif_dirinfo.c: Use correct set_field_type for 6072 TIFFTAG_PIXAR_IMAGEFULLWIDTH, TIFFTAG_PIXAR_IMAGEFULLLENGTH, 6073 TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN and TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA. 6074 They were unreadable with TIFF_SETGET_UNDEFINED, a regression from 3.9.2. 6075 http://bugzilla.maptools.org/show_bug.cgi?id=2139 6076 60772010-04-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6078 6079 * libtiff/tif_dir.c (_TIFFVSetField): Add a special error case for 6080 when the tag count value is zero. Error handling is still a 6081 regression since in 3.9.2, empty tags are skipped (with a warning) 6082 rather than returning a hard error and refusing to read the file. 6083 6084 * tools/ppm2tiff.c (main): While case for parsing comment line 6085 requires extra parenthesis to work as expected. Reported by 6086 Thomas Sinclair. 6087 60882010-04-02 Frank Warmerdam <warmerdam@pobox.com> 6089 6090 * libtiff/tif_read.c (primarily): Add support for 6091 CHUNKY_STRIP_READ_SUPPORT where large strips are 6092 read in chunks for applications using TIFFReadScanline(). 6093 This is intended to make it more practical work with very 6094 large compressed one-strip files. Feature is off by default. 6095 Enable by defining CHUNK_STRIP_READ_SUPPORT as a macro. 6096 http://trac.osgeo.org/gdal/ticket/3514 6097 60982010-03-31 Frank Warmerdam <warmerdam@pobox.com> 6099 6100 * libtiff/tif_flush.c: Use TIFFRewriteDirectory() when flushing 6101 directories so previously placed directories will be migrated to 6102 the end of file if needed. 6103 61042010-03-30 Frank Warmerdam <warmerdam@pobox.com> 6105 6106 * libtiff/tif_lzw.c: change type of dec_bitsleft field to uint64 6107 to support operating on strips/tiles of more than 256MB. 6108 http://trac.osgeo.org/gdal/ticket/3512 6109 61102010-03-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6111 6112 * libtiff/tif_aux.c (_TIFFCheckRealloc): Improve error message so 6113 that it is clearly a memory allocation error message, and also 6114 includes the size of the allocation request. 6115 61162010-02-22 Lee Howard <faxguy@howardsilvan.com> 6117 6118 * libtiff/tif_jpeg.c: Do not generate a JPEGTables tag when creating 6119 the JPEG TIFF as is is not required in order to prevent it from 6120 being unused and filled with invalid data. (Leave it to be 6121 generated by later activity.) 6122 http://bugzilla.maptools.org/show_bug.cgi?id=2135 6123 * tools/tiff2pdf.c: Write the JPEG SOI headers into the TIFF strip 6124 data rather than skipping them. This fixes the ability to view in 6125 Acrobat Reader, Evince, and Ghostscript. 6126 http://bugzilla.maptools.org/show_bug.cgi?id=2135 6127 * libtiff/tif_fax3.c: Don't return error on badly-terminated MMR 6128 strips. 6129 http://bugzilla.maptools.org/show_bug.cgi?id=2029 6130 61312009-12-03 Frank Warmerdam <warmerdam@pobox.com> 6132 6133 * libtiff/tif_jpeg.c: Made JPEGDecodeRaw() check for buffer overruns. 6134 Made so that when working with downsampled images a stub function 6135 reporting an error is used for tif_decoderow. We cannot meaningfully 6136 support reading scanlines in this situation. (#1936) 6137 6138 * libtiff/tif_jpeg.c: Ensure that tif_scanlinesize is computed after 6139 resetting of the upsampling values (gdal:#3259). 6140 http://bugzilla.maptools.org/show_bug.cgi?id=1936 6141 61422009-11-30 Frank Warmerdam <warmerdam@pobox.com> 6143 6144 * contrib/dbs/tiff-grayscale.c, contrib/tif-palette.c, 6145 tools/ras2tiff.c: Fix resource leaks on error. 6146 http://bugzilla.maptools.org/show_bug.cgi?id=2121 6147 6148 * libtiff/tif_{aux.c,dir.c,dir.h,dirinfo.c}: Return to handling 6149 TIFFTAG_REFERENCEBLACKWHITE as a field in the TIFF directory instead 6150 of as a custom(generic) field to avoid a potential reentrancy problem. 6151 http://bugzilla.maptools.org/show_bug.cgi?id=2125 6152 6153 * libtiff/tif_color.c, libtiff/tif_getimage.c, libtiff/tiffio.h, 6154 man/TIFFcolor.3tiff: Make TIFFDisplay argument in TIFFCIELabToRGBInit 6155 const, and display_sRGB static and const. 6156 http://bugzilla.maptools.org/show_bug.cgi?id=2124 6157 61582009-11-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6159 6160 * libtiff 4.0.0alpha5 released. 6161 61622009-11-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6163 6164 * tools/tiffcrop.c: Updated tiffcrop from Richard Nolde. This 6165 version has undergone substantial testing with arbitrary sample 6166 bit depths. Also eliminates GCC compilation warnings. 6167 61682009-11-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6169 6170 * port/libport.h: Add extern declarations for getopt standard 6171 globals. 6172 61732009-10-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6174 6175 * libtiff/tif_lzw.c (LZWDecode, LZWDecodeCompat): Fix warnings 6176 noticed in 64-bit build of libtiff with Visual Studio 2005. 6177 Resolves "Bug 2067 - Visual Studio 2005 64-bit warnings in 6178 tif_lzw.c", http://bugzilla.maptools.org/show_bug.cgi?id=2067 6179 6180 * libtiff/tif_pixarlog.c (PixarLogEncode): Fix non-important 6181 warning noticed in Visual Studio 2005 build. Resolves "Bug 2068 - 6182 Visual Studio 2005 64-bit warning in tif_pixarlog.c", 6183 http://bugzilla.maptools.org/show_bug.cgi?id=2068 6184 61852009-10-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6186 6187 * libtiff/tif_dirread.c: Eliminate GCC "dereferencing type-punned 6188 pointer" warnings. 6189 61902009-10-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6191 6192 * html/tools.html: Add manual page links, and a summary 6193 description of tiffcrop. 6194 61952009-10-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6196 6197 * configure.ac: x86_64 should use the same fill order as i386. 6198 61992009-09-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6200 6201 * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop from Richard 6202 Nolde. Major updates to add significant functionality for reading 6203 and writing tile based images with bit depths not a multiple of 8 6204 which cannot be handled by tiffcp. 6205 62062009-09-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6207 6208 * libtiff/tif_ojpeg.c (OJPEGWriteHeaderInfo): IJG JPEG 7 needs 6209 do_fancy_upsampling=FALSE in order to read raw data. Resolves 6210 "Bug 2090 - OJPEG crash with libjpeg v7". 6211 http://bugzilla.maptools.org/show_bug.cgi?id=2090 6212 62132009-09-03 Frank Warmerdam <warmerdam@pobox.com> 6214 6215 * libtiff/tif_getimage.c: Fixed error recognition handling in RGBA 6216 interface when stoponerror is set. 6217 http://bugzilla.maptools.org/show_bug.cgi?id=2071 6218 62192009-08-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6220 6221 * tools/{tiffcrop.c,tiffgt.c}: Applied patch from Oden Eriksson to 6222 fix build with gcc when using the "-Wformat 6223 -Werror=format-security" flags. 6224 62252009-08-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6226 6227 * test/{bmp2tiff_palette.sh, bmp2tiff_rgb.sh, gif2tiff.sh, 6228 ppm2tiff_pbm.sh, ppm2tiff_pgm.sh, ppm2tiff_ppm.sh}: Additional 6229 utilities tests. 6230 62312009-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6232 6233 * tools/tiffinfo.c: tiffinfo should return error status to the 6234 caller. Register a private error callback to accomplish that. 6235 6236 * test/Makefile.am (TIFFIMAGES): Add test images in BMP, GIF, and 6237 PNM formats so that we will be able to test more of the tools. 6238 While adding these test images I notice that bmp2tiff and gif2tiff 6239 only support ancient versions of their respective formats. 6240 62412009-08-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6242 6243 * libtiff 4.0.0alpha4 released. 6244 6245 * HOWTO-RELEASE: Improved release instructions. 6246 62472009-08-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6248 6249 * man/{TIFFClose.3tiff,raw2tiff.1,tiffcmp.1,tiffsplit.1}: Applied 6250 fixes for "Bug 2023 - nroff errors in manual pages". 6251 http://bugzilla.maptools.org/show_bug.cgi?id=2023 6252 6253 * tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied fixes for "Bug 2079 - 6254 CVE-2009-2347 libtiff: integer overflows in various inter-color 6255 space conversion tools". 6256 http://bugzilla.maptools.org/show_bug.cgi?id=2079 6257 6258 * libtiff/tif_print.c (TIFFPrintDirectory): Apply fix from Jay 6259 Berkenbilt for "Bug 2024 - possible null pointer dereference with 6260 one-line fix". 6261 http://bugzilla.maptools.org/show_bug.cgi?id=2024 6262 6263 * libtiff/tif_dirread.c (TIFFReadCustomDirectory): Apply patch 6264 from Jay Berkenbilt for "Bug 1895 - logic error in tif_dirread.c: 6265 segfault after setting tdir_tag = IGNORE". 6266 http://bugzilla.maptools.org/show_bug.cgi?id=1895 6267 62682009-08-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6269 6270 * test/Makefile.am, test/tiffcrop*.sh: Split previously existing 6271 tiffcrop.sh into a collection of many specific tests. Re-wrote 6272 all of the existing tests to be based on some simple shell 6273 functions. Make distcheck works again. 6274 6275 Export certain variables (MAKE, MAKEFLAGS, MEMCHECK) to tests and 6276 added 'memcheck' and 'ptrcheck' targets to make it easy to run the 6277 tests under valgrind. 6278 62792009-08-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6280 6281 * test/tiffcp-logluv.sh: Fix test so that it works with a VPATH 6282 build. 6283 6284 * test/Makefile.am (AUTOMAKE_OPTIONS): Colorized tests was not 6285 actually activated since it needed to be enabled in this 6286 Makefile.am. Also activated parallel-tests mode since it offers 6287 useful features such as per-test .log files and a summary test 6288 report .log file. 6289 62902009-08-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6291 6292 * configure.ac: Updated autotools. Autoconf 2.64, Automake 1.11, 6293 libtool 2.2.6. Enabled support for silent build rules 6294 (--enable-silent-rules or 'make V=0') and colorized tests. 6295 6296 * html/{index.html, v3.9.0.html}: Update for 3.9.0 release. 6297 62982009-06-30 Frank Warmerdam <warmerdam@pobox.com> 6299 6300 * tests/tiffcp-logluv.sh: minimal testing of sgilog compression. 6301 6302 * tools/tiffcp.c: add -c sgilog support. 6303 6304 * libtiff/tif_luv.c: correct return codes from encoderow to be 6305 1 on success instead of zero. 6306 http://bugzilla.maptools.org/show_bug.cgi?id=2069 6307 6308 * libtiff/tif_lzw.c: back out patch from #2065 and apply patch from 6309 #1085 for a better underflow fix that errors properly. 6310 http://bugzilla.maptools.org/show_bug.cgi?id=2065 6311 http://bugzilla.maptools.org/show_bug.cgi?id=1985 6312 63132009-06-26 Frank Warmerdam <warmerdam@pobox.com> 6314 6315 * libtiff/tif_strip.c: Remove an inappropriate assertion that often 6316 fails on oddly sized 12bit jpeg compressed ycbcr images. 6317 63182009-06-22 Frank Warmerdam <warmerdam@pobox.com> 6319 6320 * libtiff/tif_lzw.c: Fix buffer underflow bug. 6321 http://bugzilla.maptools.org/show_bug.cgi?id=2065 6322 63232009-06-21 Frank Warmerdam <warmerdam@pobox.com> 6324 6325 * configure.ac, libtiff/tif_jpeg.c, libtiff/tif_jpeg_12.c: add support 6326 for dual mode 8/12 bit jpeg support. 6327 63282009-06-03 Frank Warmerdam <warmerdam@pobox.com> 6329 6330 * libtiff/tif_write.c: do not override the planar configuration to be 6331 contig for one sample files if planar configuration is already set. 6332 http://bugzilla.maptools.org/show_bug.cgi?id=2057 6333 63342009-06-02 Frank Warmerdam <warmerdam@pobox.com> 6335 6336 * libtiff/libtiff.def: Add TIFFUnsetField. 6337 63382009-05-03 Frank Warmerdam <warmerdam@pobox.com> 6339 6340 * libtiff/{tif_jpeg.c,tif_ojpeg.c,tif_getimage.c}: Fixed various 6341 error reports to use "%s" as format string. 6342 http://trac.osgeo.org/gdal/ticket/2976 6343 63442009-03-12 Frank Warmerdam <warmerdam@pobox.com> 6345 6346 * libtiff/{tif_fax3.c,tif_jpeg.c,tif_ojpeg.c}: Fix printdir chaining 6347 for some codecs (#2020). 6348 63492009-02-12 Frank Warmerdam <warmerdam@pobox.com> 6350 6351 * libtiff/tif_luv.c: Fix handling of tiled logluv images. 6352 http://bugzilla.maptools.org/show_bug.cgi?id=2005 6353 63542009-02-09 Frank Warmerdam <warmerdam@pobox.com> 6355 6356 * libtiff/tif_dirread.c: Improve allocation safety when allocated 6357 buffer for large tags. (#1998) Related to (#1993) 6358 63592009-02-06 Frank Warmerdam <warmerdam@pobox.com> 6360 6361 * tools/tiffcrop.c: Don't default image->res_unit to INCH. Now the 6362 test suite should pass. 6363 63642009-02-05 Frank Warmerdam <warmerdam@pobox.com> 6365 6366 * libtiff/tif_dirread.c: Re-incorporated a sanity check on tag size, 6367 but at the 2GB boundary to avoid overflow on 32bit systems. 6368 http://bugzilla.maptools.org/show_bug.cgi?id=1993 6369 6370 * libtiff/tif_dirread.c: Remove some assertions that blow due to 6371 corrupt files rather than in response to library internal 6372 inconsistencies. 6373 http://bugzilla.maptools.org/show_bug.cgi?id=1995 6374 http://bugzilla.maptools.org/show_bug.cgi?id=1991 6375 6376 * libtiff/tif_dirread.c: Fixed testing for failed result from 6377 TIFFReadDirectoryFindFieldInfo(). 6378 http://bugzilla.maptools.org/show_bug.cgi?id=1992 6379 63802009-01-23 Frank Warmerdam <warmerdam@pobox.com> 6381 6382 * libtiff/tif_predict.c: Add support for 32bit integer horz. predictors. 6383 http://bugzilla.maptools.org/show_bug.cgi?id=1911 6384 6385 * libtiff/tif_dirwrite.c: Fix byte swapping of next directory offset. 6386 6387 http://bugzilla.maptools.org/show_bug.cgi?id=1924 6388 6389 * tools/tiffcrop.c: initialize xres/yres values. 6390 6391 * test/*.sh - default ${srcdir} to local directory. 6392 6393 * test/common.sh - start verbose mode after common settings. 6394 6395 * libtiff/tif_dirinfo.c: Replace lfind() with local equivalent to 6396 avoid type mismatches on different platforms. 6397 http://bugzilla.maptools.org/show_bug.cgi?id=1889 6398 63992009-01-22 Frank Warmerdam <warmerdam@pobox.com> 6400 6401 * tools/{fax2tiff.c,thumbnail.c,tiff2pdf.c,tiff2ps.c,tiffdump.c, 6402 tiffsplit.c}: avoid warnings, mostly 32bit/64bit casting issues. 6403 6404 * port,tools: Introduce libport.h, and include in tools if NEED_LIBPORT 6405 defined, primarily to reduce prototype warnings on windows. 6406 6407 * libtiff/tif_dirinfo.c,tif_dirread.c: Avoid warnings 6408 about unused parameters, and uninitialized variables. 6409 64102009-01-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6411 6412 * test/common.sh: Execute tests like 'make VERBOSE=TRUE check' in 6413 order to trace full execution detail while executing the test suite. 6414 64152009-01-20 Frank Warmerdam <warmerdam@pobox.com> 6416 6417 * tools/tiffsplit.c: fix sampleformat to be shortv instead of longv. 6418 64192009-01-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6420 6421 * test/Makefile.am (CLEANFILES): Make sure that test output files 6422 are removed by 'make clean' 6423 6424 * Update autotools for 4.0.0 beta3 6425 6426 * 4.0.0 beta3 produced. 6427 64282009-01-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6429 6430 * test/tiffcrop.sh: New test script for tiffcrop from Richard 6431 Nolde. 6432 6433 * tools/tiff2ps.c: Remove spurious message to stderr. 6434 64352009-01-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6436 6437 * tools/tiff2ps.c: Incorporated significant functionality update 6438 from Richard Nolde. In particular, support for rotating the image 6439 by 90, 180, 270, and 'auto' has been added. 6440 6441 * man/tiffcrop.1: Incorporated documentation updates from Richard 6442 Nolde. 6443 6444 * tools/tiffcrop.c: Incorporated significant functionality update 6445 from Richard Nolde. 6446 64472008-12-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6448 6449 * libtiff/tiffio.h: GCC will now validate format specifications 6450 for TIFFError(), TIFFErrorExt(), TIFFWarning(), and 6451 TIFFWarningExt() in order to reveal bugs. 6452 6453 * Many fixes throughout to work better as a 64-bit build. 6454 64552008-12-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6456 6457 * tools/{tiff2pdf.c, tiff2ps.c, tiffinfo.c}: Offset and length 6458 tags now require 64-bit parameter rather than 32-bit. 6459 6460 * libtiff/tif_dirread.c: Fixed issues with unaligned access to 6461 64-bit values. 6462 6463 * tools/thumbnail.c: Eliminate crash noticed while running test 6464 suite. 6465 64662008-12-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6467 6468 * libtiff/tif_ojpeg.c (OJPEGLibjpegJpegSourceMgrFillInputBuffer): 6469 Initialize stack variables to avoid compiler warning. 6470 6471 * tools/tiffinfoce.c (main): Use toff_t for offset type when 6472 retrieving offset of EXIF IFD. 6473 6474 * libtiff/tiffio.h: Undeprecate toff_t and restore its use in the 6475 TIFFClientOpen() callback and other external function definitions. 6476 6477 * tools/tiffinfo.c (main): Offset to EXIF IFD requires a 64-bit 6478 type now. Fixes crash when dumping files containing an EXIF IFD. 6479 6480 * m4/libtool.m4: Update to libtool 2.2.6. 6481 64822008-12-21 Frank Warmerdam <warmerdam@pobox.com> 6483 6484 * libtiff/tif_dir.c, tiffio.h: Introduce TIFFUnsetField() function. 6485 6486 * libtiff/tif_jpeg.c: Avoid errors if the application writes a full 6487 strip for the last partial strip in a jpeg compressed file. 6488 http://bugzilla.maptools.org/show_bug.cgi?id=1981 6489 64902008-10-29 Frank Warmerdam <warmerdam@pobox.com> 6491 6492 * libtiff/tif_flush.c: Make sure that BEENWRITING is cleared when 6493 we take the shortcut to only update the strip/tile offsets in place. 6494 http://trac.osgeo.org/gdal/ticket/2621 6495 64962008-10-21 Andrey Kiselev <dron@ak4719.spb.edu> 6497 6498 * libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 (compatibility with 6499 the older versions retained). 6500 65012008-10-09 Frank Warmerdam <warmerdam@pobox.com> 6502 6503 * libtiff/tif_jpeg.c: Add #ifdefs for changes needed if using 6504 IPP enabled version of libjpeg from Intel. 6505 http://bugzilla.maptools.org/show_bug.cgi?id=1951 6506 65072008-09-05 Andrey Kiselev <dron@ak4719.spb.edu> 6508 6509 * tools/tiffsplit.c: Use byte counts of proper size (uint64). 6510 Required for libtiff 4.0. 6511 6512 * tools/tiffsplit.c: Use dynamically allocated array instead of static 6513 when constructing output file names. 6514 65152008-09-03 Andrey Kiselev <dron@ak4719.spb.edu> 6516 6517 * tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() calls when 6518 doing the filename/path construction. 6519 6520 * tools/tiff2pdf.c: More appropriate format string in 6521 t2p_write_pdf_string(); avoid signed/unsigned mismatch. 6522 6523 * libtiff/tif_lzw.c: Properly zero out the codetable. As per bug 6524 6525 http://bugzilla.maptools.org/show_bug.cgi?id=1929 6526 6527 * libtiff/tif_lzw.c: Properly zero out the string table. Fixes 6528 CVE-2008-2327 security issue. 6529 65302008-09-01 Frank Warmerdam <warmerdam@pobox.com> 6531 6532 * libtiff/tif_dirread.c: Avoid unused TIFFReadDirEntryFloat() function. 6533 6534 * libtiff/tif_dirwrite.c: modified to write IFDs as either IFD8 or IFD 6535 depending on whether the file is bigtiff or classic tiff. 6536 http://bugzilla.maptools.org/show_bug.cgi?id=1917 6537 65382008-08-12 Edward Lam <edward@sidefx.com> 6539 6540 * tools/tiffdump.c: When compiling for Microsoft Windows, apply 6541 consistent (__int64) casting when testing if _lseeki64 has 6542 successfully sought as requested. This is necessary for large 6543 file support to work since off_t is only 32-bit. 6544 65452008-07-29 Frank Warmerdam <warmerdam@pobox.com> 6546 6547 * tif_strip.c: Replace assertions related to samplesperpixel != 3 or 6548 the subsampling values not being 1, 2 or 4 (for jpeg compressed images) 6549 with control logic to return runtime errors (c/o Even Rouault) (#1927). 6550 65512008-06-17 Frank Warmerdam <warmerdam@pobox.com> 6552 6553 * tools/tiffcrop.c: Fix some portability problems. 6554 6555 * libtiff/tif_ojpeg.c: Use same jpeg/win32 boolean/FAR hacks as are 6556 used in tif_jpeg.c. 6557 6558 * libtiff/tif_win32.c: Ensure TIFFOpenW() uses same FILE_SHARE flags 6559 as TIFFOpen(). 6560 65612008-06-01 Frank Warmerdam <warmerdam@pobox.com> 6562 6563 * libtiff/tif_dirwrite.c: Fix alignment problems affecting architectures 6564 like Sparc/Solaris. 6565 http://bugzilla.maptools.org/show_bug.cgi?id=1892 6566 65672008-05-27 Frank Warmerdam <warmerdam@pobox.com> 6568 6569 * libtiff.def: Add TIFFFindField 6570 http://bugzilla.maptools.org/show_bug.cgi?id=1891 6571 65722008-05-26 Frank Warmerdam <warmerdam@pobox.com> 6573 6574 * tif_config.*.h, tiffconf.*.h: Remove SIZEOF_LONG definition, unused. 6575 6576 * li2008-04-15 Andrey Kiselev <dron@ak4719.spb.edu> 6577 6578btiff/tif_win32.c: Replace custom Win32 memory api with generic 6579 POSIX one. No apparent value to use of GlobalAlloc() in the modern 6580 age. http://bugzilla.maptools.org/show_bug.cgi?id=1885 6581 6582 * libtiff/tiffconf.vc.h: Added JBIG_SUPPORT and MDI_SUPPORT items 6583 in windows version (care of Edward Lam). 6584 65852008-05-24 Frank Warmerdam <warmerdam@pobox.com> 6586 6587 * tif_codec.c: Avoid NULL pointer dereferencing for exotic 6588 compression codec codes. 6589 6590 * tif_dirwrite.c: fix potential memory leak. 6591 6592 * tif_dirread.c: Fix unchecked malloc result. 6593 65942008-05-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6595 6596 * test {tiff2pdf.sh tiff2ps-EPS1.sh tiff2ps-PS1.sh tiff2ps-PS2.sh 6597 tiff2ps-PS3.sh tiffcp-g3-1d-fill.sh tiffcp-g3-1d.sh 6598 tiffcp-g3-2d-fill.sh tiffcp-g3-2d.sh tiffcp-g3.sh tiffcp-g4.sh 6599 tiffcp-split-join.sh tiffcp-split.sh tiffcp-thumbnail.sh 6600 tiffdump.sh tiffinfo.sh}: Added more test scripts based on 6601 suggestions from Lee Howard posted to the tiff list on 13 Sep 6602 2007. 6603 66042008-05-23 Frank Warmerdam <warmerdam@pobox.com> 6605 6606 * libtiff/tif_fax3.c: Add an assert in an effort to detect a 6607 possible runtime problem reported by coverity. 6608 6609 * contrib/iptcutil/iptcutil.c: Fixed memory leak of str. 6610 6611 * tools/tiffcrop.c, man/tiffcrop.1: Major update from Richard Nolde. 6612 http://bugzilla.maptools.org/show_bug.cgi?id=1888 6613 6614 * tools/tiffdither.c: remove dead onestrip code. avoid memory leak. 6615 6616 * tools/rgb2ycbcr.c: fix memory leak of raster buffer. 6617 6618 * tools/tiffcp.c: Simplify inknames code to avoid pointless test. 6619 Cleanup scanline allocation to avoid coverity warning. 6620 6621 * tools/thumbnail.c: Check for TIFFOpen() failure. 6622 66232008-05-18 Frank Warmerdam <warmerdam@pobox.com> 6624 6625 * libtiff/tif_dirinfo.c: Use TIFF_SETGET_ASCII for PIXAR_TEXTUREFORMAT 6626 and PIXAR_WRAPMODES instead of TIFF_SETGET_UNDEFINED. Not exactly clear 6627 why this is needed. 6628 66292008-05-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6630 6631 * Makefile.am (ACLOCAL_AMFLAGS): Libtool 2.2.4 does not like 6632 "ACLOCAL_AMFLAGS=-I ./m4". It wants "ACLOCAL_AMFLAGS=-I m4". 6633 66342008-04-15 Andrey Kiselev <dron@ak4719.spb.edu> 6635 6636 * test/: Test suite updated. Everything is passed now. 6637 6638 * libtiff/tif_dirinfo.c: Fixed description of the 6639 TIFFTAG_NUMBEROFINKS tag. 6640 66412008-04-14 Andrey Kiselev <dron@ak4719.spb.edu> 6642 6643 * libtiff/{tif_dirread.c, tif_dirwrite.c, tiffiop.h}: 6644 Get rid of some of "dereferencing type-punned" warnings by converting 6645 tdir_offset field of TIFFDirEntry structure into union. 6646 66472008-04-10 Andrey Kiselev <dron@ak4719.spb.edu> 6648 6649 * libtiff/{tif_flush.c, tif_dirwrite.c, tiffio.h, tiffiop.h}: 6650 TIFFRewriteField() renamed into _TIFFRewriteField() and moved out 6651 from the public interface. Type of its 'count' parameter changed 6652 from uint32 to tmsize_t. 6653 6654 * /libtiff/tiffiop.h: Make tif_nfields and tif_nfieldscompat fields 6655 of the tiff structure have the size_t type instead of uint32. 6656 66572008-04-09 Andrey Kiselev <dron@ak4719.spb.edu> 6658 6659 * tools/tiffdump.c: Added support for MSVS 6.0. 6660 6661 * libtiff/tif_dirread.c: Use custom functions _TIFFUInt64ToFloat() 6662 and _TIFFUInt64ToDouble() to convert 64-bit integers into floating 6663 point values on MSVS 6.0 platform. 6664 66652008-03-14 Frank Warmerdam <warmerdam@pobox.com> 6666 6667 * tif_dirread.c: Removed sanity checks on tags larger than 4MB in 6668 TIFFReadDirEntryArray() since they are interfering with seemingly 6669 legitimate files. http://trac.osgeo.org/gdal/ticket/2005 6670 66712008-02-09 Joris Van Damme <joris.at.lebbeke@skynet.be> 6672 6673 * tif_dirread.c: Added handling for the case of number of values for 6674 PageNumber tag different from 2 (previously resulted in an assert 6675 indicating lack of handling and was forgotten about) 6676 66772008-02-01 Frank Warmerdam <warmerdam@pobox.com> 6678 6679 * libtiff/tif_jpeg.c: Do not try to fixup subsampling tags based on 6680 the actual jpeg data stream if the first strip/tile has zero size. 6681 This is the case when GDAL creates a new file with zero sizes, closes 6682 and reopens it. 6683 66842008-01-07 Frank Warmerdam <warmerdam@pobox.com> 6685 6686 * tools/tiff2ps.c: fix up 64bit issues (from Edward Lam). 6687 66882008-01-01 Frank Warmerdam <warmerdam@pobox.com> 6689 6690 * libtiff/tif_dirwrite.c: #ifdef out lots of unused functions. 6691 6692 * Makefile.vc, libtiff/Makefile.vc, tools/Makefile.vc: Improve clean 6693 targets. 6694 6695 * tools/tiffinfo.c, tools/tiffcmp.c, tools/gif2tiff.c, tools/bmp2tiff.c 6696 tools/tiff2pdf.c: Fix 64-bit warnings when compiling under MSVC 2005 6697 (x64). 6698 6699 * tools/tiffset.c: Changes to reflect the fact that TIFFFieldWithTag() 6700 and TIFFFieldWithName() now return TIFFField pointers instead of 6701 TIFFFieldInfo pointers. 6702 6703 * tools/tiffdump.c: Added ssize_t typedef on Windows since it doesn't 6704 exist. This makes it compile again on Windows 6705 6706 * tif_aux.c, tif_getimage.c, tif_next.c, tif_predict.c, tif_win32.c, 6707 tiffconf.vc.h: Various 64bit fixes from Edward Lam identified on win64. 6708 6709 * test/rewrite_tag.c: New test for TIFFRewriteField(). 6710 67112007-12-31 Frank Warmerdam <warmerdam@pobox.com> 6712 6713 * tif_dirwrite.c: Added TIFFRewriteField(). This new function 6714 rewrites one field "on disk" updating an existing directory 6715 entry. Lots of limitations still... 6716 6717 * tiffiop.h, tif_write.c, tif_dirread.c, tif_flush.c: Keep track of 6718 TIFF_DIRTYSTRIP separately from TIFF_DIRTYDIRECT to indicate that 6719 the strip offset/size values are dirty but nothing else about the 6720 directory is dirty. In flush handle "just stripmaps dirty" as a 6721 special case that just rewrites these values without otherwise 6722 modifying the directory on disk using TIFFRewriteField(). 6723 6724 We also modify logic so that in update mode the directory is not 6725 marked dirty on read, but only when something is changed. This 6726 means we need to keep track of updates to the stripmap stuff in 6727 TIFFAppendToStrip(). 6728 67292007-12-10 Frank Warmerdam <warmerdam@pobox.com> 6730 6731 * tif_jpeg.c: Improve ability to switch between encoding and decoding 6732 in the jpeg code (gdal bug #2033). 6733 67342007-11-23 Frank Warmerdam <warmerdam@pobox.com> 6735 6736 * tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_read.c, tif_write.c, 6737 tiffiop.h: Added TIFF_BUF4WRITE flag to indicate if contents of the 6738 rawcp/rawcc buffer are for writing and thus may require flushing. 6739 Necessary to distinguish whether they need to be written to disk when 6740 in mixed read/write mode and doing a mixture of writing followed by 6741 reading. http://trac.osgeo.org/gdal/ticket/1758 6742 67432007-11-23 Andrey Kiselev <dron@ak4719.spb.edu> 6744 6745 * configure.com, libtiff/tif_vms.c: Better OpenVMS support. Patches 6746 from Alexey Chupahin. 6747 67482007-11-02 Frank Warmerdam <warmerdam@pobox.com> 6749 6750 * tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for 6751 establishing if an existing tile can be rewritten to the same location 6752 by comparing the current size to all the other blocks in the same 6753 directory. This is dangerous in many situations and can easily 6754 corrupt a file. (observed in esoteric GDAL situation that's hard to 6755 document). This change involves leaving the stripbytecount[] values 6756 unaltered till TIFFAppendToStrip(). Now we only write a block back 6757 to the same location it used to be at if the new data is the same 6758 size or smaller - otherwise we move it to the end of file. 6759 6760 * tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile 6761 data when writing the directory just because we have BEENWRITING at 6762 some point in the past. This was causing odd junk to be written out 6763 in a tile of data when a single tile had an interleaving of reading 6764 and writing with reading last. (highlighted by gdal 6765 autotest/gcore/tif_write.py test 7. 6766 6767 * tif_predict.c: use working buffer in PredictorEncodeTile to avoid 6768 modifying callers buffer. 6769 http://trac.osgeo.org/gdal/ticket/1965 6770 6771 * tif_predict.c/h: more fixes related to last item, keeping a 6772 distinct pfunc for encode and decode cases as these were getting 6773 mixed up sometimes. 6774 http://trac.osgeo.org/gdal/ticket/1948 6775 67762007-11-01 Frank Warmerdam <warmerdam@pobox.com> 6777 6778 * tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that 6779 predictor based encoding and decoding works in read-write update 6780 mode properly. 6781 http://trac.osgeo.org/gdal/ticket/1948 6782 67832007-10-24 Joris Van Damme <joris.at.lebbeke@skynet.be> 6784 6785 * tif_dirread.c: Fixed problem with bogus file triggering 6786 assert(td->td_planarconfig == PLANARCONFIG_CONTIG) in 6787 ChopUpSingleUncompressedStrip 6788 67892007-10-22 Joris Van Damme <joris.at.lebbeke@skynet.be> 6790 6791 * tif_jpeg.c: Resolved buffer incrementation bug that lead to faulty images 6792 at best, access violation at worst, when subsampled JPEG compressed imagery 6793 is decoded without the JPEG_COLORMODE feature 6794 67952007-10-11 Frank Warmerdam <warmerdam@pobox.com> 6796 6797 * html/index.html: Update "people responsible" section. 6798 67992007-10-05 Frank Warmerdam <warmerdam@pobox.com> 6800 6801 * tools/tiff2pdf.c: Fix problem with alpha setting in some cases 6802 as reported on the mailing list. 6803 68042007-10-01 Joris Van Damme <joris.at.lebbeke@skynet.be> 6805 6806 * changed some more incorrect %lud printf flags to %lu 6807 68082007-09-29 Joris Van Damme <joris.at.lebbeke@skynet.be> 6809 6810 * tif_dirread.c: Strip chopping interfered badly with uncompressed 6811 subsampled images because it tried to divide subsampled rowblocks, 6812 leading to all sorts of errors throughout the library for these 6813 images. Fixed by making strip chopping divide in row counts that 6814 are a multiple of vertical subsampling value. 6815 68162007-09-28 Joris Van Damme <joris.at.lebbeke@skynet.be> 6817 6818 * tif_dirread.c: Logical cast working around compiler warning 6819 6820 * tif_read.c: Correction of some error flags and parameter lists 6821 68222007-09-27 Joris Van Damme <joris.at.lebbeke@skynet.be> 6823 6824 * tif_dirread.c: Made calculation of td_maxsamplevalue more robust 6825 when dealing with large bitspersample values, shutting up purification 6826 tools that warn about truncation, though it remains incorrect and 6827 indicates a conceptual problem there. 6828 6829 * tif_open.c: Moved early exit in case of 'h' flag (to disable reading 6830 of first IFD) to proper place because it badly interfered with memory 6831 mapping, resulting in mapping flag even with dummy mapping functions 6832 that returned 0 whilst at the same time the mapping tif_size wasn't 6833 set, thus resulting in continuous incorrect beyond-eof errors. 6834 68352007-09-24 Joris Van Damme <joris.at.lebbeke@skynet.be> 6836 6837 * tif_dirinfo.c: Fixed (MSVC) compiler reports about 6838 inconsistent use of const in tiffFields and exifFields definition 6839 68402007-09-20 Frank Warmerdam <warmerdam@pobox.com> 6841 6842 * tif_dirwrite.c: Always write tile/strip offsets and sizes 6843 using LONG8 type when output format is BigTIFF. The 6844 TIFFWriteDirectoryTagLongLong8Array() function was restructured 6845 accordingly. 6846 6847 * tif_dirread.c: Improvements to error reporting text in 6848 TIFFFetchDirectory(). 6849 68502007-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6851 6852 * test/images: Added a small collection of test images for use by 6853 test programs and scripts. 6854 * test/tiffinfo.sh: A trivial example test script. 6855 * test/common.sh: Added small script for setting the environment 6856 used by script-based tests. 6857 68582007-08-24 Frank Warmerdam <warmerdam@pobox.com> 6859 6860 * tif_dirwrite.c: Write the tif_nextdiroff value instead of a fixed 6861 zero when writing directory contents to preserve the ability to 6862 rewrite directories in place, even in the middle of a directory 6863 chain. 6864 6865 * tif_dirinfo.c: _TIFFMergeFields() now only merges in field 6866 definitions that are missing. Existing definitions are silently 6867 ignored. 6868 6869 * tif_dirread.c: Add runtime error for fields for which no definition 6870 is found (in addition to an assert for developers) in 6871 TIFFFetchNormalTag(). Not sure if this is needed, but it seems 6872 prudent. 6873 68742007-08-10 Joris Van Damme <joris.at.lebbeke@skynet.be> 6875 6876 * libtiff/tif_getimage.c: removed SubsamplingHor and SubsamplingVer 6877 from _TIFFRGBAImage structure to revert unwanted ABI change. 6878 68792007-08-10 Joris Van Damme <joris.at.lebbeke@skynet.be> 6880 6881 * libtiff/tif_win32.c: use SetFilePointer instead of 6882 SetFilePointerEx, as per bug 6883 6884 http://bugzilla.remotesensing.org/show_bug.cgi?id=1580 6885 68862007-07-19 Andrey Kiselev <dron@ak4719.spb.edu> 6887 6888 * libtiff/tif_stream.cxx: Put all callback functions declarations 6889 inside extern "C" block. 6890 6891 * libtiff/{tif_lzw.c, tif_luv.c, tif_dumpmode.c, tif_print.c, 6892 tif_read.c, tif_strip.c, tif_thunder.c}: Use "%I64d" printf() 6893 formatter instead of "%lld" with MSVC compiler. 6894 6895 * libtiff/{tiffiop.h, tif_aux.c}: Added _TIFFUInt64ToFloat() and 6896 _TIFFUInt64ToDouble() functions. 6897 68982007-07-18 Andrey Kiselev <dron@ak4719.spb.edu> 6899 6900 * libtiff/tif_dirread.c: Handle the case of MSVC 6 when using 64-bit 6901 integer constants. 6902 6903 * libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h, 6904 remove tif_config.h/tiffconf.h during cleaning. As per bug 6905 6906 http://bugzilla.remotesensing.org/show_bug.cgi?id=1573 6907 6908 * libtiff/tif_unix.c: Do not use O_LARGEFILE. As per bug 6909 6910 http://bugzilla.remotesensing.org/show_bug.cgi?id=1577 6911 69122007-07-13 Andrey Kiselev <dron@ak4719.spb.edu> 6913 6914 * libtiff 4.0.0alpha released. 6915 69162007-07-12 Andrey Kiselev <dron@ak4719.spb.edu> 6917 6918 * tools/tiff2pdf.c: Added missed extern optind as per bug 6919 6920 http://bugzilla.remotesensing.org/show_bug.cgi?id=1567 6921 6922 * libtiff/{tif_close.c, tif_dirinfo.c, tiffiop.c, tif_dirread.c, 6923 tif_dir.h, tif_dir.c, tiffio.h}: Transition to the new-style tag 6924 extending scheme completed. 6925 69262007-07-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6927 6928 * libtiff/tif_stream.cxx: Adapt to use toff_t again. Update to 6929 use standard C++ library size types and attempt to detect overflow 6930 cases. 6931 69322007-07-08 Andrey Kiselev <dron@ak4719.spb.edu> 6933 6934 * libtiff/{tif_jpeg.c, tif_dir.h, tif_dir.c, tif_dirinfo.c, tiffio.h, 6935 tif_ojpeg.c, tif_print.c, tif_fax3.c, tif_dirread.c}: More work on new 6936 tag extending scheme. Use the new scheme everywhere. 6937 6938 * libtiff/{tif_zip.c, tif_predict.c, tif_pixarlog.c, tif_luv.c, 6939 tif_fax3.c, tif_dirread.c, tif_dirwrite.c, tif_close.c, tif_ojpeg.c, 6940 tif_jpeg.c, tif_dirinfo.c, tif_dir.h, tiffio.h, tiffiop.h}: 6941 TIFFFIeldInfo structure replaced with TIFFField structure. 6942 TIFFFieldInfo retained for the backward compatibility. 6943 69442007-07-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6945 6946 * tools/tiff2pdf.c: Fix a compile problem when JPEG_SUPPORT is not 6947 defined. 6948 69492007-07-04 Andrey Kiselev <dron@ak4719.spb.edu> 6950 6951 * libtiff/{tif_dir.c, tiff.h, tiffio.h, libtiff.def}: Unused 6952 TIFFReassignTagToIgnore() function and TIFFIgnoreSense enumeration 6953 removed. 6954 6955 * libtiff/{tif_dirinfo.c, tif_fax3.c, tif_jbig.c, tif_jpeg.c}: Move 6956 tags TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS, 6957 TIFFTAG_FAXRECVTIME and TIFFTAG_FAXDCS to the common tag directory. 6958 These tags are not codec-specific and relate to image content, so 6959 process them as other normal tags. 6960 6961 * libtiff/{tiffio.h, tif_dir.h}: TIFFTagValue structure moved from the 6962 public tiffio.h to private tif_dir.h. 6963 6964 * contrib/{acorn, mac-cw, mac-mpw}: Removed as unmaintained and 6965 outdated. 6966 69672007-07-03 Andrey Kiselev <dron@ak4719.spb.edu> 6968 6969 * libtiff{tif_acorn.c, tif_apple.c, tif_atari.c, tif_msdos.c, 6970 tif_win3.c}: Obsoleted portability stuff removed. 6971 6972 * tools/tiff2ps.c: Added support 16-bit images as per bug 6973 6974 http://bugzilla.remotesensing.org/show_bug.cgi?id=1566 6975 6976 Patch from William Bader. 6977 6978 * tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and 6979 significant upgrade of the whole utility as per bug 6980 6981 http://bugzilla.remotesensing.org/show_bug.cgi?id=1560 6982 6983 Now we don't need tiffiop.h in tiff2pdf anymore and will open output 6984 PDF file using TIFFClientOpen() machinery as it is implemented 6985 by Leon Bottou. 6986 69872007-06-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6988 6989 * configure.ac: Fix typo when substituting value for unsigned 8 bit type. 6990 Added support for a TIFF_PTRDIFF_T type to use when doing pointer arithmetic. 6991 Added support for a TIFF_SSIZE_T in order to return memory sizes but still 6992 allow returning -1 for errors. 6993 * libtiff/tiffconf.vc.h: Add porting type defintions for WIN32. 6994 69952007-06-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 6996 6997 * port/strtoull.c: New porting function in case strtoull() is not 6998 available on the target system. 6999 * configure.ac: Add configure support for determining sized types 7000 in a portable way and performing necessary substitutions in 7001 tif_config.h and tiffconf.h. Updated tiff.h to use the new 7002 definitions. 7003 70042007-04-27 Andrey Kiselev <dron@ak4719.spb.edu> 7005 7006 * tools/tiff2pdf.c: Check the tmpfile() return status as per bug 7007 7008 http://bugzilla.remotesensing.org/show_bug.cgi?id=154 7009 70102007-04-07 Andrey Kiselev <dron@ak4719.spb.edu> 7011 7012 * libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c, 7013 tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c, 7014 tif_predict.c, tif_zip.c}: Finally fix bug 7015 7016 http://bugzilla.remotesensing.org/show_bug.cgi?id=1274 7017 7018 by introducing _TIFFMergeFieldInfo() returning integer error status 7019 instead of void in case of problems with field merging (e.g., if the 7020 field with such a tag already registered). TIFFMergeFieldInfo() in 7021 public API remains void. Use _TIFFMergeFieldInfo() everywhere and 7022 check returned value. 7023 70242007-04-07 Frank Warmerdam <warmerdam@pobox.com> 7025 7026 * contrib/addtiffo/tif_overview.c: Fix problems with odd sized output 7027 blocks in TIFF_DownSample_Subsampled() (bug 1542). 7028 70292007-04-06 Frank Warmerdam <warmerdam@pobox.com> 7030 7031 * libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it 7032 will convert from decompressor to compressor or compress to decompress 7033 if required by the force arguments. This works around a problem in 7034 where the JPEGFixupTestSubsampling() may cause a decompressor to 7035 be setup on a directory when later a compressor is required with the 7036 force flag set. Occurs with the addtiffo program for instance. 7037 70382007-04-06 Andrey Kiselev <dron@ak4719.spb.edu> 7039 7040 * tools/tiffcrop.c, man/tiffcrop.1: Significant update in 7041 functionality from Richard Nolde. As per bug 7042 7043 http://bugzilla.remotesensing.org/show_bug.cgi?id=1525 7044 70452007-03-28 Frank Warmerdam <warmerdam@pobox.com> 7046 7047 * libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC. 7048 70492007-03-17 Joris Van Damme <joris.at.lebbeke@skynet.be> 7050 7051 * start of BigTIFF upgrade - CVS HEAD unstable until further notice 7052 70532007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be> 7054 7055 * libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading 7056 OJPEG images with rowsperstrip that is not a multiple of vertical subsampling 7057 factor. This bug is mentioned in: 7058 http://bugzilla.remotesensing.org/show_bug.cgi?id=1390 7059 http://www.asmail.be/msg0054766825.html 7060 70612007-03-07 Joris Van Damme <joris.at.lebbeke@skynet.be> 7062 7063 * libtiff/tif_win32.c: made inclusion of windows.h unconditional 7064 7065 * libtiff/tif_win32.c: replaced preprocessor indication for consiously 7066 unused arguments by standard C indication for the same 7067 70682007-02-27 Andrey Kiselev <dron@ak4719.spb.edu> 7069 7070 * libtiff/tif_dirread.c: Use uint32 type instead of tsize_t in byte 7071 counters in TIFFFetchData(). Should finally fix the issue 7072 7073 http://bugzilla.remotesensing.org/show_bug.cgi?id=890 7074 70752007-02-24 Andrey Kiselev <dron@ak4719.spb.edu> 7076 7077 * tools/tiffset.c: Properly handle tags with TIFF_VARIABLE writecount. 7078 As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350 7079 7080 * libtiff/tif_dirread.c: Added special function to handle 7081 SubjectDistance EXIF tag as per bug 7082 7083 http://bugzilla.remotesensing.org/show_bug.cgi?id=1362 7084 7085 * tools/tiff2pdf.c: Do not assume inches when the resolution units 7086 do not specified. As per bug 7087 7088 http://bugzilla.remotesensing.org/show_bug.cgi?id=1366 7089 7090 * tools/{tiffcp.c, tiffcrop.c}: Do not change RowsPerStrip value if 7091 it was set as infinite. As per bug 7092 7093 http://bugzilla.remotesensing.org/show_bug.cgi?id=1368 7094 7095 * tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop utility contributed 7096 by Richard Nolde. As per bug 7097 7098 http://bugzilla.remotesensing.org/show_bug.cgi?id=1383 7099 71002007-02-22 Andrey Kiselev <dron@ak4719.spb.edu> 7101 7102 * libtiff/tif_dir.c: Workaround for incorrect TIFFs with 7103 ExtraSamples == 999 produced by Corel Draw. As per bug 7104 7105 http://bugzilla.remotesensing.org/show_bug.cgi?id=1490 7106 7107 * libtiff/{tif_dirread.c, tif_read.c}: Type of the byte counters 7108 changed from tsize_t to uint32 to be able to work with data arrays 7109 larger than 2GB. Fixes bug 7110 7111 http://bugzilla.remotesensing.org/show_bug.cgi?id=890 7112 7113 Idea submitted by Matt Hancher. 7114 71152007-01-31 Andrey Kiselev <dron@ak4719.spb.edu> 7116 7117 * tools/tif2rgba.c: This utility does not work properly on big-endian 7118 architectures. It was fixed including the bug 7119 7120 http://bugzilla.remotesensing.org/show_bug.cgi?id=1149 7121 71222007-01-15 Mateusz Loskot <mateusz@loskot.net> 7123 7124 * Submitted libtiff port for Windows CE platform 7125 * libtiff/tif_config.wince.h: Added configuration header for WinCE. 7126 * libtiff/tiffconf.wince.h: Ported old configuration header for WinCE. 7127 * libtiff/tif_wince.c: Added WinCE-specific implementation of some 7128 functons from tif_win32.c. 7129 * libtiff/tif_win32.c: Disabled some functions already reimplemented in tif_wince.c. 7130 * libtiff/tiffiop.h, port/lfind.c: Added conditional include of some 7131 standard header files for Windows CE build. 7132 * tools/tiffinfoce.c: Ported tiffinfo utility for Windows CE. 7133 71342006-11-19 Frank Warmerdam <warmerdam@pobox.com> 7135 7136 * libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if 7137 we move a strip. 7138 http://bugzilla.remotesensing.org/show_bug.cgi?id=1359 7139 71402006-10-13 Andrey Kiselev <dron@ak4719.spb.edu> 7141 7142 * libtiff/tif_dir.c: More fixes for vulnerabilities, reported 7143 in Gentoo bug (): 7144 7145 http://bugs.gentoo.org/show_bug.cgi?id=142383 7146 7147 * libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable. 7148 Though it is still far from the state of being working and useful. 7149 71502006-10-12 Andrey Kiselev <dron@ak4719.spb.edu> 7151 7152 * libtiff/tif_fax3.c: Save the state of printdir codec dependent 7153 method. 7154 7155 * libtiff/tif_jpeg.c: Save the state of printdir codec dependent method 7156 as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273 7157 7158 * libtiff/tif_win32.c: Fixed problem with offset value manipulation 7159 as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1322 7160 7161 * libtiff/{tif_read.c, tif_jpeg.c, tif_dir.c}: More fixes for 7162 vulnerabilities, reported in Gentoo bug (): 7163 7164 http://bugs.gentoo.org/show_bug.cgi?id=142383 7165 71662006-09-28 Andrey Kiselev <dron@ak4719.spb.edu> 7167 7168 * libtiff/{tif_fax3.c, tif_next.c, tif_pixarlog.c}: Fixed multiple 7169 vulnerabilities, as per Gentoo bug (): 7170 7171 http://bugs.gentoo.org/show_bug.cgi?id=142383 7172 71732006-09-27 Frank Warmerdam <warmerdam@pobox.com> 7174 7175 * libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing 7176 encoding and decoding on the same read-write TIFF handle. The LZW 7177 code can now maintain encode and decode state at the same time. The 7178 ZIP code will switch back and forth as needed. 7179 http://bugzilla.remotesensing.org/show_bug.cgi?id=757 7180 71812006-09-20 Frank Warmerdam <warmerdam@pobox.com> 7182 7183 * libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and 7184 tif_config.vc.h for easier identification by folks using an IDE. 7185 71862006-07-25 Frank Warmerdam <warmerdam@pobox.com> 7187 7188 * tif_msdos.c: Avoid handle leak for failed opens. c/o Thierry Pierron 7189 71902006-07-19 Frank Warmerdam <warmerdam@pobox.com> 7191 7192 * tif_dirwrite.c: take care not to flush out buffer of strip/tile 7193 data in _TIFFWriteDirectory if TIFF_BEENWRITING not set. Relates 7194 to bug report by Peng Gao with black strip at bottom of images. 7195 71962006-07-12 Frank Warmerdam <warmerdam@pobox.com> 7197 7198 * tif_dirwrite.c: make sure to use uint32 for wordcount in 7199 TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields. 7200 It already seems to have been done for other field types. Needed 7201 for "tiffset" on files with geotiff ascii text. 7202 72032006-07-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7204 7205 * {configure.ac, libtiff/tif_config.h.vc, libtiff/tif_jbig.c} 7206 (JBIGDecode): jbg_newlen is not available in older JBIG-KIT and 7207 its use does not appear to be required, so use it only when it is 7208 available. 7209 72102006-06-24 Andrey Kiselev <dron@ak4719.spb.edu> 7211 7212 * libtiff/tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961). 7213 7214 * libtiff/tif_dirread.c: Move IFD fetching code in the separate 7215 function TIFFFetchDirectory() avoiding code duplication in 7216 TIFFReadDirectory() and TIFFReadCustomDirectory(). 7217 72182006-06-19 Frank Warmerdam <warmerdam@pobox.com> 7219 7220 * tools/tiff2pdf.c: Fix handling of -q values. 7221 http://bugzilla.remotesensing.org/show_bug.cgi?id=587 7222 72232006-06-17 Frank Warmerdam <warmerdam@pobox.com> 7224 7225 * tif_readdir.c: Added case in EstimateStripByteCounts() for tiled 7226 files. Modified TIFFReadDirectory() to not invoke 7227 EstimateStripByteCounts() for case where entry 0 and 1 are unequal 7228 but one of them is zero. 7229 http://bugzilla.remotesensing.org/show_bug.cgi?id=1204 7230 72312006-06-08 Andrey Kiselev <dron@ak4719.spb.edu> 7232 7233 * libtiff/{tif_open.c, tif_dirread.c, tiffiop.h}: Move IFD looping 7234 checking code in the separate function TIFFCheckDirOffset(). 7235 7236 * libtiff/tif_aux.c: Added _TIFFCheckRealloc() function. 7237 7238 * tools/tiffcmp.c: Fixed floating point comparison logic as per bug 7239 7240 http://bugzilla.remotesensing.org/show_bug.cgi?id=1191 7241 7242 * libtiff/tif_fax3.c: Fixed problems in fax decoder as per bug 7243 7244 http://bugzilla.remotesensing.org/show_bug.cgi?id=1194 7245 7246 * tools/tiff2pdf.c: Fixed buffer overflow condition in 7247 t2p_write_pdf_string() as per bug 7248 7249 http://bugzilla.remotesensing.org/show_bug.cgi?id=1196 7250 72512006-06-07 Andrey Kiselev <dron@ak4719.spb.edu> 7252 7253 * {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added 7254 support for JBIG compression scheme (34661 code) contributed by Lee 7255 Howard. As per bug 7256 7257 http://bugzilla.remotesensing.org/show_bug.cgi?id=896 7258 7259 * configure, configure.ac: OJPEG support enabled by default. 7260 7261 * contrib/ojpeg/: Removed. New OJPEG support does not need this patch. 7262 72632006-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7264 7265 * libtiff/{tif_dirinfo.c, tif_print.c} : Fix crash in 7266 TIFFPrintDirectory(). Joris Van Damme authored the fix. 7267 72682006-04-21 Andrey Kiselev <dron@ak4719.spb.edu> 7269 7270 * tools/tiff2pdf.c: Unified line ending characters (always use '\n') 7271 as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1163 7272 7273 * README.vms, Makefile.am, configure.com, libtiff/{Makefile.am, 7274 tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}: 7275 Added support for OpenVMS by Alexey Chupahin, elvis_75@mail.ru. 7276 72772006-04-20 Andrey Kiselev <dron@ak4719.spb.edu> 7278 7279 * tools/{fax2ps.c, fax2tiff.c, ppm2tiff.c, ras2tiff.c, tiff2pdf.c}: 7280 Properly set the binary mode for stdin stream as per bug 7281 http://bugzilla.remotesensing.org/show_bug.cgi?id=1141 7282 7283 * man/{bmp2tiff.1, fax2ps.1, fax2tiff.1, gif2tiff.1, ras2tiff.1, 7284 raw2tiff.1, rgb2ycbcr.1, sgi2tiff.1, tiff2bw.1, tiff2pdf.1, tiff2ps.1, 7285 tiff2rgba.1, tiffcmp.1, tiffcp.1, tiffdither.1, tiffdump.1, tiffgt.1, 7286 tiffset.1}: Improvements in page formatting as per bug 7287 http://bugzilla.remotesensing.org/show_bug.cgi?id=1140 7288 7289 * html/tools.html, html/man/Makefile.am, tools/tiff2pdf.c: Fixed 7290 typos as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1139 7291 72922006-04-18 Frank Warmerdam <warmerdam@pobox.com> 7293 7294 * nmake.opt: use /EHsc for VS2005 compatibility. Also define 7295 _CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. 7296 72972006-04-12 Joris Van Damme <joris.at.lebbeke@skynet.be> 7298 7299 * libtiff/tif_getimage.c: Added support for planarconfig separate 7300 non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1]) 7301 73022006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be> 7303 7304 * libtiff/tif_getimage.c: Revision of all RGB(A) put routines 7305 - Conversion of unassociated alpha to associated alpha now done with 7306 more performant LUT, and calculation more correct 7307 - Conversion of 16bit data to 8bit data now done with 7308 more performant LUT, and calculation more correct 7309 - Bugfix of handling of 16bit RGB with unassociated alpha 7310 73112006-04-11 Joris Van Damme <joris.at.lebbeke@skynet.be> 7312 7313 * libtiff/tif_getimage.c: 7314 - When there is no alpha, gtTileSeparate and gtStripSeparate allocated 7315 buffer for alpha strile and filled it, only to never read it back. 7316 Removed allocation and fill. 7317 - Minor rename of vars in gtTileSeparate and gtStripSeparate 7318 anticipating planned functionality extension 7319 73202006-04-08 Joris Van Damme <joris.at.lebbeke@skynet.be> 7321 7322 * libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase 7323 and pickTileSeparateCase to PickSeparateCase as both work on strips as 7324 well 7325 7326 * libtiff/tif_getimage.c: moved img->get selection from 7327 TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create 7328 logical hook for planned functionality extension 7329 73302006-04-08 Joris Van Damme <joris.at.lebbeke@skynet.be> 7331 7332 * libtiff/tif_ojpeg.c: resolved memory leak that was a consequence 7333 of inappropriate use of jpeg_abort instead of jpeg_destroy 7334 73352006-04-07 Joris Van Damme <joris.at.lebbeke@skynet.be> 7336 7337 * libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in 7338 gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour 7339 on subsampled images - this ought to get sorted when we feel brave 7340 enough to replace TIFFScanlineSize altogether 7341 7342 * libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip 7343 73442006-04-04 Joris Van Damme <joris.at.lebbeke@skynet.be> 7345 7346 * libtiff/tiffio.h: added new type tstrile_t 7347 7348 * libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips 7349 to new tstrile_t, types of td_stripoffset and td_stripbytecount to 7350 toff_t* 7351 7352 * libtiff/tif_ojpeg.c: totally new implementation 7353 7354 * libtiff/tif_dirread.c: added several hacks to suit new support of 7355 OJPEG 7356 7357 * libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling 7358 of OJPEG images in favor of tif_getimage.c native handling of 7359 YCbCr and desubsampling 7360 73612006-03-29 Frank Warmerdam <warmerdam@pobox.com> 7362 7363 * libtiff/tif_jpeg.c: JPEGVSetField() so that altering the photometric 7364 interpretation causes the "upsampled" flag to be recomputed. Fixes 7365 peculiar bug where photometric flag had to be set before jpegcolormode 7366 flag. 7367 73682006-03-25 Joris Van Damme <joris.at.lebbeke@skynet.be> 7369 7370 * libtiff/tif_jpeg.c: strip size related bugfix in encode raw 7371 7372 * libtiff/tif_strip.c: temporarilly added two new versions of 7373 TIFFScanlineSize 7374 - TIFFNewScanlineSize: proposed new version, after all related 7375 issues and side-effects are sorted out 7376 - TIFFOldScanlineSize: old version, from prior to 2006-03-21 change 7377 This needs further sorting out. 7378 73792006-03-25 Joris Van Damme <joris.at.lebbeke@skynet.be> 7380 7381 * contrib/addtiffo/tif_ovrcache.c: bugfix to correctly pass size 7382 of last truncated strip data to TIFFWriteEncodedStrip 7383 73842006-03-25 Joris Van Damme <joris.at.lebbeke@skynet.be> 7385 7386 * libtiff/{tif_jpeg.c, tif_strip.c}: bugfix of tif_jpeg decode raw 7387 73882006-03-25 Joris Van Damme <joris.at.lebbeke@skynet.be> 7389 7390 * libtiff/tif_getimage.c: bugfix/rewrite of putcontig8bitYCbCr22tile 7391 7392 * libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile 7393 7394 * libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to 7395 prepare the path for new tif_ojpeg.c 7396 73972006-03-23 Andrey Kiselev <dron@ak4719.spb.edu> 7398 7399 * libtiff 3.8.2 released. 7400 7401 * tools/Makefile.am: Use runtime paths linker flags when rpath 7402 option enabled. 7403 74042006-03-21 Andrey Kiselev <dron@ak4719.spb.edu> 7405 7406 * libtiff/libtiff.def: Added missed exports as per bug 7407 http://bugzilla.remotesensing.org/attachment.cgi?id=337 7408 7409 * contrib/addtiffo/Makefile.vc, libtiff/Makefile.vc, port/Makefile.vc, 7410 tools/Makefile.vc: Makefiles improvements as per bug 7411 http://bugzilla.remotesensing.org/show_bug.cgi?id=1128 7412 7413 * nmake.opt libtiff/{tif_config.h.vc, tif_unix.c, tiffio.h}, 7414 tools/{fax2ps.c, fax2tiff.c, tiff2pdf.c}: Fixed win32 I/O functions 7415 usage as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1127 7416 7417 * libtiff/tif_strip.c: Take subsampling in account when calculating 7418 TIFFScanlineSize(). 7419 7420 * tools/tiffcp.c: Do not set RowsPerStrip bigger than image length. 7421 74222006-03-17 Andrey Kiselev <dron@ak4719.spb.edu> 7423 7424 * tools/fax2tiff.c: Fixed wrong TIFFerror() invocations as per bug 7425 http://bugzilla.remotesensing.org/show_bug.cgi?id=1125 7426 7427 * tools/fax2ps.c: Fixed reading the input stream from stdin as per bug 7428 http://bugzilla.remotesensing.org/show_bug.cgi?id=1124 7429 74302006-03-16 Andrey Kiselev <dron@ak4719.spb.edu> 7431 7432 * libtiff/tiffiop.h: Added decalration for 7433 _TIFFSetDefaultCompressionState(). 7434 7435 * libtiff/{tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c, 7436 tif_lzw.c, tif_luv.c}: Use _TIFFSetDefaultCompressionState() in all 7437 codec cleanup methods. As per bug 7438 7439 http://bugzilla.remotesensing.org/show_bug.cgi?id=1120 7440 74412006-03-15 Andrey Kiselev <dron@ak4719.spb.edu> 7442 7443 * libtiff/tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As 7444 per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1119 7445 7446 * tools/raw2tiff.c: Do not set RowsPerStrip larger than ImageLength. 7447 As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1110 7448 7449 * libtiff/tiffiop.h: dblparam_t typedef removed; GLOBALDATA macro 7450 removed; move here the STRIP_SIZE_DEFAULT macro definition. 7451 7452 * libtiff/{tif_dirread.c, tif_strip.c}: Removed STRIP_SIZE_DEFAULT 7453 macro definition. 7454 7455 * libtiff/tif_dir.c: Use double type instead of dblparam_t. 7456 74572006-03-14 Andrey Kiselev <dron@ak4719.spb.edu> 7458 7459 * libtiff/tif_dirread.c: Do not check the PlanarConfig tag presence 7460 in TIFFReadDirectory, because it is always set at the start of 7461 function and we allow TIFFs without that tag set. 7462 74632005-03-13 Andrey Kiselev <dron@ak4719.spb.edu> 7464 7465 * libtiff 3.8.1 released. 7466 74672006-03-07 Andrey Kiselev <dron@ak4719.spb.edu> 7468 7469 * libtiff/tif_dirread.c: Fixed error reporting in TIFFFetchAnyArray() 7470 function as per bug 7471 http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 7472 7473 * libtiff/tif_dirread.c: More wise check for integer overflow 7474 condition as per bug 7475 http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 7476 7477 * libtiff/{tif_jpeg.c, tif_pixarlog.c, tif_fax3.c, tif_zip.c}: 7478 Properly restore setfield/getfield methods in cleanup functions. As 7479 per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 7480 74812006-03-03 Andrey Kiselev <dron@ak4719.spb.edu> 7482 7483 * libtiff/{tif_predict.c, tif_predict.h}: Added new function 7484 TIFFPredictorCleanup() to restore parent decode/encode/field methods. 7485 7486 * libtiff/{tif_lzw.c, tif_pixarlog.c, tif_zip.c}: Use 7487 TIFFPredictorCleanup() in codec cleanup methods. As per bug 7488 7489 http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 7490 7491 * libtiff/tif_dirread.c: Fixed integer overflow condition in 7492 TIFFFetchData() function. As per bug 7493 7494 http://bugzilla.remotesensing.org/show_bug.cgi?id=1102 7495 74962006-03-01 Andrey Kiselev <dron@ak4719.spb.edu> 7497 7498 * libtiff/tif_ojpeg.c: Set the ReferenceBlackWhite with the 7499 TIFFSetField() method, not directly. As per bug 7500 7501 http://bugzilla.remotesensing.org/show_bug.cgi?id=1043 7502 7503 * tools/ppm2tiff.c: Added support for PBM files as per bug 7504 http://bugzilla.remotesensing.org/show_bug.cgi?id=1044 7505 75062006-02-27 Andrey Kiselev <dron@ak4719.spb.edu> 7507 7508 * libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline() 7509 to avoid crash as per bug 7510 7511 http://bugzilla.remotesensing.org/show_bug.cgi?id=1081. 7512 75132006-02-26 Andrey Kiselev <dron@ak4719.spb.edu> 7514 7515 * tools/tiff2pdf.c: Functions t2p_sample_rgbaa_to_rgb() and 7516 t2p_sample_rgba_to_rgb() was used in place of each other, that was 7517 resulted in problems with RGBA images with associated alpha. 7518 As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1097 7519 75202006-02-23 Andrey Kiselev <dron@ak4719.spb.edu> 7521 7522 * libtiff/tif_dirwrite.c: Properly write TIFFTAG_DOTRANGE tag as per 7523 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088. 7524 7525 * libtiff/tif_print.c: Properly read TIFFTAG_PAGENUMBER, 7526 TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING and TIFFTAG_DOTRANGE 7527 tags as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088. 7528 7529 * tools/tiff2ps.c: Properly scale all the pages when converting 7530 multipage TIFF with /width/height/center options set. As per bug 7531 7532 http://bugzilla.remotesensing.org/show_bug.cgi?id=1080 7533 75342006-02-15 Andrey Kiselev <dron@ak4719.spb.edu> 7535 7536 * tools/tiff2pdf.c: Do not create output file until all option checks 7537 will be done. As per bug 7538 7539 http://bugzilla.remotesensing.org/show_bug.cgi?id=1072 7540 7541 * tools/bmp2tiff.c: Added ability to create multipage TIFFs from the 7542 list of input files as per bug: 7543 7544 http://bugzilla.remotesensing.org/show_bug.cgi?id=1077 7545 75462006-02-09 Andrey Kiselev <dron@ak4719.spb.edu> 7547 7548 * libtiff/tif_tile.c: Fix error reporting in TIFFCheckTile() as per 7549 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1063. 7550 7551 * tools/tiffgt.c: Avoid crashing in case of image unsupported by 7552 TIFFRGBAImage interface. 7553 7554 * libtiff/tif_color.c: Avoid overflow in case of wrong input as per 7555 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1065. 7556 75572006-02-07 Frank Warmerdam <warmerdam@pobox.com> 7558 7559 * tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG 7560 compressed TIFF files, per submission from Dan Cobra. 7561 75622006-02-07 Andrey Kiselev <dron@ak4719.spb.edu> 7563 7564 * libtiff/{tif_dirread.c, tif_packbits.c, tif_win32.c}: Properly 7565 cast values to avoid warnings. As per bug 7566 http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. 7567 7568 * libtiff/tif_dirinfo.c: Use TIFF_NOTYPE instead of 0 when 7569 appropriate. As per bug 7570 http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. 7571 7572 * libtiff/tif_aux.c: Fixed type of temporary variable in 7573 _TIFFCheckMalloc() as per bug 7574 http://bugzilla.remotesensing.org/show_bug.cgi?id=1033. 7575 75762006-02-06 Andrey Kiselev <dron@ak4719.spb.edu> 7577 7578 * libtiff/tif_aux.c: Return static array when fetching default 7579 YCbCrCoefficients (another problem, reported a the 7580 http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 entry). 7581 75822006-02-03 Andrey Kiselev <dron@ak4719.spb.edu> 7583 7584 * libtiff/tif_dir.c: Special handling for PageNumber, HalftoneHints, 7585 YCbCrSubsampling and DotRange tags as per bugs 7586 7587 http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 7588 http://bugzilla.remotesensing.org/show_bug.cgi?id=1034 7589 7590 * libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of 7591 _TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug 7592 7593 http://bugzilla.remotesensing.org/show_bug.cgi?id=1026. 7594 75952006-01-23 Andrey Kiselev <dron@ak4719.spb.edu> 7596 7597 * libtool related stuff updated from the 2.1a branch. 7598 75992006-01-11 Frank Warmerdam <warmerdam@pobox.com> 7600 7601 * tools/bmp2tiff,pal2rgb,ppm2tiff,ras2tiff,raw2tiff,sgi2tiff, 7602 tiff2bw,tiffcp: Fixed jpeg option processing so -c jpeg:r:50 works 7603 properly as per bug: 7604 http://bugzilla.remotesensing.org/show_bug.cgi?id=1025 7605 76062006-01-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7607 7608 * configure.ac: Fix with_default_strip_size comparison as reported 7609 by Norihiko Murase. 7610 76112006-01-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7612 7613 * test/Makefile.am (LIBTIFF): Due to linking against libtiff 7614 incorrectly, tests were not actually testing the uninstalled 7615 libtiff. Now they are. 7616 76172006-01-04 Andrey Kiselev <dron@ak4719.spb.edu> 7618 7619 * libtiff/tif_dirinfo.c: Change definitions for TIFFTAG_ICCPROFILE, 7620 TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET: readcount 7621 should be uint32 value. 7622 76232006-01-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7624 7625 * html/man/Makefile.am (htmldoc): Fix htmldoc rule so that it can 7626 be used if build directory is not the same as source directory. 7627 * man/{TIFFGetField.3tiff, TIFFSetField.3tiff}: Documented 7628 TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, and TIFFTAG_XMLPACKET, 7629 and re-sorted tag names in alphabetical order. 7630 76312005-12-29 Andrey Kiselev <dron@ak4719.spb.edu> 7632 7633 * libtiff 3.8.0 released. 7634 76352005-12-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7636 7637 * tools/bmp2tiff.c (main): Fixed warning regarding returning 7638 inconsistent types from a condition. 7639 * tools/tiffcmp.c (CheckLongTag): Eliminate warning due to printf 7640 format. 7641 * tools/bmp2tiff.c: Reduce compilation warnings on big-endian CPUs. 7642 76432005-12-28 Joris Van Damme <joris.at.lebbeke@skynet.be> 7644 7645 * html/{index.html, support.hml, libtiff.html}: Cleaned up HTML 7646 76472005-12-27 Andrey Kiselev <dron@ak4719.spb.edu> 7648 7649 * libtiff/tiffio.h: Added VC_EXTRALEAN definition before including 7650 windows.h, to reduce the compile time. 7651 76522005-12-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7653 7654 * libtiff/tif_jpeg.c: Improve compilation under MinGW. 7655 76562005-12-26 Andrey Kiselev <dron@ak4719.spb.edu> 7657 7658 * libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}: 7659 tiffFieldInfo and exifFieldInfo arrays definitions moved back to 7660 tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo() 7661 private functions to retrieve FieldInfo arrays. 7662 76632005-12-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7664 7665 * html/build.html: Added some additional instructions for when 7666 building using MSVC under Windows. Also fixed two HTML syntax 7667 errors and used HTML Tidy to tidy up the HTML syntax and 7668 formatting. 7669 76702005-12-24 Andrey Kiselev <dron@ak4719.spb.edu> 7671 7672 * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c, 7673 tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and 7674 StoNits tags custom. 7675 76762005-12-23 Andrey Kiselev <dron@ak4719.spb.edu> 7677 7678 * libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make 7679 WhitePoint tag custom. 7680 7681 * libtiff/{tif_dir.h, tiff.h}: More EXIF tags added. 7682 76832005-12-23 Joris Van Damme <joris.at.lebbeke@skynet.be> 7684 7685 * libtiff/tiffio.h: fixed typo that potentially resulted in 7686 redefininition of USE_WIN32_FILEIO 7687 7688 * libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning 7689 calls in core LibTiff. 7690 76912005-12-21 Andrey Kiselev <dron@ak4719.spb.edu> 7692 7693 * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC, 7694 Photoshop and ICCProfile tags custom. 7695 76962005-12-21 Joris Van Damme <joris.at.lebbeke@skynet.be> 7697 7698 * libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling 7699 newer code to get context indicator in error handler and still 7700 remain compatible with older code: Done TIFFError calls everywhere 7701 except in tools 7702 77032005-12-20 Andrey Kiselev <dron@ak4719.spb.edu> 7704 7705 * tools/tiffcp.c: Added many error reporting messages; fixed integer 7706 overflow as per bug 7707 7708 http://bugzilla.remotesensing.org/show_bug.cgi?id=789 7709 77102005-12-16 Frank Warmerdam <warmerdam@pobox.com> 7711 7712 * contrib/addtiffo/*: Major upgrade by Joris to support subsampled 7713 YCbCr images in jpeg compressed TIFF files. 7714 77152005-12-14 Andrey Kiselev <dron@ak4719.spb.edu> 7716 7717 * tools/tiffcp.c: Return non-zero status when reading fails (again). 7718 77192005-12-13 Andrey Kiselev <dron@ak4719.spb.edu> 7720 7721 * tools/tiffcp.c: Return non-zero status when reading fails. 7722 77232005-12-12 Andrey Kiselev <dron@ak4719.spb.edu> 7724 7725 * libtiff/{tif_dir.h, tiff.h}: Added more EXIF tags. 7726 77272005-12-09 Andrey Kiselev <dron@ak4719.spb.edu> 7728 7729 * libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make XMLPacket tag 7730 custom. 7731 7732 * tools/tiffinfo.c: Print EXIF directory contents if exist. 7733 7734 * libtiff/tiff.h: Few EXIF tag numbers added. 7735 7736 * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c, 7737 tiffio.h}: Preliminary support to read custom directories. New 7738 functions: TIFFReadCustomDirectory() and TIFFReadEXIFDirectory(). 7739 77402005-12-07 Andrey Kiselev <dron@ak4719.spb.edu> 7741 7742 * libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}: 7743 More work to implement custom directory read support. 7744 7745 * libtiff/{tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h, 7746 tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite 7747 tags custom. 7748 77492005-12-05 Andrey Kiselev <dron@ak4719.spb.edu> 7750 7751 * libtiff/tif_dirread.c: One more workaround for broken 7752 StripByteCounts tag. Handle the case when StripByteCounts array filled 7753 with completely wrong values. 7754 77552005-11-30 Andrey Kiselev <dron@ak4719.spb.edu> 7756 7757 * libtiff/tif_dirinfo.c: Release file descriptor in case of failure 7758 in the TIFFOpenW() function as per bug 7759 7760 http://bugzilla.remotesensing.org/show_bug.cgi?id=1003 7761 7762 * libtiff/tif_dirinfo.c: Correctly yse bsearch() and lfind() 7763 functions as per bug 7764 7765 http://bugzilla.remotesensing.org/show_bug.cgi?id=1008 7766 77672005-11-20 Frank Warmerdam <warmerdam@pobox.com> 7768 7769 * tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support 7770 for MS MDI format. 7771 http://bugzilla.remotesensing.org/show_bug.cgi?id=1002 7772 7773 * .cvsignore: many files added, and a few update according 7774 to suggestion of Brad HArds on tiff mailing list. 7775 77762005-11-03 Frank Warmerdam <warmerdam@pobox.com> 7777 7778 * libtiff/libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory 7779 public. 7780 77812005-10-31 Andrey Kiselev <dron@ak4719.spb.edu> 7782 7783 * tools/fax2tiff.c: Properly calculate sizes of temporary arrays 7784 as per bug 7785 7786 http://bugzilla.remotesensing.org/show_bug.cgi?id=943 7787 7788 * tools/fax2tiff.c: Added option '-r' to set RowsPerStrip parameter 7789 as per bug 7790 7791 http://bugzilla.remotesensing.org/show_bug.cgi?id=944 7792 7793 * tools/tiffdump.c: Fixed typeshift and typemask arrays initialization 7794 problem as per bug 7795 7796 http://bugzilla.remotesensing.org/show_bug.cgi?id=946 7797 7798 * tools/bmp2tiff.c: Fixed possible integer overflow error as per bug 7799 7800 http://bugzilla.remotesensing.org/show_bug.cgi?id=965 7801 7802 * libtiff/tif_dirinfo.c: Make XResolution, YResolution and 7803 ResolutionUnit tags modifiable during write process. As per bug 7804 7805 http://bugzilla.remotesensing.org/show_bug.cgi?id=977 7806 7807 * tools/tiffsplit.c: Copy fax related fields over splitted parts 7808 as per bug 7809 7810 http://bugzilla.remotesensing.org/show_bug.cgi?id=983 7811 78122005-10-21 Frank Warmerdam <warmerdam@pobox.com> 7813 7814 * tif_dirread.c: Don't try and split single strips into "0" strips 7815 in ChopUpSingleUncompressedStrip. This happens in some degenerate 7816 cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff) 7817 78182005-10-20 Joris Van Damme <joris.at.lebbeke@skynet.be> 7819 7820 * tif_fax3.c: changed 'at scanline ...' style warning/errors 7821 with incorrect use of tif_row, to 'at line ... of 7822 strip/tile ...' style 7823 78242005-10-15 Frank Warmerdam <warmerdam@pobox.com> 7825 7826 * tif_write.c: fixed setting of planarconfig as per bug report 7827 on the mailing list from Joris. 7828 78292005-10-07 Andrey Kiselev <dron@ak4719.spb.edu> 7830 7831 * configure.ac, configure, nmake.opt, libtiff/{tif_config.h, 7832 tif_dirread.c}: Make the default strip size configurable via the 7833 --with-default-strip-size and STRIP_SIZE_DEFAULT options. 7834 78352005-09-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 7836 7837 * html/support.html: Fixed link to documentation on Greg Ward's 7838 LogLuv TIFF format. 7839 78402005-09-28 Andrey Kiselev <dron@ak4719.spb.edu> 7841 7842 * tools/tiffdump.c: Fixed crash when reading malformed tags. 7843 78442005-09-20 Andrey Kiselev <dron@ak4719.spb.edu> 7845 7846 * tools/tiff2pdf.c: Added missed 'break' statement as per bug 7847 http://bugzilla.remotesensing.org/show_bug.cgi?id=932 7848 78492005-09-12 Andrey Kiselev <dron@ak4719.spb.edu> 7850 7851 * libtiff 3.7.4 released. 7852 7853 * {configure, configure.ac, Makefile.am, autogen.sh}: Applied patch 7854 from Patrick Welche (all scripts moved in the 'config' and 'm4' 7855 directories). 7856 78572005-09-12 Frank Warmerdam <warmerdam@pobox.com> 7858 7859 * libtiff/tif_open.c: reintroduce seek to avoid problem on solaris. 7860 78612005-09-05 Frank Warmerdam <warmerdam@pobox.com> 7862 7863 * libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV 7864 also set it to NULL to avoid double free when re-setting custom 7865 string fields as per: 7866 7867 http://bugzilla.remotesensing.org/show_bug.cgi?id=922 7868 78692005-08-12 Frank Warmerdam <warmerdam@pobox.com> 7870 7871 * libtiff/tif_print.c: avoid signed/unsigned warning. 7872 7873 * libtiff/tif_dirread.c: removed unused variable. 7874 78752005-07-30 Frank Warmerdam <warmerdam@pobox.com> 7876 7877 * libtiff/tif_dir.c: Fixed up support for swapping "double complex" 7878 values (128 bits as 2 64 bits doubles). GDAL gcore tests now 7879 pass on bigendian (macosx) system. 7880 78812005-07-28 Andrey Kiselev <dron@ak4719.spb.edu> 7882 7883 * libtiff/{tif_aux.c, tif_dirread.c, tif_fax3.c, tiffiop.h}: Rename 7884 CheckMalloc() function to _TIFFCheckMalloc() and make it available 7885 globally as an internal helper routine. 7886 78872005-07-27 Andrey Kiselev <dron@ak4719.spb.edu> 7888 7889 * libtiff/tif_dir.c: More improvements in the "pass by value" part of 7890 the custom tags handling code. 7891 78922005-07-26 Andrey Kiselev <dron@ak4719.spb.edu> 7893 7894 * libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to 7895 SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples() 7896 function, use TIFFFetchNormalTag() instead as per bug 7897 7898 http://bugzilla.remotesensing.org/show_bug.cgi?id=831 7899 7900 Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag() 7901 instead. 7902 7903 * libtiff/tiffconf.h.in: One more attempt to fix the AIX bug 7904 7905 http://bugzilla.remotesensing.org/show_bug.cgi?id=39 7906 79072005-07-25 Andrey Kiselev <dron@ak4719.spb.edu> 7908 7909 * libtiff/tif_print.c: Fixed printing of the BYTE and SBYTE arrays. 7910 7911 * tools/tiffdump.c: Added support for TIFF_IFD datatype. 7912 79132005-07-21 Andrey Kiselev <dron@ak4719.spb.edu> 7914 7915 * libtiff/tif_write.c: Do not check the PlanarConfiguration field in 7916 the TIFFWriteCheck() function in case of single band images (as per 7917 TIFF spec). 7918 79192005-07-12 Andrey Kiselev <dron@ak4719.spb.edu> 7920 7921 * SConstruct, libtiff/SConstruct: Added the first very preliminary 7922 support for SCons software building tool (http://www.scons.org/). 7923 This is experimental infrastructure and it will exist along with the 7924 autotools mechanics. 7925 79262005-07-07 Andrey Kiselev <dron@ak4719.spb.edu> 7927 7928 * port/{getopt.c, strcasecmp.c, strtoul.c}: Update modules from 7929 the NetBSD source tree (the old 4-clause BSD license changed to 7930 the new 3-clause one). 7931 7932 * configure.ac, port/lfind.c, libtiff/tiffiop.h: Added lfind() 7933 replacement module. 7934 7935 * port/dummy.c: Make the dummy function static. 7936 79372005-07-06 Andrey Kiselev <dron@ak4719.spb.edu> 7938 7939 * tools/tiffcp.c: Fixed WhitePoint tag copying. 7940 7941 * libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}: 7942 Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera, 7943 ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom. 7944 79452005-07-04 Andrey Kiselev <dron@ak4719.spb.edu> 7946 7947 * libtiff 3.7.3 released. 7948 7949 * configure, configure.ac: Do not use empty -R option when linking 7950 with --enable-rpath. 7951 79522005-07-01 Andrey Kiselev <dron@ak4719.spb.edu> 7953 7954 * libtiff/{tiffiop.h, tif_open.c}: Added open option 'h' to avoid 7955 reading the first IFD when needed. As per bug 7956 7957 http://bugzilla.remotesensing.org/show_bug.cgi?id=875 7958 7959 * libtiff/tif_color.c: Better use of TIFFmin() macro to avoid side 7960 effects. 7961 79622005-06-23 Andrey Kiselev <dron@ak4719.spb.edu> 7963 7964 * tools/tiff2pdf.c: Print two characters per loop in the 7965 t2p_write_pdf_trailer(). As per bug 7966 7967 http://bugzilla.remotesensing.org/show_bug.cgi?id=594 7968 7969 * tools/tiffgt.c: Use MacOS X OpenGL framework when appropriate. As 7970 per bug 7971 7972 http://bugzilla.remotesensing.org/show_bug.cgi?id=844 7973 7974 * acinclude.m4: Updated to latest OpenGL test macros versions. 7975 7976 * libtiff/tiff.h: Use correct int size on Sparc 64bit/Sun compiler 7977 platform. As per bug 7978 7979 http://bugzilla.remotesensing.org/show_bug.cgi?id=855 7980 79812005-06-14 Andrey Kiselev <dron@ak4719.spb.edu> 7982 7983 * libtiff/tif_dirinfo.c: Added support for ClipPath, XClipPathUnits 7984 and YClipPathUnits tags. 7985 79862005-06-07 Andrey Kiselev <dron@ak4719.spb.edu> 7987 7988 * contrib/addtiffo/tif_ovrcache.c: Properly extract tile/strip size; 7989 use pixel sized shift in contigous case. 7990 79912005-06-06 Andrey Kiselev <dron@ak4719.spb.edu> 7992 7993 * contrib/addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}: 7994 Make overviews working for contiguos images. 7995 79962005-06-03 Andrey Kiselev <dron@ak4719.spb.edu> 7997 7998 * libtiff/tif_open.c: Replace runtime endianness check with the compile 7999 time one. 8000 8001 * libtiff/tif_predict.c: Floating point predictor now works on 8002 big-endian hosts. 8003 80042005-06-01 Andrey Kiselev <dron@ak4719.spb.edu> 8005 8006 * libtiff/tif_dir.c: Use _TIFFsetString() function when read custom 8007 ASCII values. 8008 8009 * libtiff/{tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c}: Make 8010 DocumentName, Artist, HostComputer, ImageDescription, Make, Model, 8011 Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and 8012 TargetPrinter tags custom. 8013 8014 * libtiff/tif_jpeg.c: Cleanup the codec state depending on 8015 TIFF_CODERSETUP flag (to fix memry leaks). 8016 8017 * libtiff/tif_jpeg.c: Initialize JPEGTables array with zero after 8018 allocating. 8019 80202005-05-26 Andrey Kiselev <dron@ak4719.spb.edu> 8021 8022 * configure.ac, libtiff/Makefile.am: Added workaround for 8023 OpenBSD/MirOS soname problem as per bug 8024 8025 http://bugzilla.remotesensing.org/show_bug.cgi?id=838 8026 8027 * libtiff/tif_dirwrite.c: Use tdir_count when calling 8028 TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as 8029 per bug 8030 8031 http://bugzilla.remotesensing.org/show_bug.cgi?id=845 8032 80332005-05-25 Andrey Kiselev <dron@ak4719.spb.edu> 8034 8035 * tools/ppm2tiff.c: Fixed format string when read PPM file header with 8036 the fscanf() function. As per bug 8037 8038 http://bugzilla.remotesensing.org/show_bug.cgi?id=861 8039 8040 * libtiff/{tif_dirinfo.c, tif_print.c}: TIFFFetchByteArray() returns 8041 uint16 array when fetching the BYTE and SBYTE filds, so we should 8042 consider result as pointer to uint16 array and not as array of chars. 8043 As per bug 8044 8045 http://bugzilla.remotesensing.org/show_bug.cgi?id=831 8046 8047 * libtiff/tif_dir.c: More efficient custom tags retrieval as per bug 8048 8049 http://bugzilla.remotesensing.org/show_bug.cgi?id=830 8050 8051 * libtiff/tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share 8052 mode in CreateFile() call as per bug 8053 8054 http://bugzilla.remotesensing.org/show_bug.cgi?id=829 8055 8056 * libtiff/Makefile.am: Fixed parallel compilation of the libtiff and 8057 libtiffxx libraries as per bug 8058 8059 http://bugzilla.remotesensing.org/show_bug.cgi?id=826 8060 8061 * contrib/addtiffo/{tif_overview.c, tif_ovrcache.h}: Sinchronized with 8062 GDAL. 8063 80642005-05-23 Frank Warmerdam <warmerdam@pobox.com> 8065 8066 * libtiff/tif_jpeg.c: Substantial fix for addtiffo problems with 8067 JPEG encoded TIFF files. Pre-allocate lots of space for jpegtables 8068 in directory. 8069 80702005-05-22 Frank Warmerdam <warmerdam@pobox.com> 8071 8072 * libtiff/tif_dirread.c: Changed the code that computes 8073 stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is 8074 zero. This is a common case with GDAL indicating a "null" tile/strip. 8075 80762005-05-17 Andrey Kiselev <dron@ak4719.spb.edu> 8077 8078 * tools/tiffsplit.c: Check for JPEGTables tag presence before copying. 8079 80802005-05-06 Frank Warmerdam <warmerdam@pobox.com> 8081 8082 * libtiff/tif_dirread.c: Applied similar change to 8083 TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys. 8084 8085 http://bugzilla.remotesensing.org/show_bug.cgi?id=843 8086 8087 * libtiff/tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw(). 8088 80892005-05-06 Andrey Kiselev <dron@ak4719.spb.edu> 8090 * tools/tiff2pdfr.c, man/tiff2pdf.1: Calculate the tile width properly; 8091 added new option '-b' to use interpolation in output PDF files (Bruno 8092 Ledoux). 8093 80942005-05-05 Frank Warmerdam <warmerdam@pobox.com> 8095 8096 * libtiff/tif_dirread.c: Ensure that broken files with too many 8097 values in PerSampleShorts work ok instead of crashing. 8098 8099 http://bugzilla.remotesensing.org/show_bug.cgi?id=843 8100 81012005-04-27 Andrey Kiselev <dron@ak4719.spb.edu> 8102 8103 * tools/tiffdither.c: Copy the PhotometricInterpretation tag from the 8104 input file. 8105 81062005-04-15 Andrey Kiselev <dron@ak4719.spb.edu> 8107 8108 * libtiff/tif_predict.c: Added ability to encode floating point 8109 predictor, as per TIFF Technical Note 3. 8110 81112005-04-14 Andrey Kiselev <dron@ak4719.spb.edu> 8112 8113 * libtiff/{tif_predict.h, tif_predict.c}: Added ability to decode 8114 floating point predictor, as per TIFF Technical Note 3. 8115 81162005-04-13 Andrey Kiselev <dron@ak4719.spb.edu> 8117 8118 * libtiff/{tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c}: 8119 Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to 8120 swap 24-bit floating point values. 8121 8122 * libtiff/tiff.h: Added predictor constants. 8123 81242005-04-08 Andrey Kiselev <dron@ak4719.spb.edu> 8125 8126 * libtiff/{tiffiop.h, tif_dir.c}: Use uint32 type for appropriate 8127 values in _TIFFVSetField() function. Inspired by the bug 8128 8129 http://bugzilla.remotesensing.org/show_bug.cgi?id=816 8130 8131 * man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag 8132 as per bug 8133 8134 http://bugzilla.remotesensing.org/show_bug.cgi?id=816 8135 81362005-03-30 Andrey Kiselev <dron@ak4719.spb.edu> 8137 8138 * libtiff/tif_open.c: Do not read header in case the output file 8139 should be truncated (Ron). 8140 8141 * libtiff/{tif_dirinfo.c, tif_config.h.vc}: Use lfind() instead 8142 of bsearch() in _TIFFFindFieldInfoByName() function (Ron). 8143 8144 * libtiff/{tiff.h, tif_dirinfo.c}: Fixes in EXIF tag ordering (Ron). 8145 81462005-03-22 Andrey Kiselev <dron@ak4719.spb.edu> 8147 8148 * configure.ac, libtiff/Makefile.am: Use libtool machinery to pass 8149 rpath option. 8150 81512005-03-21 Andrey Kiselev <dron@ak4719.spb.edu> 8152 8153 * libtiff/{tif_dir.c, tif_print.c}: Handle all data types in custom 8154 tags. 8155 81562005-03-18 Andrey Kiselev <dron@ak4719.spb.edu> 8157 8158 * libtiff/dirinfo.c: Added DNG tags. 8159 8160 * libtiff/{tif_dir.c, tif_print.c}: More improvements in custom tag 8161 handling code. 8162 8163 * libtiff/tiff.h: More comments; added missed DNG tag (LensInfo); 8164 added DNG 1.1.0.0 tags. 8165 8166 * tools/tif2pdf.c: Fixed problem with alpha channel handling as per 8167 bug 8168 8169 http://bugzilla.remotesensing.org/show_bug.cgi?id=794 8170 8171 * man/TIFFGetField.3tiff: Add a note about autoregistered tags. 8172 81732005-03-17 Andrey Kiselev <dron@ak4719.spb.edu> 8174 8175 * nmake.opt: Build with Win32 CRT library by default. 8176 8177 * tools/tiff2ps.c: Fixed typo in page size handling code. 8178 8179 * libtiff/{tif_dir.c, tif_print.c}: Support for custom tags, passed 8180 by value. 8181 8182 * libtiff/{tiff.h, tif_dirinfo.c, tiffiop.h}: Added EXIF related tags. 8183 81842005-03-15 Andrey Kiselev <dron@ak4719.spb.edu> 8185 8186 * libtiff 3.7.2 released. 8187 81882005-03-09 Andrey Kiselev <dron@ak4719.spb.edu> 8189 8190 * tools/tiffcmp.c: Added ability to compare the 32-bit integer and 8191 floating point data; complain on unsupported bit depths. 8192 81932005-03-05 Andrey Kiselev <dron@ak4719.spb.edu> 8194 8195 * tif_stream.cxx: Use ios namespace instead of ios_base to support 8196 GCC 2.95. 8197 8198 * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied correct patch from 8199 Lee Howard for HylaFax DCS tag 8200 (see http://bugzilla.remotesensing.org/show_bug.cgi?id=771) 8201 82022005-03-04 Andrey Kiselev <dron@ak4719.spb.edu> 8203 8204 * configure, configure.ac: Use -rpath option instead of -R as per bug 8205 8206 http://bugzilla.remotesensing.org/show_bug.cgi?id=732 8207 8208 * libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied patch from Lee 8209 Howard to support a new tag TIFFTAG_FAXDCS (34911) used in HylaFax 8210 software. As per bug 8211 8212 http://bugzilla.remotesensing.org/show_bug.cgi?id=771 8213 8214 * nmake.opt, html/build.html: Add more comments, change the config 8215 file organization a bit as per bug 8216 8217 http://bugzilla.remotesensing.org/show_bug.cgi?id=764 8218 8219 * tools/tiffcmp.c: Use properly sized buffer in short arrays comparison 8220 as per bug 8221 8222 http://bugzilla.remotesensing.org/show_bug.cgi?id=785 8223 82242005-03-03 Andrey Kiselev <dron@ak4719.spb.edu> 8225 8226 * libtiff/tif_dirread.c: More logic to guess missed strip size as per 8227 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=705 8228 8229 * tools/fax2ps.c: Replace insecure mktemp() function with the 8230 tmpfile() as per bug 8231 8232 http://bugzilla.remotesensing.org/show_bug.cgi?id=786 8233 82342005-02-04 Andrey Kiselev <dron@ak4719.spb.edu> 8235 8236 * libtiff/tiff.h: Changed the int8 definition to be always signed char 8237 as per bug 8238 8239 http://bugzilla.remotesensing.org/show_bug.cgi?id=727 8240 8241 * libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{} 8242 block as per bug 8243 8244 http://bugzilla.remotesensing.org/show_bug.cgi?id=763 8245 82462005-02-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8247 8248 * tools/tiffgt.c: Fix problem on big-endian CPUs so that images 8249 display more correctly. Images display brighter than they should 8250 on a Sun workstation. 8251 82522005-02-03 Andrey Kiselev <dron@ak4719.spb.edu> 8253 8254 * libtiff/tif_dirread.c: Estimate strip size in case of wrong or 8255 suspicious values in the tags. As per bugs 8256 8257 http://bugzilla.remotesensing.org/show_bug.cgi?id=705 8258 8259 and 8260 8261 http://bugzilla.remotesensing.org/show_bug.cgi?id=320 8262 8263 * tools/tiff2ps.c: Fixed problem with page sizes as per bug 8264 8265 http://bugzilla.remotesensing.org/show_bug.cgi?id=742 8266 82672005-01-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8268 8269 * libtiff/tiff.h (TIFFTAG_TILEWIDTH): Corrected description. 8270 (TIFFTAG_TILELENGTH): Corrected description. 8271 82722005-01-30 Andrey Kiselev <dron@ak4719.spb.edu> 8273 8274 * configure.ac: Fixes for --with-docdir option as per bug 8275 8276 http://bugzilla.remotesensing.org/show_bug.cgi?id=759 8277 8278 * libtiff/tif_open.c: Remove unnesessary TIFFSeekFile() call as per 8279 bug 8280 8281 http://bugzilla.remotesensing.org/show_bug.cgi?id=756 8282 8283 * libtiff/tif_stream.cxx: Fixes for C++ stream interface from 8284 Michael Rinne and Edward Lam. 8285 82862005-01-15 Andrey Kiselev <dron@ak4719.spb.edu> 8287 8288 * configure.ac: Make the documentation directory location configurable 8289 via the --with-docdir option (as suggested by Jeremy C. Reed). 8290 8291 * libtiff/tif_color.c: Use double as the second argument of pow() 8292 function in TIFFCIELabToRGBInit(). As per bug 8293 8294 http://bugzilla.remotesensing.org/show_bug.cgi?id=741 8295 8296 * libtiff/tif_pixarlog.c: Avoid warnings when converting float to 8297 integer as per bug 8298 8299 http://bugzilla.remotesensing.org/show_bug.cgi?id=740 8300 8301 * libtiff/tif_getimage.c: Always fill the error message buffer in 8302 TIFFRGBAImageBegin() as per bug 8303 8304 http://bugzilla.remotesensing.org/show_bug.cgi?id=739 8305 83062005-01-12 Andrey Kiselev <dron@ak4719.spb.edu> 8307 8308 * libtiff/tif_jpeg.c: Added ability to read/write the fax specific 8309 TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS and TIFFTAG_FAXRECVTIME 8310 tags as per bug 8311 8312 http://bugzilla.remotesensing.org/show_bug.cgi?id=736 8313 8314 * libtiff/tif_win32.c: Fixed message formatting in functions 8315 Win32WarningHandler() and Win32ErrorHandler() as per bug 8316 8317 http://bugzilla.remotesensing.org/show_bug.cgi?id=735 8318 8319 * tools/tiff2ps.c: Interpret the -w and -h options independently. As 8320 per bug 8321 8322 http://bugzilla.remotesensing.org/show_bug.cgi?id=689 8323 83242005-01-11 Andrey Kiselev <dron@ak4719.spb.edu> 8325 8326 * libtiff/tiffio.h: Move the color conversion routines in the 'extern 8327 "C"' section as per bug 8328 8329 http://bugzilla.remotesensing.org/show_bug.cgi?id=727 8330 8331 * libtiff/tiff.h: Restore back the workaround for AIX Visual Age C 8332 compiler to avoid double definition of BSD types as per bug 8333 8334 http://bugzilla.remotesensing.org/show_bug.cgi?id=39 8335 8336 * libtiff/Makefile.am: Place the C++ stream API in the separate 8337 library called libtiffxx to avoid unneeded dependencies. Probably 8338 there will be more C++ API in the future. As per bugs 8339 8340 http://bugzilla.remotesensing.org/show_bug.cgi?id=733 8341 8342 and 8343 8344 http://bugzilla.remotesensing.org/show_bug.cgi?id=730 8345 83462005-01-05 Andrey Kiselev <dron@ak4719.spb.edu> 8347 8348 * tools/tiffdump.c: Fixed problem when read broken TIFFs with the 8349 wrong tag counts (Dmitry V. Levin, Martin Pitt). 8350 8351 * configure.ac: Replace --disable-c++ with the --disable-cxx option as 8352 per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=730 8353 83542004-12-25 Andrey Kiselev <dron@ak4719.spb.edu> 8355 8356 * libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled 8357 RGB-images as per bug 8358 8359 http://bugzilla.remotesensing.org/show_bug.cgi?id=713 8360 8361 8362 * tools/tiffset.c: Convert character option to integer value as per 8363 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=725 8364 83652004-12-20 Andrey Kiselev <dron@ak4719.spb.edu> 8366 8367 * libtiff 3.7.1 released. 8368 8369 * html/tiffset.1.html: Add missed manual page as per bug 8370 8371 http://bugzilla.remotesensing.org/show_bug.cgi?id=678 8372 8373 * libtiff/tiff.h: Revert back libtiff data type definitions as per 8374 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=687 8375 83762004-12-19 Andrey Kiselev <dron@ak4719.spb.edu> 8377 8378 * libtiff/tif_dirread.c: Do not forget about TIFF_VARIABLE2 when 8379 checking for tag count in TIFFReadDirectory() function. As per bug 8380 8381 http://bugzilla.remotesensing.org/show_bug.cgi?id=713 8382 8383 * libtiff/{tif_dirread.c, tif_fax3.c}: More argument checking in 8384 CheckMallock() function. 8385 8386 * libtiff/tif_getimage.c: Support for multiple-alpha-channelled 8387 RGB-images as per bug 8388 8389 http://bugzilla.remotesensing.org/show_bug.cgi?id=718 8390 83912004-12-15 Frank Warmerdam <warmerdam@pobox.com> 8392 8393 * libtiff/tif_getimage.c: #define A1 bracketing for clean build on 8394 SunPro compiler. 8395 83962004-12-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8397 8398 * autogen.sh: aclocal and autoheader should be executed after 8399 libtoolize. Also add '-I .' to aclocal invocation to check 8400 current directory for macros. 8401 84022004-12-10 Andrey Kiselev <dron@ak4719.spb.edu> 8403 8404 * libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type 8405 as per bugs 8406 8407 http://bugzilla.remotesensing.org/show_bug.cgi?id=703 8408 8409 and 8410 8411 http://bugzilla.remotesensing.org/show_bug.cgi?id=704 8412 84132004-12-04 Andrey Kiselev <dron@ak4719.spb.edu> 8414 8415 * nmake.opt: Link with the user32.lib in windowed mode. As per bug 8416 8417 http://bugzilla.remotesensing.org/show_bug.cgi?id=697 8418 8419 * libtiff/tif_win32.c: Use char* strings instead of TCHAR in windowed 8420 mode as per bug 8421 8422 http://bugzilla.remotesensing.org/show_bug.cgi?id=697 8423 8424 * libtiff/tif_config.in.vc: Removed unneded definitions for 8425 read/open/close/lseek functions to fix the 8426 8427 http://bugzilla.remotesensing.org/show_bug.cgi?id=680 8428 84292004-12-03 Andrey Kiselev <dron@ak4719.spb.edu> 8430 8431 * libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore() 8432 call from the TIFFReadDirectory() function. TIFFReassignTagToIgnore 8433 must be removed in the future, as it was never used properly. As per 8434 bug 8435 8436 http://bugzilla.remotesensing.org/show_bug.cgi?id=692 8437 84382004-11-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8439 8440 * libtiff/tif_jpeg.c: Added a work-around in order to allow 8441 compilation with the heavily modified version of libjpeg delivered 8442 with Cygwin. 8443 84442004-11-29 Andrey Kiselev <dron@ak4719.spb.edu> 8445 8446 * libtiff/tif_dir.c: Properly handle tags, which have the uint32 8447 counts. As per bug 8448 8449 http://bugzilla.remotesensing.org/show_bug.cgi?id=693 8450 8451 * tools/fax2ps.c: Be able to extract the first page (#0). As per bug 8452 8453 http://bugzilla.remotesensing.org/show_bug.cgi?id=690 8454 84552004-11-28 Andrey Kiselev <dron@ak4719.spb.edu> 8456 8457 * libtiff/tif_unix.c: Make UNIX module compilable (and usable) 8458 on Windows. 8459 8460 * nmake.opt: Add missed DLLNAME variable. 8461 84622004-11-26 Frank Warmerdam <warmerdam@pobox.com> 8463 8464 * libtiff/makefile.vc: make it easier to rename the libtiff DLL. 8465 84662004-11-24 Andrey Kiselev <dron@ak4719.spb.edu> 8467 8468 * man/libtiff.3tiff: Improvements in the "LIST OF ROUTINES" table as 8469 per bug 8470 8471 http://bugzilla.remotesensing.org/show_bug.cgi?id=545 8472 8473 * man/tiffset.1: Added manual page for tiffset tool written by Jay 8474 Berkenbilt. As per bug 8475 8476 http://bugzilla.remotesensing.org/show_bug.cgi?id=678 8477 84782004-11-23 Frank Warmerdam <warmerdam@pobox.com> 8479 8480 * libtiff/tif_error.c: fixed TIFFerror call to be TIFFError. 8481 84822004-11-21 Frank Warmerdam <warmerdam@pobox.com> 8483 8484 * html/document.html: Updated Adobe web links as per email from Joris. 8485 84862004-11-21 Andrey Kiselev <dron@ak4719.spb.edu> 8487 8488 * libtiff/{tiffio.hxx, tiffio.h}: C++ stream interface moved to new 8489 file tiffio.hxx. We don't have any C++ in tiffio.h, those who want to 8490 use C++ streams should #include <tiffio.hxx>. 8491 84922004-11-13 Andrey Kiselev <dron@ak4719.spb.edu> 8493 8494 * libtiff/tiff.h: Added Adobe DNG tags. 8495 8496 * libtiff/tif_win32.c: Typo fixed. 8497 8498 * libtiff/{tif_stream.cxx, tiffio.h}: C++ stream interface updated to 8499 be compliant with the latest standard. Appropriate additions in 8500 makefiles now completed. 8501 85022004-11-11 Andrey Kiselev <dron@ak4719.spb.edu> 8503 8504 * tools/tiffset.c, libtiff/tif_dirinfo.c: Properly handle the 8505 different tag types. As per bug 8506 8507 http://bugzilla.remotesensing.org/show_bug.cgi?id=600 8508 85092004-11-10 Andrey Kiselev <dron@ak4719.spb.edu> 8510 8511 * libtiff/tif_aux.c: Set the appropriate ReferenceBlackWhite array for 8512 YCbCr image which lacks that tag (noted by Hans Petter Selasky). 8513 85142004-11-09 Andrey Kiselev <dron@ak4719.spb.edu> 8515 8516 * libtiff/tif_color.c: Division by zero fixed (Hans Petter Selasky). 8517 85182004-11-07 Andrey Kiselev <dron@ak4719.spb.edu> 8519 8520 * libtiff/{tif_stream.cxx, tiffio.h}: Added C++ stream interface 8521 contributed by Edward Lam (see 8522 http://bugzilla.remotesensing.org/show_bug.cgi?id=654 for details). 8523 Though no changes in any makefiles yet. 8524 85252004-11-05 Frank Warmerdam <warmerdam@pobox.com> 8526 8527 * libtiff/tif_open.c: Removed close() in TIFFClientOpen() if file 8528 is bad. This is the callers responsibility. 8529 http://bugzilla.remotesensing.org/show_bug.cgi?id=651 8530 85312004-11-05 Andrey Kiselev <dron@ak4719.spb.edu> 8532 8533 * libtiff/{tiffio.h, tif_win32.c, libtiff.def}: Added TIFFOpenW() 8534 function to work with the double byte strings (used to represent 8535 filenames in some locales). As per bug 8536 8537 http://bugzilla.remotesensing.org/show_bug.cgi?id=625 8538 8539 * libtiff/tif_dirread.c: Fixed problem when fetching BitsPerSample and 8540 Compression tags of type LONG from broken TIFFS as per bug 8541 8542 http://bugzilla.remotesensing.org/show_bug.cgi?id=662 8543 8544 * libtiff/tif_dirinfo.c: Fixed definition for TIFFTAG_RICHTIFFIPTC, 8545 the writecount should have uint32 type. As per bug 8546 8547 http://bugzilla.remotesensing.org/show_bug.cgi?id=662 8548 8549 * libtiff/tif_write.c: Fixed wrong if() statement in 8550 TIFFAppendToStrip() function as per bug 8551 8552 http://bugzilla.remotesensing.org/show_bug.cgi?id=660 8553 85542004-11-04 Andrey Kiselev <dron@ak4719.spb.edu> 8555 8556 * libtiff/tif_dirinfo.c: Change definition for TIFFTAG_EXTRASAMPLES 8557 field. The caller should supply a count when setting this field. As 8558 per bug 8559 8560 http://bugzilla.remotesensing.org/show_bug.cgi?id=648 8561 8562 * libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have 8563 uint32 count. Use this type everywhere. 8564 85652004-11-03 Frank Warmerdam <warmerdam@pobox.com> 8566 8567 * libtiff/tif_next.c: avoid use of u_long and u_char types. Bug 653. 8568 85692004-11-02 Frank Warmerdam <warmerdam@pobox.com> 8570 8571 * tools/tiff2rgba.c: removed extra newlines in usage message. 8572 85732004-10-30 Andrey Kiselev <dron@ak4719.spb.edu> 8574 8575 * libtiff/tif_dirwrite.c: Improvements in tag writing code. 8576 8577 * tools/tiff2ps.c: Fixed wrong variable data type when read Position 8578 tags (Tristan Hill). 8579 85802004-10-30 Frank Warmerdam <warmerdam@pobox.com> 8581 8582 * libtiff/tiffiop.h: added fallback definition of assert() if we 8583 don't have assert.h. 8584 85852004-10-29 Andrey Kiselev <dron@ak4719.spb.edu> 8586 8587 * libtiff/tif_fax3.c: Fixed case with the wrong decode routines 8588 choosing when the incorrect Group4Options tag set. As per bug 8589 8590 http://bugzilla.remotesensing.org/show_bug.cgi?id=323 8591 8592 * libtiff/tif_dirwrite.c: Fixed problem with passing count variable of 8593 wrong type when writing the TIFF_BYTE/TIFF_SBYTE tags in 8594 TIFFWriteNormalTag(). 8595 85962004-10-28 Andrey Kiselev <dron@ak4719.spb.edu> 8597 8598 * tools/tiff2ps.c: Fixed wrong variable data type when read Resolution 8599 tags (Peter Fales). 8600 8601 * tools/{bmp2tiff.c, raw2tiff.c}: Get rid of stream I/O functions. 8602 86032004-10-28 Frank Warmerdam <warmerdam@pobox.com> 8604 8605 * tools/tiff2pdf.c: added casts to avoid warnings. 8606 8607 * libtiff/libtiff.def: Added several more entry points required 8608 to link fax2tiff.c against the DLL on windows. 8609 86102004-10-27 Andrey Kiselev <dron@ak4719.spb.edu> 8611 8612 * configure, configure.ac: Added --enable-rpath option to embed linker 8613 paths into library binary. 8614 86152004-10-26 Andrey Kiselev <dron@ak4719.spb.edu> 8616 8617 * tools/tiffset.c: Check the malloc return value (Dmitry V. Levin). 8618 8619 * libtiff/{tif_strip.c, tif_tile.c}: Zero division problem fixed 8620 (Vladimir Nadvornik, Dmitry V. Levin). 8621 86222004-10-16 Andrey Kiselev <dron@ak4719.spb.edu> 8623 8624 * libtiff 3.7.0 released. 8625 86262004-10-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8627 8628 * libtiff/tif_jpeg.c: There seems to be no need to include stdio.h 8629 in this file so its inclusion is removed. Including stdio.h 8630 sometimes incurs an INT32 typedef conflict between MinGW's 8631 basetsd.h and libjpeg's jmorecfg.h. 8632 86332004-10-15 Andrey Kiselev <dron@ak4719.spb.edu> 8634 8635 * man/bmp2tiff.1: Added manual page for bmp2tiff utility. 8636 86372004-10-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8638 8639 * tools/tiffcmp.c (leof): Renamed from 'eof' in order to avoid 8640 conflict noticed under MinGW. 8641 * ltmain.sh: Fix for MinGW compilation. 8642 86432004-10-13 Frank Warmerdam <warmerdam@pobox.com> 8644 8645 * man/tiffsplit.1: Fixed to indicate using aaa-zzz, not aa-zz. 8646 http://bugzilla.remotesensing.org/show_bug.cgi?id=635 8647 86482004-10-12 Andrey Kiselev <dron@ak4719.spb.edu> 8649 8650 * libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c, 8651 tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes 8652 properly (Dmitry V. Levin, Marcus Meissner). 8653 86542004-10-11 Andrey Kiselev <dron@ak4719.spb.edu> 8655 8656 * libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed 8657 to TIFF_IFD. 8658 86592004-10-10 Andrey Kiselev <dron@ak4719.spb.edu> 8660 8661 * tools/bmp2tif.c: Check the space allocation results. 8662 86632004-10-09 Andrey Kiselev <dron@ak4719.spb.edu> 8664 8665 * libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields 8666 of the TIFFDirectory structure with the 0 instead of -1 to avoid 8667 confusing integer overflows in TIFFTileRowSize() for striped images. 8668 8669 * tools/tiff2pdf.c: Fixed TransferFunction tag handling reported 8670 by Ross A. Finlayson. 8671 8672 * libtiff/tif_dir.c: Fixed custom tags handling as per bug 8673 8674 http://bugzilla.remotesensing.org/show_bug.cgi?id=629 8675 86762004-10-08 Frank Warmerdam <warmerdam@pobox.com> 8677 8678 * libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation 8679 of tif_fieldinfo. 8680 8681 http://bugzilla.remotesensing.org/show_bug.cgi?id=630 8682 86832004-10-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8684 8685 * contrib/iptcutil/README: Added the missing README which goes 8686 along with iptcutil. 8687 86882004-10-03 Andrey Kiselev <dron@ak4719.spb.edu> 8689 8690 * libtiff/tif_compress.c: Improved error reporting in 8691 TIFFGetConfiguredCODECs() (Dmitry V. Levin). 8692 86932004-10-02 Andrey Kiselev <dron@ak4719.spb.edu> 8694 8695 * libtiff 3.7.0beta2 released. 8696 8697 * libtiff/{tif_aux.c, tif_compress.c, tif_dirinfo.c, tif_dirwrite.c, 8698 tif_extension.c, tif_fax3.c, tif_luv.c, tif_packbits.c, 8699 tif_pixarlog.c, tif_write.c}: Added checks for failed memory 8700 allocations and integer overflows (Dmitry V. Levin). 8701 8702 * libtiff/tiff.h: Missed TIFF_BIGTIFF_VERSION constant added. 8703 87042004-10-01 Frank Warmerdam <warmerdam@pobox.com> 8705 8706 * libtiff/tif_open.c: added a more informative message if a BigTIFF 8707 file is opened. 8708 87092004-09-30 Frank Warmerdam <warmerdam@pobox.com> 8710 8711 * libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to 8712 TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info 8713 in the Adobe XMP Specification. 8714 87152004-09-29 Andrey Kiselev <dron@ak4719.spb.edu> 8716 8717 * libtiff/{tif_jpeg.c, tif_pixarlog.c}: Use _TIFFmemset() instead of 8718 memset(). 8719 8720 * libtiff/{tif_dirread.c, tif_strip.c, tif_tile.c}: Applied patches 8721 from Dmitry V. Levin to fix possible integer overflow problems. 8722 87232004-09-28 Andrey Kiselev <dron@ak4719.spb.edu> 8724 8725 * libtiff/tif_getimage.c: Check for allocated buffers before clearing 8726 (Dmitry V. Levin). 8727 87282004-09-26 Andrey Kiselev <dron@ak4719.spb.edu> 8729 8730 * libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}: 8731 Optimize checking for the strip bounds. 8732 8733 * libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and 8734 TIFFRasterScanlineSize() functions report zero in the case of integer 8735 overflow now. Properly handle this case in TIFFReadDirectory() 8736 (patches from Dmitry V. Levin). 8737 87382004-09-25 Andrey Kiselev <dron@ak4719.spb.edu> 8739 8740 * libtiff/{tif_dirinfo.c, tif_strip.c, tif_tile.c}: Use TIFFhowmany8() 8741 macro where appropriate. 8742 8743 * tools/tiff2bw.c: Write ImageWidth/Height tags to output file, as 8744 noted by Gennady Khokhorin. 8745 8746 * libtiff/tif_dirread.c: Always check the return values, returned 8747 by the _TIFFmalloc() (Dmitry V. Levin). 8748 8749 * libtiff/tif_dir.c: Fixed possible integer overflow _TIFFset*Array() 8750 functions (Dmitry V. Levin). 8751 8752 * libtiff/{tif_dirread.c, tif_dir.c, tif_write.c}: 8753 Potential memory leak fixed in TIFFReadDirectory(), _TIFFVSetField(), 8754 TIFFGrowStrips() (found by Dmitry V. Levin). 8755 87562004-09-24 Andrey Kiselev <dron@ak4719.spb.edu> 8757 8758 * libtiff/{tiffio.h, tif_compress.c}: Added TIFFGetConfiguredCODECs() 8759 to get the list of configured codecs. 8760 8761 * libtiff/{tiffiop.h, tif_dirread.c}: More overflow fixes from 8762 Dmitry V. Levin. 8763 87642004-09-23 Andrey Kiselev <dron@ak4719.spb.edu> 8765 8766 * libtiff/tif_dirread.c: Applied patch from Dmitry V. Levin to fix 8767 possible integer overflow in CheckMalloc() function. 8768 87692004-09-22 Andrey Kiselev <dron@ak4719.spb.edu> 8770 8771 * libtiff/{tiffiop.h, tif_strip.c}: Use TIFFhowmany8() macro instead 8772 of plain TIFFhowmany() where appropriate. 8773 87742004-09-21 Andrey Kiselev <dron@ak4719.spb.edu> 8775 8776 * libtiff/tif_getimage.c: Initialize arrays after space allocation. 8777 87782004-09-19 Andrey Kiselev <dron@ak4719.spb.edu> 8779 8780 * libtiff 3.7.0beta released. 8781 8782 * libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer 8783 overruns fixed, as noted by Chris Evans. 8784 87852004-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8786 8787 * commit: Added a script to make it more convenient to commit 8788 updates. The CVS commit message is extracted from this ChangeLog 8789 file. 8790 87912004-09-14 Andrey Kiselev <dron@ak4719.spb.edu> 8792 8793 * configure.ac, configure, aclocal.m4, libtiff/{mkspans.c, tif_fax3.c, 8794 tif_getimage.c, tif_luv.c, tif_lzw.c, tif_ojpeg.c, tif_packbits.c, 8795 tif_predict.c, tif_read.c, tif_swab.c, tif_thunder.c, tif_write.c, 8796 tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_jpeg.c, tif_dirinfo.c, 8797 tif_vms.c, tif_print.c, tif_strip.c, tif_tile.c, tif_dir.h, 8798 tif_config.h.in, tiffiop.h}: 8799 Get rid of BSD data types (u_char, u_short, u_int, u_long). 8800 88012004-09-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8802 8803 * libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP 8804 specification. Reference libtiff bug tracking system to submit 8805 private tag additions. 8806 88072004-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8808 8809 * tools/tiffgt.c: Include "tif_config.h". 8810 8811 * configure.ac: Use AM_PROG_CC_C_O since it is now needed to build 8812 tiffgt. This results in the 'compile' script being added to the 8813 project. 8814 8815 * tools/Makefile.am (tiffgt_CFLAGS): Add extra build options 8816 required to find OpenGL headers necessary to build tiffgt. Also 8817 ensure that the libtiff that we built is used rather than some other 8818 libtiff installed on the system. 8819 88202004-09-12 Andrey Kiselev <dron@ak4719.spb.edu> 8821 8822 * configure.ac, acinclude.m4, aclocal.m4: New macros to detect GLUT 8823 libraries. 8824 88252004-09-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 8826 8827 * configure.ac: Pass library configuration defines via 8828 tif_config.h rather than extending CPPFLAGS. Configure a 8829 libtiff/tiffconf.h in order to satisfy application requirements 8830 (not used by library build). Do not define _POSIX_C_SOURCE=2 since 8831 this causes failure to build on systems which properly respect 8832 this request. 8833 8834 * libtiff/tiffconf.h.in: New file to act as the template for the 8835 configured tiffconf.h 8836 8837 * libtiff/files.lst (HDRS): Install the configured tiffconf.h. 8838 88392004-09-10 Frank Warmerdam <warmerdam@pobox.com> 8840 8841 * html/internals.html: Split off a discussion of adding new tags 8842 into addingtags.html. 8843 88442004-09-10 Andrey Kiselev <dron@ak4719.spb.edu> 8845 8846 * test/{ascii_tag.c, long_tag.c}: Preliminary test suite added. 8847 8848 * tools/tiff2pdf.c: Fixed reading TransferFunction tag as per bug 8849 8850 http://bugzilla.remotesensing.org/show_bug.cgi?id=590 8851 8852 * libtiff/tif_print.c: Fixes in InkNames and NumberOfInks reporting. 8853 8854 * libtiff/tif_dirread.c: Don't reject to read tags of the 8855 SamplesPerPixel size when the tag count is greater than number of 8856 samples as per bug 8857 8858 http://bugzilla.remotesensing.org/show_bug.cgi?id=576 8859 8860 * libtiff/tiff.h: Use _TIFF_DATA_TYPEDEFS_ guardian to switch off 8861 defining int8/uint8/... etc. types. As per bug 8862 8863 http://bugzilla.remotesensing.org/show_bug.cgi?id=607 8864 88652004-09-09 Frank Warmerdam <warmerdam@pobox.com> 8866 8867 * tools/tiff2ps.c, tools/tiffmedian.c: fiddle with include files 8868 to avoid compile warnings about getopt() and a few other things. 8869 88702004-09-02 Andrey Kiselev <dron@ak4719.spb.edu> 8871 8872 * libtiff/tif_dirread.c: Use memcpy() function instead of pointer 8873 assigning magic in TIFFFetchFloat(). 8874 88752004-09-01 Andrey Kiselev <dron@ak4719.spb.edu> 8876 8877 * libtiff/{tiffio.h, tif_open.c}: Applied patches from Joris Van Damme 8878 to avoid requirement for tiffiop.h inclusion in some applications. See 8879 here 8880 8881 http://www.asmail.be/msg0054799560.html 8882 8883 for details. 8884 8885 * tools/fax2tiff.c: Use the new functions in the code. 8886 88872004-08-25 Andrey Kiselev <dron@ak4719.spb.edu> 8888 8889 * tools/tiff2pdf.c: Initialize arrays properly. 8890 8891 * tools/tiff2ps.c: Avoid zero division in setupPageState() function; 8892 properly initialize array in PSDataBW(). 8893 88942004-08-24 Andrey Kiselev <dron@ak4719.spb.edu> 8895 8896 * tools/tiff2pdf.c: More fixes for bug 8897 8898 http://bugzilla.remotesensing.org/show_bug.cgi?id=590 8899 8900 from Ross Finlayson. 8901 89022004-08-23 Andrey Kiselev <dron@ak4719.spb.edu> 8903 8904 * tools/tiff2ps.c: Fixed problem with uninitialized values. 8905 8906 * libtiff/tif_dir.c: Initialize tif_foundfield data member in the 8907 TIFFDefaultDirectory() (in addition to 2004-08-19 fix). 8908 8909 * tools/tiff2pdf.c: Fixed a bunch of problems as per bug 8910 8911 http://bugzilla.remotesensing.org/show_bug.cgi?id=590 8912 89132004-08-20 Andrey Kiselev <dron@ak4719.spb.edu> 8914 8915 * tools/tiff2pdf.c: Applied patch from Ross Finlayson that checks 8916 that the input file has compression, photometric interpretation, 8917 etcetra, tags or if not than a more descriptive error is returned. 8918 8919 * libtiff/tif_dirread.c: Fixed problem in TIFFReadDirectory() in the 8920 code, responsible for tag data type checking. 8921 89222004-08-19 Andrey Kiselev <dron@ak4719.spb.edu> 8923 8924 * libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static 8925 variable as per bug 8926 8927 http://bugzilla.remotesensing.org/show_bug.cgi?id=593 8928 89292004-08-16 Andrey Kiselev <dron@ak4719.spb.edu> 8930 8931 * tools/ras2tiff.c: Fixed issue with missed big-endian checks as per 8932 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=586 8933 89342004-08-01 Andrey Kiselev <dron@ak4719.spb.edu> 8935 8936 * libtiff/{tif_config.h.in, tif_config.h.vc}: config.h.in and 8937 config.h.vc files renamed in the tif_config.h.in and tif_config.h.vc. 8938 89392004-07-24 Andrey Kiselev <dron@ak4719.spb.edu> 8940 8941 * libtiff/tif_lzw.c: LZW compression code is merged back from the 8942 separate package. All libtiff tools are updated to not advertise an 8943 abcence of LZW support. 8944 89452004-07-12 Andrey Kiselev <dron@ak4719.spb.edu> 8946 8947 * libtiff/tiffio.h: Revert thandle_t back to void* type. 8948 89492004-07-11 Andrey Kiselev <dron@ak4719.spb.edu> 8950 8951 * libtiff/{tif_read.c, tif_tile.c, tif_strip.c}: Fixes in error 8952 messages, as suggested by Bernd Herd. 8953 89542004-07-03 Andrey Kiselev <dron@ak4719.spb.edu> 8955 8956 * libtiff/tif_dir.c: Call TIFFError() instead of producing warnings 8957 when setting custom tags by value. Reported by Eric Fieleke. 8958 89592004-06-14 Andrey Kiselev <dron@ak4719.spb.edu> 8960 8961 * tools/bmp2tiff.c: Add missed RawsPerStrip setting. 8962 89632004-06-08 Andrey Kiselev <dron@ak4719.spb.edu> 8964 8965 * tools/bmp2tiff.c: Added new utility to convert Windows BMP files 8966 into TIFFs. 8967 89682004-06-07 Andrey Kiselev <dron@ak4719.spb.edu> 8969 8970 * libtiff 3.7.0alpha released. 8971 89722004-06-06 Andrey Kiselev <dron@ak4719.spb.edu> 8973 8974 * libtiff/{tiff.h, tif_dirwrite.c, tif_fax3.c, tif_packbits.c,}: Get rid 8975 of ugly 64-bit hacks, replace them with the clever (autoconf based ) 8976 ones :-). 8977 8978 * libtiff/tiffio.h: Define thandle_t as int, not void* (may cause 8979 problems in 64-bit environment). 8980 89812004-06-05 Andrey Kiselev <dron@ak4719.spb.edu> 8982 8983 * tools/tiffset.c: tiffset now can set any libtiff supported tags. 8984 Tags can be supplied by the mnemonic name or number. 8985 8986 * libtiff/{tiffio.h, tif_dir.h, tif_dirinfo.c,}: Added two new 8987 functions TIFFFindFieldInfoByName() and TIFFFieldWithName(). 8988 89892004-05-27 Andrey Kiselev <dron@ak4719.spb.edu> 8990 8991 * libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF 8992 markers as per bug 8993 8994 http://bugzilla.remotesensing.org/show_bug.cgi?id=581 8995 89962004-05-24 Andrey Kiselev <dron@ak4719.spb.edu> 8997 8998 * tools/tiffsplit.c: Don't forget to copy Photometric 8999 Interpretation tag. 9000 90012004-05-20 Andrey Kiselev <dron@ak4719.spb.edu> 9002 9003 * libtiff/{tif_open.c, tiffio.h}: New function added: 9004 TIFFIsBigEndian(). Function returns nonzero if given was file written 9005 in big-endian order. 9006 9007 * tools/tiffsplit.c: Fixed problem with unproperly written multibyte 9008 files. Now output files will be written using the same byte order 9009 flag as in the input image. See 9010 9011 http://bugzilla.remotesensing.org/show_bug.cgi?id=574 9012 9013 for details. 9014 90152004-05-19 Frank Warmerdam <warmerdam@pobox.com> 9016 9017 * libtiff/tif_print.c: added (untested) support for printing 9018 SSHORT, SLONG and SRATIONAL fields. 9019 9020 * tools/tiffcp.c: close output file on normal exit. 9021 90222004-05-17 Andrey Kiselev <dron@ak4719.spb.edu> 9023 9024 * libtiff/tif_fax3.c: Avoid reading CCITT compression options 9025 if compression type mismatches. See 9026 9027 http://bugzilla.remotesensing.org/show_bug.cgi?id=565 9028 90292004-04-30 Andrey Kiselev <dron@ak4719.spb.edu> 9030 9031 * libtiff/tif_strip.c: Never return 0 from the 9032 TIFFNumberOfStrips(). 9033 90342004-04-29 Andrey Kiselev <dron@ak4719.spb.edu> 9035 9036 * libtiff/tif_dirread.c: Workaround for broken TIFF writers which 9037 store single SampleFormat value for multisampled images. See 9038 9039 http://bugzilla.remotesensing.org/show_bug.cgi?id=562 9040 90412004-04-25 Andrey Kiselev <dron@ak4719.spb.edu> 9042 9043 * configure.ac, libtiff/{tiff.h, config.h.in}: Added tests for int8, 9044 int16 and int32 types to avoid complains on some compilers. Details at 9045 9046 http://bugzilla.remotesensing.org/show_bug.cgi?id=39 9047 90482004-04-20 Andrey Kiselev <dron@ak4719.spb.edu> 9049 9050 * tools/tiff2pdf.c: Fixed problem with unaligned access as per bug 9051 9052 http://bugzilla.remotesensing.org/show_bug.cgi?id=555 9053 90542004-04-14 Andrey Kiselev <dron@ak4719.spb.edu> 9055 9056 * libtiff/tif_write.c: Allow in-place updating of the compressed 9057 images (don't work properly with all codecs). For details see GDAL bug 9058 9059 http://bugzilla.remotesensing.org/show_bug.cgi?id=534 9060 90612004-04-06 Andrey Kiselev <dron@ak4719.spb.edu> 9062 9063 * libtiff/tif_jpeg.c: Workaround for wrong sampling factors used 9064 in the Intergarph JPEG compressed TIFF images as per bug: 9065 9066 http://bugzilla.remotesensing.org/show_bug.cgi?id=532 9067 90682004-04-04 Frank Warmerdam <warmerdam@pobox.com> 9069 9070 * libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails 9071 via bad2. 9072 90732004-03-26 Andrey Kiselev <dron@ak4719.spb.edu> 9074 9075 * tools/tiffcp.c: Properly set Photometric Interpretation in case of 9076 JPEG compression of grayscale images. 9077 9078 * tools/tiffcp.c: Don't emit warnings when Orientation tag does not 9079 present in the input image. 9080 90812004-03-19 Andrey Kiselev <dron@ak4719.spb.edu> 9082 9083 * {many}: The first attempt to switch to autotools. 9084 90852004-03-03 Andrey Kiselev <dron@ak4719.spb.edu> 9086 9087 * libtiff/tif_open.c: Use dummy mmap/munmap functions in 9088 TIFFClientOpen() when the appropriate client functions was not 9089 supplied by user. 9090 90912004-03-02 Frank Warmerdam <warmerdam@pobox.com> 9092 9093 * tools/ycbcr.c: fixed main() declaration as per: 9094 http://bugzilla.remotesensing.org/show_bug.cgi?id=513 9095 90962004-02-26 Andrey Kiselev <dron@ak4719.spb.edu> 9097 9098 * tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed 9099 images. Reported by Artem Mirolubov. 9100 9101 * libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED 9102 tag type in TIFFFetchNormalTag() as per bug 9103 9104 http://bugzilla.remotesensing.org/show_bug.cgi?id=508 9105 91062004-02-17 Frank Warmerdam <warmerdam@pobox.com> 9107 9108 * libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per: 9109 http://bugzilla.remotesensing.org/show_bug.cgi?id=494 9110 91112004-02-05 Andrey Kiselev <dron@ak4719.spb.edu> 9112 9113 * libtiff/tif_fax3.c: Fixed problem with CCITT encoding modes as per 9114 bug 9115 9116 http://bugzilla.remotesensing.org/show_bug.cgi?id=483 9117 9118 But we need more work on fax codec to support update mode. 9119 91202004-01-30 Frank Warmerdam <warmerdam@pobox.com> 9121 9122 * libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck, 9123 TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by 9124 Scott Reynolds. 9125 91262004-01-29 Andrey Kiselev <dron@ak4719.spb.edu> 9127 9128 * libtiff/tiff.h: Fixed tag definitions for TIFFTAG_YCLIPPATHUNITS 9129 and TIFFTAG_INDEXED as per bug 9130 9131 http://bugzilla.remotesensing.org/show_bug.cgi?id=475 9132 9133 * libtiff/{tif_win32.c, tif_unix.c}: Check whether the pointer is 9134 NULL before proceeding further as per bug 9135 9136 http://bugzilla.remotesensing.org/show_bug.cgi?id=474 9137 9138 Check results, returned by the TIFFFdOpen() before returning and close 9139 file if TIFFFdOpen() failed as per bug 9140 9141 http://bugzilla.remotesensing.org/show_bug.cgi?id=468 9142 9143 * libtiff/tif_open.c: More fixes for 9144 9145 http://bugzilla.remotesensing.org/show_bug.cgi?id=468 9146 91472004-01-28 Andrey Kiselev <dron@ak4719.spb.edu> 9148 9149 * libtiff/{libtiff.def, tif_close.c, tiffio.h, tif_open.c}: Separate 9150 TIFFCleanup() from the TIFFClose() in order to fix the bug 9151 9152 http://bugzilla.remotesensing.org/show_bug.cgi?id=468 9153 9154 * tools/tiffcp.c: Fixed problem with wrong interpretation of the 9155 InkNames tag as per bug 9156 9157 http://bugzilla.remotesensing.org/show_bug.cgi?id=466 9158 9159 Memory leak fixed. 9160 91612004-01-21 Frank Warmerdam <warmerdam@pobox.com> 9162 9163 * libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that 9164 are field_passcount=TRUE properly. Arguably anonymous custom tags 9165 should be declared as passcount=FALSE, but I don't want to change 9166 that without a careful review. 9167 91682004-01-20 Andrey Kiselev <dron@ak4719.spb.edu> 9169 9170 * libtiff/tif_write.c: Fixed reporting size of the buffer in case of 9171 stripped image in TIFFWriteBufferSetup(). As per bug 9172 9173 http://bugzilla.remotesensing.org/show_bug.cgi?id=460 9174 91752004-01-11 Andrey Kiselev <dron@ak4719.spb.edu> 9176 9177 * libtiff/tif_dir.c: Incomplete cleanup in TIFFFreeDirectory(), 9178 patch from Gerben Koopmans. 9179 9180 * libtiff/tif_dirread.c: Check field_passcount value before setting 9181 the value of undefined type, patch from Gerben Koopmans. 9182 91832004-01-02 Andrey Kiselev <dron@ak4719.spb.edu> 9184 9185 * tools/tiffcp.c: Fixed problem with wrong Photometric setting for 9186 non-RGB images. 9187 91882003-12-31 Andrey Kiselev <dron@ak4719.spb.edu> 9189 9190 * libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when the NULL 9191 pointer passed. Patch supplied by Larry Grill. 9192 9193 * libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as 9194 suggested by Jeremy C. Reed. 9195 91962003-12-26 Andrey Kiselev <dron@ak4719.spb.edu> 9197 9198 * libtiff 3.6.1 released. 9199 92002003-12-24 Andrey Kiselev <dron@ak4719.spb.edu> 9201 9202 * config.guess, config.sub: Updated from the recent upstream. 9203 92042003-12-22 Andrey Kiselev <dron@ak4719.spb.edu> 9205 9206 * libtiff/{tif_color, tif_getimage.c, tiffio.h}, man/TIFFcolor.3t: 9207 More cleanups in color conversion interface, added appropriate manual 9208 page. 9209 92102003-12-19 Andrey Kiselev <dron@ak4719.spb.edu> 9211 9212 * libtiff/{tif_extension.c, tif_dirinfo.c, tiff.h}: Warnings fixed as 9213 per bug 9214 9215 http://bugzilla.remotesensing.org/show_bug.cgi?id=357 9216 9217 * tools/tiff2ps.c: Added support for alpha channel. Fixes 9218 9219 http://bugzilla.remotesensing.org/show_bug.cgi?id=428 9220 9221 * libtiff/{libtiff.def, tif_color.c, tif_getimage.c, tiffio.h}: 9222 Interface for Lab->RGB color conversion is finally cleaned up. 9223 Added support for ReferenceBlackWhite tag handling when converted from 9224 YCbCr color space. The latter closes 9225 9226 http://bugzilla.remotesensing.org/show_bug.cgi?id=120 9227 92282003-12-07 Andrey Kiselev <dron@ak4719.spb.edu> 9229 9230 * libtiff/{tif_getimage.c, tiffio.h}: Avoid warnings. 9231 9232 * libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG 9233 library. 9234 92352003-12-06 Andrey Kiselev <dron@ak4719.spb.edu> 9236 9237 * libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the 9238 file and properly use it for CIE Lab->RGB transform. 9239 92402003-12-04 Andrey Kiselev <dron@ak4719.spb.edu> 9241 9242 * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: YCbCr->RGB 9243 conversion routines now in the tif_color.c module. New function 9244 TIFFYCbCrtoRGB() available in TIFF API. 9245 9246 * libtiff/tif_dirwrite.c: Handle TIFF_IFD tag type correctly. 9247 92482003-12-03 Andrey Kiselev <dron@ak4719.spb.edu> 9249 9250 * libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: Improvements in 9251 CIE Lab conversion code. Start moving YCbCr stuff to the tif_color.c 9252 module. 9253 9254 * libtiff/{tif_getimage.c, tiffio.h}, man{TIFFReadRGBAImage.3t, 9255 TIFFReadRGBAStrip.3t, TIFFReadRGBATile.3t, TIFFRGBAImage.3t}: 9256 Finally resolved problems with orientation handling. TIFFRGBAImage 9257 interface now properly supports all possible orientations, i.e. images 9258 will be flipped both in horizontal and vertical directions if 9259 required. 'Known bugs' section now removed from the appropriate manual 9260 pages. Closed bug entry: 9261 9262 http://bugzilla.remotesensing.org/show_bug.cgi?id=322 9263 92642003-12-02 Andrey Kiselev <dron@ak4719.spb.edu> 9265 9266 * libtiff/tif_dir.c: Fixed order of the parameters in TIFFError() 9267 function calls as per bug 9268 9269 http://bugzilla.remotesensing.org/show_bug.cgi?id=440 9270 92712003-11-28 Ross Finlayson <libtiff@apexinternetsoftware.com> 9272 9273 * tools/tiff2pdf.c: Some bugs fixed. 9274 92752003-11-27 Andrey Kiselev <dron@ak4719.spb.edu> 9276 9277 * libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine, 9278 reported by Antonio Scuri. 9279 9280 * man/tiff2pdf.1: Few improvements in page layout. 9281 9282 * Makefile.in, /man/Makefile.in, /html/man/tiff2pdf.1.html: 9283 Added support fpr tiff2pdf manual page. 9284 92852003-11-26 Ross Finlayson <libtiff@apexinternetsoftware.com> 9286 9287 * /man/tiff2pdf.1: File added to repository. 9288 92892003-11-26 Andrey Kiselev <dron@ak4719.spb.edu> 9290 9291 * Makefile.in, /tools/{Makefile.in, makefile.vc}: 9292 Added support fpr tiff2pdf utility. 9293 92942003-11-25 Ross Finlayson <libtiff@apexinternetsoftware.com> 9295 9296 * /tools/tiff2pdf.c: File added to repository. 9297 92982003-11-22 Andrey Kiselev <dron@ak4719.spb.edu> 9299 9300 * /tools/raw2tiff.c: sqrtf() replaced with sqrt(). 9301 93022003-11-21 Andrey Kiselev <dron@ak4719.spb.edu> 9303 9304 * /tools/raw2tiff.c: #include <getopt.h> removed. 9305 9306 * tools/{Makefile.in, tiffgt.c}: Unmaintained and platform dependent 9307 sgigt utility removed and replaced with the completely rewritten 9308 portable tiffgt tool (depend on OpenGL and GLUT). Initial revision, 9309 there is a lot of things to improve. 9310 9311 * libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly 9312 extract the fields from the OJPEG files. Patch supplied by Ross 9313 Finlayson. 9314 9315 * libtiff/{tiffio.h, tif_codec.c}, man/{libtiff.3t, TIFFcodec.3t}: 9316 Added new function TIFFIsCODECConfigured(), suggested by Ross 9317 Finlayson. 9318 93192003-11-18 Andrey Kiselev <dron@ak4719.spb.edu> 9320 9321 * libtiff/tif_dirinfo.c: Implemented binary search in 9322 _TIFFMergeFieldInfo(). Patch supplied by Ross Finlayson. 9323 9324 * libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced 9325 with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson. 9326 93272003-11-17 Frank Warmerdam <warmerdam@pobox.com> 9328 9329 * tif_dirread.c: do not mark all anonymously defined tags to be 9330 IGNOREd. 9331 93322003-11-17 Andrey Kiselev <dron@ak4719.spb.edu> 9333 9334 * contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use 9335 TIFFDataWidth() function insted of tiffDataWidth array. 9336 93372003-11-16 Andrey Kiselev <dron@ak4719.spb.edu> 9338 9339 * libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13) 9340 datatype, introduced in "Adobe PageMaker TIFF Tech. Notes". 9341 93422003-11-15 Frank Warmerdam <warmerdam@pobox.com> 9343 9344 * Makefile.in: fixed missing backslash for tif_color.c in list. 9345 93462003-11-13 Andrey Kiselev <dron@ak4719.spb.edu> 9347 9348 * libtiff/{tif_color.c, tif_getimage.c, tiffio.h, Makefile.in}: 9349 New color space conversion code: CIE L*a*b* 1976 images now supported 9350 by the TIFFRGBAImage interface. All introduced routines go to new 9351 module tif_color.c. Eventually all color conversion functions should 9352 be moved there. 9353 93542003-11-12 Andrey Kiselev <dron@ak4719.spb.edu> 9355 9356 * tools/{ras2tiff.c, rasterfile.h}: Properly determine SUN Rasterfiles 9357 with the reverse byte order (it is reported by the magic header 9358 field). Problem reported by Andreas Wiesmann. 9359 9360 * tools/raw2tiff.c, man/raw2tiff.1: Few improvements in correlation 9361 calculation function. Guessing mechanics now documented in manual page. 9362 93632003-11-11 Andrey Kiselev <dron@ak4719.spb.edu> 9364 9365 * tools/raw2tiff.c: Implemented image size guessing using 9366 correlation coefficient calculation between two neighbour lines. 9367 93682003-11-09 Frank Warmerdam <warmerdam@pobox.com> 9369 9370 * libtiff/tif_tile.c: remove spurious use of "s" (sample) in the 9371 planarconfig_contig case in TIFFComputeTile(). 9372 9373 http://bugzilla.remotesensing.org/show_bug.cgi?id=387 9374 93752003-11-09 Andrey Kiselev <dron@ak4719.spb.edu> 9376 9377 * libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint. 9378 93792003-11-07 Andrey Kiselev <dron@ak4719.spb.edu> 9380 9381 * libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}: 9382 Added TIFFRawStripSize() function as suggested by Chris Hanson. 9383 93842003-11-03 Andrey Kiselev <dron@ak4719.spb.edu> 9385 9386 * libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode as 9387 per bug 9388 9389 http://bugzilla.remotesensing.org/show_bug.cgi?id=424 9390 93912003-10-29 Andrey Kiselev <dron@ak4719.spb.edu> 9392 9393 * libtiff/libtiff.def: Added TIFFReadRGBAImageOriented. 9394 9395 * html/build.html: Added note about GNU make requirement. 9396 93972003-10-25 Andrey Kiselev <dron@ak4719.spb.edu> 9398 9399 * Makefile.in: Fixes in using MAKEFLAGS as per bug 9400 9401 http://bugzilla.remotesensing.org/show_bug.cgi?id=418 9402 9403 * port/install.sh.in: Option -p added to the mkdir command to create 9404 all directory tree structure before installing. 9405 94062003-10-18 Andrey Kiselev <dron@ak4719.spb.edu> 9407 9408 * /tools/tiff2ps.c: #include <strings.h> replaced with the 9409 #include <string.h>. 9410 94112003-10-16 Andrey Kiselev <dron@ak4719.spb.edu> 9412 9413 * Makefile.in: Add an absolute path to the test_pics.sh call. 9414 94152003-10-12 Andrey Kiselev <dron@ak4719.spb.edu> 9416 9417 * libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD 9418 typedefs. 9419 94202003-10-09 Andrey Kiselev <dron@ak4719.spb.edu> 9421 9422 * configure, libtiff/{Makefile.in, mkversion.c}: 9423 Relative buildings fixed. 9424 9425 * tools/Makefile.in: Added "-I../libtiff" to the tiffset building 9426 rule. 9427 94282003-10-07 Andrey Kiselev <dron@ak4719.spb.edu> 9429 9430 * Makefile.in: Added missed v3.6.0.html. 9431 9432 * libtiff/tiffio.h: Typo fixed: ORIENTATION_BOTTOMLEFT replaced with 9433 ORIENTATION_BOTLEFT. 9434 94352003-10-04 Andrey Kiselev <dron@ak4719.spb.edu> 9436 9437 * 3.6.0 final release. 9438 94392003-10-03 Andrey Kiselev <dron@ak4719.spb.edu> 9440 9441 * libtiff/{tif_getimage.c, tiffio.h}, man/TIFFReadRGBAImage.3t: New 9442 function TIFFReadRGBAImageOriented() implemented to retrieve raster 9443 array with user-specified origin position as suggested by Jason Frank. 9444 See 9445 9446 http://bugzilla.remotesensing.org/show_bug.cgi?id=322 9447 9448 for details. 9449 9450 * tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented() 9451 instead of TIFFReadRGBAImage(). 9452 9453 * tools/tiff2ps.c: Fixed possible endless loop as per bug 9454 9455 http://bugzilla.remotesensing.org/show_bug.cgi?id=404 9456 94572003-09-30 Andrey Kiselev <dron@ak4719.spb.edu> 9458 9459 * libtiff/tif_dirread.c: Check field counter against number of fields 9460 in order to fix 9461 9462 http://bugzilla.remotesensing.org/show_bug.cgi?id=366 9463 9464 * libtiff/tif_fax3.c: Fix wrong line numbering as per bug 9465 9466 http://bugzilla.remotesensing.org/show_bug.cgi?id=342 9467 94682003-09-25 Andrey Kiselev <dron@ak4719.spb.edu> 9469 9470 * libtiff/{tiffiop.h, tif_dirread.c, tif_dir.c, tif_open.c, 9471 tif_close.c}: Store a list of opened IFD to prevent looping as per bug 9472 9473 http://bugzilla.remotesensing.org/show_bug.cgi?id=383 9474 94752003-09-23 Andrey Kiselev <dron@ak4719.spb.edu> 9476 9477 * libtiff/tif_dirread.c: More fixes for EstimateStripByteCounts(). See 9478 9479 http://bugzilla.remotesensing.org/show_bug.cgi?id=358 9480 94812003-08-21 Andrey Kiselev <dron@ak4719.spb.edu> 9482 9483 * tools/tiffmedian.c: int declaration replaced with the uint32 to 9484 support large images as per bug 9485 9486 http://bugzilla.remotesensing.org/show_bug.cgi?id=382 9487 94882003-08-12 Andrey Kiselev <dron@ak4719.spb.edu> 9489 9490 * libtiff/Makefile.in: Fixed problem with building in different 9491 directory. 9492 9493 * tools/tiff2ps.c: Added missing #include <strings.h>. 9494 9495 * libtiff/tif_dirwrite.c: More fixes for custom tags code 9496 from Ashley Dreier. 9497 94982003-08-07 Andrey Kiselev <dron@ak4719.spb.edu> 9499 9500 * tools/tiff2ps.c: Added page size setting when creating PS Level 2. 9501 Patch submitted by Balatoni Denes (with corrections from Tom 9502 Kacvinsky). 9503 9504 * tools/tiff2ps.c: Fixed PS comment emitted when FlateDecode is 9505 being used. Reported by Tom Kacvinsky. 9506 9507 * libtiff/tif_dirwrite.c: Fixed problem with custom tags writing, 9508 reported by Ashley Dreier. 9509 9510 * libtiff/tif_print.c: Fixed problem with float tags reading, support 9511 for printing RATIONAL and BYTE tags added. 9512 95132003-08-05 Andrey Kiselev <dron@ak4719.spb.edu> 9514 9515 * libtiff/tif_lzw.c: Move LZW codec state block allocation back to 9516 TIFFInitLZW(), because its initialization in LZWSetupDecode() cause 9517 problems with predictor initialization. Remove O_RDONLY check during 9518 state block allocation to be able open LZW compressed files in update 9519 mode. 9520 9521 Problem exist for libtiff version of the tif_lzw.c module. One from 9522 lzw-compression-kit hasn't such troubles. 9523 95242003-08-04 Frank Warmerdam <warmerdam@pobox.com> 9525 9526 * libtiff/tif_write.c: modified tif_write.c so that the various 9527 encoded write functions use tif_postdecode() to apply byte order 9528 swapping (swab) to the application passed data buffer if the same 9529 would be done when reading. This allows us to write pixel data with 9530 more than 8 bits per sample to existing files of a non-native byte 9531 order. One side effect of this change is the applications buffer 9532 itself is altered in this case by the act of writing. 9533 9534 http://bugzilla.remotesensing.org/show_bug.cgi?id=171 9535 95362003-07-25 Frank Warmerdam <warmerdam@pobox.com> 9537 9538 * libtiff/tif_open.c: avoid signed/unsigned casting warning 9539 initializing typemask as per patch from J.A. Strother. 9540 9541 * tools/tiffcp.c: fixed signed/unsigned casting warning. 9542 9543 * libtiff/tif_print.c: dos2unix conversion. 9544 9545 * tools/tiffsplit.c: increased the maximum number of pages that 9546 can be split. Patch provided by Andrew J. Montalenti. 9547 95482003-07-11 Andrey Kiselev <dron@ak4719.spb.edu> 9549 9550 * tools/raw2tiff.c: Added option `-p' to explicitly select color 9551 space of input image data. Closes 9552 9553 http://bugzilla.remotesensing.org/show_bug.cgi?id=364 9554 95552003-07-08 Frank Warmerdam <warmerdam@pobox.com> 9556 9557 * tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c, 9558 tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c, 9559 tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c: 9560 avoid casting warning at /W4. 9561 95622003-07-03 Andrey Kiselev <dron@ak4719.spb.edu> 9563 9564 * tools/thumbnail.c: Memory leak fixed as reported by Robert S. Kissel. 9565 95662003-06-30 Andrey Kiselev <dron@ak4719.spb.edu> 9567 9568 * libtiff/tif_pixarlog.c: Unused variables removed. 9569 9570 * libtiff/{tif_dirread.c, tif_dir.c}: Fixed problem with 9571 EstimateStripByteCounts() as per bug 9572 9573 http://bugzilla.remotesensing.org/show_bug.cgi?id=358 9574 9575 * libtiff/{tif_dirwrite.c, tif_packbits.c}: Fixed compilation on 9576 64-bit architectures as per bug 9577 9578 http://bugzilla.remotesensing.org/show_bug.cgi?id=357 9579 9580 * libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of 9581 unknown data type. 9582 95832003-06-19 Frank Warmerdam <warmerdam@pobox.com> 9584 9585 * libtiff/tif_print.c: fixed some serious bugs when printing 9586 custom tags ... almost certain to crash. 9587 9588 * libtiff/tif_dirread.c: Don't ignore custom fields that are 9589 autodefined. Not sure how this got to be like this. 9590 95912003-06-18 Andrey Kiselev <dron@ak4719.spb.edu> 9592 9593 * 3.6.0 Beta2 released. 9594 9595 * tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data 9596 comparing as per bug 9597 9598 http://bugzilla.remotesensing.org/show_bug.cgi?id=349 9599 9600 `-z' option now can be used to set the number of reported different 9601 bytes. 9602 96032003-06-09 Andrey Kiselev <dron@ak4719.spb.edu> 9604 9605 * tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1 9606 to -r option to get the entire image as one strip. See 9607 9608 http://bugzilla.remotesensing.org/show_bug.cgi?id=343 9609 9610 for details. 9611 96122003-06-04 Andrey Kiselev <dron@ak4719.spb.edu> 9613 9614 * tools/tiffcp.c: Set the correct RowsPerStrip and PageNumber 9615 values as per bug 9616 9617 http://bugzilla.remotesensing.org/show_bug.cgi?id=343 9618 96192003-05-27 Frank Warmerdam <warmerdam@pobox.com> 9620 9621 * libtiff/tif_jpeg.c: modified segment_height calculation to always 9622 be a full height tile for tiled images. Also changed error to just 9623 be a warning. 9624 96252003-05-25 Andrey Kiselev <dron@ak4719.spb.edu> 9626 9627 * tools/fax2tiff.c: Page numbering fixed, as per bug 9628 9629 http://bugzilla.remotesensing.org/show_bug.cgi?id=341 9630 96312003-05-20 Andrey Kiselev <dron@ak4719.spb.edu> 9632 9633 * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README}, 9634 configure, Makefile.in: Switched back to the old behaviour. Likely 9635 better solution should be found for OJPEG support. 9636 96372003-05-11 Andrey Kiselev <dron@ak4719.spb.edu> 9638 9639 * libtiff/mkversion.c: Fixed problem with wrong string size when 9640 reading RELEASE-DATE file. 9641 96422003-05-07 Andrey Kiselev <dron@ak4719.spb.edu> 9643 9644 * tools/tiff2ps.c: Fixed bug in Ascii85EncodeBlock() function: array 9645 index was out of range. 9646 96472003-05-06 Andrey Kiselev <dron@ak4719.spb.edu> 9648 9649 * contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README}, 9650 configure, Makefile.in: Improved libtiff compilation with OJPEG 9651 support. Now no need for patching IJG JPEG library, hack required by 9652 libtiff will be compiled and used in-place. Implemented with 9653 suggestion and help from Bill Allombert, Debian's libjpeg maintainer. 9654 9655 * libtiff/tif_aux.c: Properly handle TIFFTAG_PREDICTOR in 9656 TIFFVGetFieldDefaulted() function. 9657 96582003-05-05 Andrey Kiselev <dron@ak4719.spb.edu> 9659 9660 * tools/ppm2tiff.c: PPM header parser improved: now able to skip 9661 comments. 9662 9663 * tools/tiffdither.c: Fixed problem with bit fill order tag setting: 9664 was not copied from source image. 9665 9666 * libtiff/getimage.c: Workaround for some images without correct 9667 info about alpha channel as per bug 9668 9669 http://bugzilla.remotesensing.org/show_bug.cgi?id=331 9670 96712003-04-29 Andrey Kiselev <dron@ak4719.spb.edu> 9672 9673 * tools/tiff2ps.c, man/tiff2ps.1: Add ability to generate PS Level 3. 9674 It basically allows one to use the /flateDecode filter for ZIP 9675 compressed TIFF images. Patch supplied by Tom Kacvinsky. Fixes 9676 9677 http://bugzilla.remotesensing.org/show_bug.cgi?id=328 9678 9679 * tools/tiff2ps.c: Force deadzone printing when EPS output specified 9680 as per bug 9681 9682 http://bugzilla.remotesensing.org/show_bug.cgi?id=325 9683 96842003-04-17 Andrey Kiselev <dron@ak4719.spb.edu> 9685 9686 * libtiff/tif_dirread.c: Removed additional check for StripByteCounts 9687 due to problems with multidirectory images. Quality of error messages 9688 improved. 9689 96902003-04-16 Andrey Kiselev <dron@ak4719.spb.edu> 9691 9692 * tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG 9693 encoded images. See bug entries 9694 9695 http://bugzilla.remotesensing.org/show_bug.cgi?id=275 9696 9697 and 9698 9699 http://bugzilla.remotesensing.org/show_bug.cgi?id=23 9700 9701 * libtiff/tif_dirread.c: Additional check for StripByteCounts 9702 correctness. Fixes 9703 9704 http://bugzilla.remotesensing.org/show_bug.cgi?id=320 9705 97062003-03-12 Andrey Kiselev <dron@ak4719.spb.edu> 9707 9708 * tools/{fax2ps.c, fax2tiff.c, gif2tiff.c, pal2rgb.c, ppm2tiff.c, 9709 ras2tiff.c, raw2tiff.c, rgb2ycbcr.c, thumbnail.c, tiff2bw.c, 9710 tiff2ps.c, tiff2rgba.c, tiffcp.c, tiffdither.c, tiffinfo.c, 9711 tiffmedian.c}: Added library version reporting facility to all tools. 9712 97132003-03-06 Frank Warmerdam <warmerdam@pobox.com> 9714 9715 * port/install.sh.in: Fixed problems with install producing paths 9716 like ///usr/local/lib on cygwin. 9717 97182003-02-27 Andrey Kiselev <dron@ak4719.spb.edu> 9719 9720 * tools/fax2tiff.c, man/fax2tiff.1: New switch (-X) to set width of 9721 raw input page. Patch supplied by Julien Gaulmin. See 9722 9723 http://bugzilla.remotesensing.org/show_bug.cgi?id=293 9724 9725 for details. 9726 97272003-02-26 Frank Warmerdam <warmerdam@pobox.com> 9728 9729 * libtiff/tif_dir.c: fixed up the tif_postdecode settings 9730 responsible for byte swapping complex image data. 9731 9732 * libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till 9733 LZWSetupDecode(). Needed to read LZW files in "r+" mode. 9734 97352003-02-07 Andrey Kiselev <dron@ak4719.spb.edu> 9736 9737 * tools/ppm2tiff.c: Fixed problem with too many arguments. 9738 97392003-02-04 Andrey Kiselev <dron@ak4719.spb.edu> 9740 9741 * tools/raw2tiff.c: Memory leak fixed. 9742 97432003-02-03 Andrey Kiselev <dron@ak4719.spb.edu> 9744 9745 * tools/fax2tiff.c, man/fax2tiff.1: Applied patch from Julien Gaulmin 9746 (thanks, Julien!). More switches for fax2tiff tool for better control 9747 of input and output. Details at 9748 9749 http://bugzilla.remotesensing.org/show_bug.cgi?id=272 9750 97512003-02-03 Frank Warmerdam <warmerdam@pobox.com> 9752 9753 * libtiff/tif_jpeg.c: Modified to defer initialization of jpeg 9754 library so that we can check if there is already any tile/strip data 9755 before deciding between creating a compressor or a decompressor. 9756 97572003-01-31 Frank Warmerdam <warmerdam@pobox.com> 9758 9759 * libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is 9760 a pre-existing compressed image. That is, image writing to 9761 pre-existing compressed images is not allowed. 9762 9763 * libtiff/tif_open.c: Removed error if opening a compressed file 9764 in update mode. 9765 9766 http://bugzilla.remotesensing.org/show_bug.cgi?id=198 9767 97682003-01-31 Andrey Kiselev <dron@ak4719.spb.edu> 9769 9770 * config.guess, config.sub: Updated to recent upstream versions. 9771 97722003-01-15 Frank Warmerdam <warmerdam@pobox.com> 9773 9774 * cut 3.6.0 Beta release. 9775 97762002-12-20 Andrey Kiselev <dron@ak4719.spb.edu> 9777 9778 * tools/fax2ps.c, man/fax2ps.1: Page size was determined 9779 in wrong way as per bug 9780 9781 http://bugzilla.remotesensing.org/show_bug.cgi?id=239 9782 97832002-12-17 Frank Warmerdam <warmerdam@pobox.com> 9784 9785 * libtiff/tif_dirread.c: Allow wrong sized arrays in 9786 TIFFFetchStripThing(). 9787 9788 http://bugzilla.remotesensing.org/show_bug.cgi?id=49 9789 97902002-12-02 Frank Warmerdam <warmerdam@pobox.com> 9791 9792 * libtiff/tif_dir.c: fix problem with test on td_customValueCount. 9793 Was using realloc even first time. Fix by Igor Venevtsev. 9794 97952002-11-30 Frank Warmerdam <warmerdam@pobox.com> 9796 9797 * libtiff/tif_dir.c: fixed bug with resetting an existing custom 9798 field value. 9799 9800 * libtiff/tif_dir.c: Fixed potential problem with ascii "custom" 9801 tags in TIFFVGetField() ... added missing break. 9802 98032002-10-14 Frank Warmerdam <warmerdam@pobox.com> 9804 9805 * tools/tiff2ps.c: fixes a problem where "tiff2ps -1e" did not make 9806 the scanline buffer long enough when writing rgb triplets. 9807 The scanline needs to be 3 X the number of dots or else it will 9808 contain an incomplete triplet and programs that try to separate 9809 the eps by redefining the colorimage operator will get messed up. 9810 Patch supplied by William Bader. 9811 9812 * Makefile.in: added tif_extension.c to file list as per 9813 http://bugzilla.remotesensing.org/show_bug.cgi?id=218. 9814 98152002-10-11 Andrey Kiselev <dron@ak4719.spb.edu> 9816 9817 * configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for 9818 large files (>2GiB) supporting. New option in the config.site: 9819 LARGEFILE="yes". Should be enough for I/O of the large files. 9820 98212002-10-10 Frank Warmerdam <warmerdam@pobox.com> 9822 9823 * libtiff/html/v3.6.0.html: new release notes. 9824 9825 * libtiff/index.html: removed faq, cvs snapshot cruft. Added email 9826 link for Andrey. Pointer to v3.6.0.html. 9827 9828 * libtiff/Makefile.in: added direct rule for tiffvers.h for release. 9829 98302002-10-07 Andrey Kiselev <dron@ak4719.spb.edu> 9831 * tools/tiff2ps.c, man/tiff2ps.1: Applied patch form Sebastian Eken 9832 (thanks, Sebastian!). New switches: 9833 -b # for a bottom margin of # inches 9834 -c center image 9835 -l # for a left margin of # inches 9836 -r rotate the image by 180 degrees 9837 New features merged with code for shrinking/overlapping. 9838 Previously added -c and -n switches (for overriding PS units) renamed 9839 in -x and -y respectively. 9840 9841 http://bugzilla.remotesensing.org/show_bug.cgi?id=200 9842 9843 * html/man/*.html: Updated from actual manual pages. 9844 98452002-10-06 Frank Warmerdam <warmerdam@pobox.com> 9846 9847 * libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong 9848 size on windows. Use #define boolean hack. 9849 9850 http://bugzilla.remotesensing.org/show_bug.cgi?id=188 9851 9852 * libtiff/tiff.h: Don't do special type handling in tiff.h unless 9853 USING_VISUALAGE is defined. 9854 9855 http://bugzilla.remotesensing.org/show_bug.cgi?id=39 9856 98572002-10-03 Frank Warmerdam <warmerdam@pobox.com> 9858 9859 * libtiff/tiff.h: added COMPRESSION_JP2000. 9860 98612002-10-02 Andrey Kiselev <dron@ak4719.spb.edu> 9862 9863 * libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays 9864 by the TIFFFetchByteArray() function. Should finally resolve 9865 9866 http://bugzilla.remotesensing.org/show_bug.cgi?id=52 9867 9868 * configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT 9869 9870 * html/Makefile.in: New targets added: html and groffhtml for 9871 producing HTML representations of the manual pages automatically. 9872 html target uses man2html tool, groffhtml uses groff tool. 9873 98742002-09-29 Frank Warmerdam <warmerdam@pobox.com> 9875 9876 * configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support 9877 from John H. DuBois III. 9878 98792002-09-15 Andrey Kiselev <dron@ak4719.spb.edu> 9880 9881 * Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added 9882 manual page for raw2tiff(1) tool. 9883 98842002-09-12 Andrey Kiselev <dron@ak4719.spb.edu> 9885 9886 * /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to 9887 the tiffio.h header file. 9888 9889 * Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added 9890 manual page for TIFFDataWidth() function 9891 98922002-09-08 Frank Warmerdam <warmerdam@pobox.com> 9893 9894 * libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair() 9895 as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196. 9896 9897 * tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments 9898 since we are unable to properly include the amount to skip. 9899 9900 http://bugzilla.remotesensing.org/show_bug.cgi?id=80 9901 99022002-09-02 Andrey Kiselev <dron@ak4719.spb.edu> 9903 9904 * /libtiff/tif_dirread.c: Fixed problem with SBYTE type data fetching 9905 in TIFFFetchByteArray(). Problem described at 9906 http://bugzilla.remotesensing.org/show_bug.cgi?id=52 9907 99082002-08-22 Andrey Kiselev <dron@ak4719.spb.edu> 9909 9910 * /libtiff/tif_dirinfo.c: Further additions to free custom fields 9911 in _TIFFSetupFieldInfo() function. 9912 See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details. 9913 9914 * /libtiff/tif_lzw.c: Additional consistency checking added in 9915 LZWDecode() and LZWDecodeCompat(). 9916 Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190 9917 and http://bugzilla.remotesensing.org/show_bug.cgi?id=100 9918 9919 * /libtiff/tif_lzw.c: 9920 Added check for valid code lengths in LZWDecode() and 9921 LZWDecodeCompat(). Fixes 9922 http://bugzilla.remotesensing.org/show_bug.cgi?id=115 9923 99242002-08-16 Andrey Kiselev <dron@ak4719.spb.edu> 9925 9926 * /libtiff/{Makefile.vc, libtiff.def}: 9927 Missed declarations added. 9928 99292002-08-15 Frank Warmerdam <warmerdam@pobox.com> 9930 9931 * tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the 9932 return code from the underlying pick function. 9933 9934 http://bugzilla.remotesensing.org/show_bug.cgi?id=177 9935 9936 * tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap 9937 with FIELD_CUSTOM as mentioned in bug 169. 9938 9939 * tif_close.c: added logic to free dynamically created anonymous 9940 field definitions to correct a small memory leak. 9941 9942 http://bugzilla.remotesensing.org/show_bug.cgi?id=169 9943 99442002-08-10 Andrey Kiselev <dron@ak4719.spb.edu> 9945 9946 * /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}: 9947 New tool: raw2tiff --- raw images to TIFF converter. No manual page yet. 9948 99492002-07-31 Frank Warmerdam <warmerdam@pobox.com> 9950 9951 * libtiff/tif_jpeg.c: Fixed problem with setting of nrows in 9952 JPEGDecode() as per bugzilla bug (issue 1): 9953 9954 http://bugzilla.remotesensing.org/show_bug.cgi?id=129 9955 9956 * libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to 9957 fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't 9958 present in the tiff tags. 9959 9960 http://bugzilla.remotesensing.org/show_bug.cgi?id=168 9961 9962 * libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and 9963 TIFFWriteScanline() now set tif_row explicitly in case the codec has 9964 fooled with the value. 9965 9966 http://bugzilla.remotesensing.org/show_bug.cgi?id=129 9967 99682002-06-22 Andrey Kiselev <dron@ak4719.spb.edu> 9969 9970 * /tools/tiff2ps.c: Added workaround for some software that may crash 9971 when last strip of image contains fewer number of scanlines than 9972 specified by the `/Height' variable. See 9973 http://bugzilla.remotesensing.org/show_bug.cgi?id=164 9974 for explanation. 9975 99762002-06-21 Andrey Kiselev <dron@ak4719.spb.edu> 9977 9978 * tools/tiff2ps, man/tiff2ps.1: New functionality for tiff2ps utility: 9979 splitting long images in several pages. See 9980 http://bugzilla.remotesensing.org/show_bug.cgi?id=142 for explanation. 9981 Patch granted by John Williams <williams@morinda.com>. 9982 99832002-06-11 Frank Warmerdam <warmerdam@pobox.com> 9984 9985 * libtiff/contrib/win95: renamed to contrib/win_dib. Added new 9986 Tiffile.cpp example of converting TIFF files into a DIB on Win32. 9987 This one is described in: 9988 9989 http://bugzilla.remotesensing.org/show_bug.cgi?id=143 9990 9991 * libtiff/tif_ojpeg.c: Major upgrade from Scott. See details at: 9992 9993 http://bugzilla.remotesensing.org/show_bug.cgi?id=156 9994 99952002-05-10 Andrey Kiselev <dron@ak4719.spb.edu> 9996 9997 * tools/tiff2ps: New commandline switches to override resolution 9998 units obtained from the input file. Closes 9999 http://bugzilla.remotesensing.org/show_bug.cgi?id=131 10000 100012002-04-26 Andrey Kiselev <dron@ak4719.spb.edu> 10002 10003 * libtiff/libtiff.def: Added missed declaration. 10004 100052002-04-22 Andrey Kiselev <dron@ak4719.spb.edu> 10006 10007 * tools/fax2tiff.c: Updated to reflect latest changes in libtiff. 10008 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125 10009 100102002-04-20 Andrey Kiselev <dron@ak4719.spb.edu> 10011 10012 * libtiff/tif_open.c: Pointers to custom procedures 10013 in TIFFClientOpen() are checked to be not NULL-pointers. 10014 100152002-04-18 Andrey Kiselev <dron@ak4719.spb.edu> 10016 10017 * libtiff/libtiff.def: Added missed declarations. 10018 10019 * libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure. 10020 100212002-04-16 Andrey Kiselev <dron@ak4719.spb.edu> 10022 10023 * libtiff/tif_lzw.c: Additional checks for data integrity introduced. 10024 Should finally close 10025 http://bugzilla.remotesensing.org/show_bug.cgi?id=100 10026 100272002-04-10 Andrey Kiselev <dron@ak4719.spb.edu> 10028 10029 * tools/tiff2ps: Division by zero fixed. 10030 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88 10031 100322002-04-09 Andrey Kiselev <dron@ak4719.spb.edu> 10033 10034 * libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h: 10035 TIFFCheckpointDirectory() routine added. 10036 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124 10037 10038 * man/: TIFFWriteDirectory.3t, Makefile.in: Added description 10039 for the new function. 10040 100412002-04-08 Andrey Kiselev <dron@ak4719.spb.edu> 10042 10043 * libtiff/: tif_codec.c, tif_compress.c, tiffiop.h: Introduced 10044 additional members tif->tif_decodestatus and tif->tif_encodestatus 10045 for correct handling of unconfigured codecs (we should not try to read 10046 data or to define data size without correct codecs). 10047 10048 * libtiff/tif_getimage.c: The way of codecs checking in TIFFRGBAImageOK 10049 changed. Now it has used tif->tif_decodestatus and 10050 tif->tif_encodestatus. 10051 Should fix http://bugzilla.remotesensing.org/show_bug.cgi?id=119 (in 10052 case of __cvs_8.tif test image). 10053 10054 * libtiff/: tif_dirinfo.c, tif_dirread.c: Somebody makes a bug in 10055 tif_dirread.c when TIFFCreateAnonFieldInfo was introduced. 10056 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=119 in case 10057 of _cvs_00000-00.tif, _cvs_00000-01.tif and _cvs_00000-02.tif. 10058 100592002-04-04 Andrey Kiselev <dron@ak4719.spb.edu> 10060 10061 * libtiff/: tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat 10062 replaced by warnings. Now libtiff should read corrupted LZW-compressed 10063 files by skipping bad strips. 10064 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100 10065 100662002-04-03 Frank Warmerdam <warmerdam@pobox.com> 10067 10068 * libtiff/tif_dirwrite.c: Removed some dead code. 10069 10070 * libtiff/*: Cleanup some warnings. 10071 10072 * libtiff/tif_dir.c: Fixed bug with count returned by TIFFGetField() 10073 for variable length FIELD_CUSTOM values. Was int * but should be 10074 u_short *. 10075 100762002-04-01 Andrey Kiselev <dron@ak4719.spb.edu> 10077 10078 * tools/: tifcp.c: Added support for 'Orientation' tag in tiffcp 10079 utility (at cpStripToTile routine). 10080 100812002-03-27 Frank Warmerdam <warmerdam@pobox.com> 10082 10083 * tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func. 10084 10085 http://bugzilla.remotesensing.org/show_bug.cgi?id=111 10086 10087 * tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with 10088 passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE). 10089 10090 * libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so 10091 that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example. 10092 100932002-03-26 Dwight Kelly <dbmalloc@remotesensing.org> 10094 10095 * libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, 10096 tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined 10097 in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec 10098 INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: 10099 CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and 10100 INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9). 10101 101022002-03-26 Andrey Kiselev <dron@ak4719.spb.edu> 10103 10104 * libtiff/: tif_getimage.c: TIFFReadRGBAStrip and TIFFReadRGBATile 10105 now also uses TIFFRGBAImageOK before reading. This is additional fix 10106 for http://bugzilla.remotesensing.org/show_bug.cgi?id=110 10107 101082002-03-25 Andrey Kiselev <dron@ak4719.spb.edu> 10109 10110 * libtiff/: tif_getimage.c: Additional check for supported 10111 codecs added in TIFFRGBAImageOK and TIFFReadRGBAImage now uses 10112 TIFFRGBAImageOK before reading. 10113 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=110 10114 101152002-03-15 Andrey Kiselev <dron@ak4719.spb.edu> 10116 10117 * libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c, 10118 tif_dirwrite.c: Added routine TIFFDataWidth for detrmining 10119 TIFFDataType sizes instead of working with tiffDataWidth array 10120 directly. Should prevent out-of-borders bugs in case of unknown or 10121 broken data types. EstimateStripByteCounts routine modified, so it 10122 won't work when tags with uknown sizes founded. 10123 Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=109 10124 101252002-03-13 Andrey Kiselev <dron@ak4719.spb.edu> 10126 10127 * libtiff/tif_getimage.c: Added support for correct handling 10128 `Orientation' tag in gtTileContig. Should be added in other gt* 10129 functions as well, but I have not images for testing yet. Partially 10130 resolves http://bugzilla.remotesensing.org/show_bug.cgi?id=23 10131 101322002-03-10 Andrey Kiselev <dron@ak4719.spb.edu> 10133 10134 * libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to 10135 read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION, 10136 TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC. Closes 10137 http://bugzilla.remotesensing.org/show_bug.cgi?id=99 10138 101392002-03-08 Andrey Kiselev <dron@ak4719.spb.edu> 10140 10141 * libtiff/Makefile.in, tools/Makefile.in: Shared library will not 10142 be stripped when installing, utility binaries will do. Closes 10143 http://bugzilla.remotesensing.org/show_bug.cgi?id=93 10144 101452002-02-28 Frank Warmerdam <warmerdam@pobox.com> 10146 10147 * man/TIFFGetField: fixed type of TIFFTAG_COPYRIGHT. 10148 10149 * man/libtiff.3t: added copyright tag info. 10150 101512002-02-11 Frank Warmerdam <warmerdam@pobox.com> 10152 10153 * libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__. 10154 10155 http://bugzilla.remotesensing.org/show_bug.cgi?id=94 10156 10157 * man/Makefile.in: Patch DESTDIR handling 10158 10159 http://bugzilla.remotesensing.org/show_bug.cgi?id=95 10160 10161 * configure: OpenBSD changes for Sparc64 and DSO version. 10162 10163 http://bugzilla.remotesensing.org/show_bug.cgi?id=96 10164 101652002-02-05 Frank Warmerdam <warmerdam@pobox.com> 10166 10167 * config.site/configure: added support for OJPEG=yes option to enable 10168 OJPEG support from config.site. 10169 101702002-01-27 Frank Warmerdam <warmerdam@pobox.com> 10171 10172 * html/document.html: fixed links for TIFf 6 docs. 10173 101742002-01-18 Frank Warmerdam <warmerdam@pobox.com> 10175 10176 * config.guess, config.sub: Updated from ftp.gnu.org/pub/config. 10177 10178 * libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the 10179 decodestrip function returns anything not greater than zero as per 10180 http://bugzilla.remotesensing.org/show_bug.cgi?id=97 10181 10182 * configure: Modify CheckForBigEndian so it can work in a cross 10183 compiled situation. 10184 101852002-01-16 Frank Warmerdam <warmerdam@pobox.com> 10186 10187 * tools/tiffdump.c: include TIFFTAG_JPEGTABLES in tag list. 10188 10189 * tools/tiffset.c: fix bug in error reporting. 10190 10191 * tools/tiffcp.c: fix several warnings that show up with -Wall. 10192 101932002-01-04 Frank Warmerdam <warmerdam@pobox.com> 10194 10195 * libtiff/tif_jpeg.c: fixed computation of segment_width for 10196 tiles files to avoid error about it not matching the 10197 cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile 10198 size.") for ITIFF files. Apparently the problem was incorporated since 10199 3.5.5, presumably during the OJPEG/JPEG work recently. 10200 102012001-12-15 Frank Warmerdam <warmerdam@pobox.com> 10202 10203 * configure, libtiff/Makefile.in: Changes for building on MacOS 10.1. 10204 10205 http://bugzilla.remotesensing.org/show_bug.cgi?id=94 10206 10207 * libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 10208 (defined in tiffconf.h - 1 by default) then the RGBA interface 10209 will assume that a fourth extra sample is ASSOCALPHA if the 10210 EXTRASAMPLE value isn't set for it. This changes the behaviour of 10211 the library, but makes it work better with RGBA files produced by 10212 lots of applications that don't mark the alpha values properly. 10213 10214 http://bugzilla.remotesensing.org/show_bug.cgi?id=93 10215 http://bugzilla.remotesensing.org/show_bug.cgi?id=65 10216 102172001-12-12 Frank Warmerdam <warmerdam@pobox.com> 10218 10219 * libtiff/tif_jpeg.c: allow jpeg data stream sampling values to 10220 override those from tiff directory. This makes this work with 10221 ImageGear generated files. 10222 102232001-12-07 Frank Warmerdam <warmerdam@pobox.com> 10224 10225 * html/Makefile.in: added missing images per bug 92. 10226 10227 * port/Makefile.in: fixed clean target per bug 92. 10228 102292001-11-28 Frank Warmerdam <warmerdam@pobox.com> 10230 10231 * Reissue 3.5.7 release. 10232 10233 * libtiff/mkversion.c: Fix output of TIFF_VERSION to be 10234 YYYYMMDD so that it is increasing over time. 10235 10236 * Makefile.in: Ensure that tiffvers.h is regenerated in the 10237 make release target. 10238 10239 * Makefile.in: added libtiff/tiffvers.h to the release file list. 10240 102412001-11-23 Frank Warmerdam <warmerdam@pobox.com> 10242 10243 * added html/v3.5.7.html, updated html/index.html. 10244 10245 * Makefile.in: added contrib/addtiffo/tif_ovrcache.{c,h}. 10246 102472001-11-15 Frank Warmerdam <warmerdam@pobox.com> 10248 10249 * configure: fixed test for -lm. 10250 102512001-11-02 Frank Warmerdam <warmerdam@pobox.com> 10252 10253 * Added PHOTOMETRIC_ITULAB as per bug 90. 10254 10255 http://bugzilla.remotesensing.org/show_bug.cgi?id=90 10256 102572001-10-10 Frank Warmerdam <warmerdam@pobox.com> 10258 10259 * libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, 10260 COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases 10261 in keeping with TIFF 6.0 standard in tiff.h 10262 10263 http://bugzilla.remotesensing.org/show_bug.cgi?id=83 10264 102652001-09-26 Frank Warmerdam <warmerdam@pobox.com> 10266 10267 * libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function. 10268 Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory. 10269 102702001-09-24 Frank Warmerdam <warmerdam@pobox.com> 10271 10272 * libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug. 10273 10274 http://bugzilla.remotesensing.org/show_bug.cgi?id=78 10275 10276 * libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an 10277 error about LZW not being available. 10278 10279 * libtiff/tif_dir.c: propagate failure to initialize compression 10280 back from TIFFSetField() as an error status, so applications can 10281 detect failure. 10282 10283 * libtiff/tif_dir.c: removed the auto replacement of 10284 COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField(). 10285 10286 * Removed Makefile, tools/Makefile, port/install.sh, man/Makefile 10287 from CVS as they are all supposed to be auto-generated by configure. 10288 102892001-09-22 Frank Warmerdam <warmerdam@pobox.com> 10290 10291 * libtiff/tif_ojpeg.c: new update from Scott. 10292 102932001-09-09 Frank Warmerdam <warmerdam@pobox.com> 10294 10295 * libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to 10296 always use the "safe" version, even if there is a very slight 10297 cost in performance. 10298 10299 http://bugzilla.remotesensing.org/show_bug.cgi?id=54 10300 10301 * libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@ 10302 in two places. 10303 10304 * libtiff/tif_getimage.c: Fixed problem with reading strips or 10305 tiles that don't start on a tile boundary. Fix contributed by 10306 Josep Vallverdu (from HP), and further described in bug 47. 10307 10308 http://bugzilla.remotesensing.org/show_bug.cgi?id=47 10309 10310 * tools/tiff2ps.c: added OJPEG YCbCr to RGB support. 10311 10312 * libtiff/tif_ojpeg.c: Applied substantial patch from Scott. 10313 103142001-09-06 Frank Warmerdam <warmerdam@pobox.com> 10315 10316 * libtiff/tif_packbits.c: fixed memory overrun error. 10317 10318 http://bugzilla.remotesensing.org/show_bug.cgi?id=77 10319 103202001-08-31 Frank Warmerdam <warmerdam@pobox.com> 10321 10322 * libtiff/tif_getimage.c: relax handling of contig case where 10323 there are extra samples that are supposed to be ignored. This 10324 should now work for 8bit greyscale or palletted images. 10325 10326 http://bugzilla.remotesensing.org/show_bug.cgi?id=75 10327 103282001-08-28 Frank Warmerdam <warmerdam@pobox.com> 10329 10330 * libtiff/tif_getimage.c: Don't complain for CMYK (separated) 10331 images with more than four samples per pixel. See: 10332 10333 http://bugzilla.remotesensing.org/show_bug.cgi?id=73 10334 103352001-08-10 Frank Warmerdam <warmerdam@pobox.com> 10336 10337 * libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy() 10338 in TIFFReadRGBATile() to avoid issues in cases of overlapping 10339 buffers. See Bug 69 in Bugzilla. 10340 10341 http://bugzilla.remotesensing.org/show_bug.cgi?id=69 10342 10343 * tools/tiff2rgba.c: fixed getopt() call so that -b works again. 10344 103452001-08-09 Frank Warmerdam <warmerdam@pobox.com> 10346 10347 * libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ 10348 when checking for 64 bit architectures as per bugzilla bug 67. 10349 103502001-07-27 Frank Warmerdam <warmerdam@pobox.com> 10351 10352 * man/Makefile.in: add TIFFClientOpen link as per debian submitted 10353 bug 66. 10354 103552001-07-20 Frank Warmerdam <warmerdam@pobox.com> 10356 10357 * libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H 10358 has been included. 10359 103602001-07-19 Frank Warmerdam <warmerdam@pobox.com> 10361 10362 * libtiff/tif_open.c: Seek back to zero after failed read, 10363 before writing header. 10364 103652001-07-18 Frank Warmerdam <warmerdam@pobox.com> 10366 10367 * libtiff/tif_ojpeg.c: updates from Scott. Handles colors 10368 much better. Now depends on having patched libjpeg as per 10369 patch in contrib/ojpeg/*. 10370 103712001-07-17 Frank Warmerdam <warmerdam@pobox.com> 10372 10373 * */Makefile.in: added DESTDIR support. 10374 10375 http://bugzilla.remotesensing.org/show_bug.cgi?id=60 10376 103772001-07-16 Frank Warmerdam <warmerdam@pobox.com> 10378 10379 * configure, libtiff/Makefile.in: applied OpenBSD patches 10380 as per: 10381 10382 http://bugzilla.remotesensing.org/show_bug.cgi?id=61 10383 103842001-06-28 Frank Warmerdam <warmerdam@pobox.com> 10385 10386 * libtiff/tif_getimage.c: Fixed so that failure is properly 10387 reported by gtTileContig, gtStripContig, gtTileSeparate and 10388 gtStripSeparate. 10389 10390 See http://bugzilla.remotesensing.org/show_bug.cgi?id=51 10391 10392 * tiffcmp.c: Fixed multi samples per pixel support for ContigCompare. 10393 Updated bug section of tiffcmp.1 to note tiled file issues. 10394 10395 See http://bugzilla.remotesensing.org/show_bug.cgi?id=53 10396 103972001-06-22 Frank Warmerdam <warmerdam@pobox.com> 10398 10399 * configure: Changes for DSO generation on AIX provided by 10400 John Marquart <jomarqua@indiana.edu>. 10401 10402 * configure, libtiff/Makeifle.in: Modified to build DSOs properly 10403 on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and 10404 Keisuke Fujii (fujiik@jlcuxf.kek.jp). 10405 104062001-06-13 Frank Warmerdam <warmerdam@pobox.com> 10407 10408 * tools/tiff2rgba.c: added -n flag to avoid emitting alpha component. 10409 10410 * man/tiff2rgba.1: new 10411 104122001-05-22 Frank Warmerdam <warmerdam@pobox.com> 10413 10414 * Added tiffset and tif_ojpeg to the dist lists in Makefile.in. 10415 104162001-05-13 Frank Warmerdam <warmerdam@pobox.com> 10417 10418 * libtiff/tools/thumbnail.c: changed default output compression 10419 to packbits from LZW since LZW isn't generally available. 10420 104212001-05-12 Frank Warmerdam <warmerdam@pobox.com> 10422 10423 * libtiff/tif_ojpeg.c: New. 10424 libtiff/tif_jpeg.c, tiffconf.h, tif_getimage.c: changes related 10425 to OJPEG support. 10426 10427 Scott Marovich <marovich@hpl.hp.com> supplied OJPEG support. 10428 104292001-05-11 Frank Warmerdam <warmerdam@pobox.com> 10430 10431 * tiff.h: removed, it duplicates libtiff/tiff.h. 10432 104332001-05-08 Frank Warmerdam <warmerdam@pobox.com> 10434 10435 * libtiff/tif_dirinfo.c: moved pixar and copyright flags to 10436 ensure everything is in order. 10437 10438 * libtiff/libtiff.def: added TIFFCreateDirectory and 10439 TIFFDefaultStripSize as per: 10440 10441 http://bugzilla.remotesensing.org/show_bug.cgi?id=46 10442 104432001-05-02 Frank Warmerdam <warmerdam@pobox.com> 10444 10445 * libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for 10446 TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to 10447 force use of uint32 counts instead of short counts. 10448 10449 * libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the 10450 case of writing TIFF_BYTE/TIFF_SBYTE fields. 10451 10452 http://bugzilla.remotesensing.org/show_bug.cgi?id=43 10453 104542001-05-01 Frank Warmerdam <warmerdam@pobox.com> 10455 10456 * libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per 10457 bug report http://bugzilla.remotesensing.org/show_bug.cgi?id=44 10458 104592001-04-05 Frank Warmerdam <warmerdam@pobox.com> 10460 10461 * tiffio.h: removed C++ style comment. 10462 10463 * configure: fixed up SCRIPT_SH/SHELL handling. 10464 10465 * Makefile.in: Fixed SCRIPT_SH/SHELL handling. 10466 10467 * config.guess: documented more variables as per bug 40. 10468 104692001-04-03 Frank Warmerdam <warmerdam@pobox.com> 10470 10471 * configure, *Makefile.in: Various changes to improve configuration 10472 for HP/UX specifically, and also in general. They include: 10473 - Try to handle /usr/bin/sh instead of /bin/sh where necessary. 10474 - Upgrade to HP/UX 10.x+ compiler, linker and dso options. 10475 - Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP 10476 - Use -${MAKEFLAGS} in sub makes from makefiles. 10477 10478 http://bugzilla.remotesensing.org/show_bug.cgi?id=40 10479 104802001-04-02 Frank Warmerdam <warmerdam@pobox.com> 10481 10482 * libtiff/tiff.h: Applied hac to try and resolve the problem 10483 with the inttypes.h include file on AIX. 10484 10485 See http://bugzilla.remotesensing.org/show_bug.cgi?id=39 10486 10487 * VERSION: update to 3.5.7 beta in preparation for release. 10488 10489 * configure/config.site: modified to check if -lm is needed for 10490 MACHDEPLIBS if not supplied by config.site. Needed for Darwin. 10491 10492 * config.guess: updated wholesale to an FSF version apparently 10493 from 1998 (as opposed to 1994). This is mainly inspired by 10494 providing for MacOS X support. 10495 104962001-03-29 Frank Warmerdam <warmerdam@pobox.com> 10497 10498 * configure, Makefile.in, etc: added support for OPTIMIZER being 10499 set from config.site. 10500 105012001-03-28 Frank Warmerdam <warmerdam@pobox.com> 10502 10503 * fax2ps.c: Helge (libtiff at oldach.net) submitted fix: 10504 10505 Here's a fix for fax2ps that corrects behaviour for non-Letter paper 10506 sizes. It fixes two problems: 10507 10508 Without scaling (-S) the fax is now centered on the page size specified 10509 with -H and/or -W. Before, fax2ps was using an obscure and practically 10510 useless algorithm to allocate the image relative to Letter sized paper 10511 which sometime sled to useless whitespace on the paper, while at the 10512 same time cutting of the faxes printable area at the opposite border. 10513 10514 Second, scaling now preserves aspect ratio, which makes unusual faxes 10515 (in particular short ones) print properly. 10516 10517 See http://bugzilla.remotesensing.org/show_bug.cgi?id=35 10518 10519 * tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by 10520 Bruce A. Mallett. See check message for detailed information 10521 on all the changes, including a faster encoder, fixes for level 10522 2 PostScript, and support for the imagemask operator. 10523 105242001-03-27 Frank Warmerdam <warmerdam@pobox.com> 10525 10526 * libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to 10527 "#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX. 10528 10529 http://bugzilla.remotesensing.org/show_bug.cgi?id=39 10530 105312001-03-16 Frank Warmerdam <warmerdam@pobox.com> 10532 10533 * tif_dirinfo.c: moved definition of copyright tag in field list. 10534 Apparently they have to be in sorted order by tag id. 10535 105362001-03-13 Frank Warmerdam <warmerdam@pobox.com> 10537 10538 * tif_getimage.c: Added support for 16bit minisblack/miniswhite 10539 images in RGBA interface. 10540 105412001-03-02 Frank Warmerdam <warmerdam@pobox.com> 10542 10543 * Added TIFFTAG_COPYRIGHT support. 10544 105452001-02-19 Frank Warmerdam <warmerdam@pobox.com> 10546 10547 * Brent Roman contributed updated tiffcp utility (and tiffcp.1) 10548 with support for extracting subimages with the ,n syntax, and also 10549 adding the -b bias removal flag. 10550 105512001-02-16 Frank Warmerdam <warmerdam@pobox.com> 10552 10553 * libtiff/libtiff.def: Brent Roman submitted new version adding 10554 serveral missing entry points. 10555 10556 * libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS. 10557 Some sort of weird VMS thing. 10558 10559 http://bugzilla.remotesensing.org/show_bug.cgi?id=31 10560 10561 * tif_luv.c/tiff.h/tiffio.h: 10562 New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward 10563 (greg@shutterfly.com). He writes: 10564 10565 1) I improved the gamut-mapping function in tif_luv.c for imaginary 10566 colors, because some images were being super-saturated on the input 10567 side and this resulted in some strange color shifts in the output. 10568 10569 2) I added a psuedotag in tiff.h to control random dithering during 10570 LogLuv encoding. This is turned off by default for 32-bit LogLuv and 10571 on for 24-bit LogLuv output. Dithering improves the average color 10572 accuracy over the image. 10573 10574 3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in 10575 tiffio.h, to expose internal routines for converting between LogLuv and 10576 XYZ coordinates. This is helpful for writing more efficient, 10577 specialized conversion routines, especially for reading LogLuv files. 10578 10579 Changes applied with minor edits. 10580 105812001-01-23 Frank Warmerdam <warmerdam@pobox.com> 10582 10583 * tif_fax3.c: keep rw_mode flag internal to fax3 state to remember 10584 whether we are encoding or decoding. This is to ensure graceful 10585 recovery if TIFFClientOpen() discovers an attempt to open a compressed 10586 file for "r+" access, and subsequently close it, as it resets the 10587 tif_mode flag to O_RDONLY in this case to avoid writes, confusing the 10588 compressor's concept of whether it is in encode or decode mode. 10589 105902001-01-08 Mike Welles <mike@bangstate.com> 10591 10592 * Makefile.in: Now cleaning up after itself after creating the .tar.gz and .zip 10593 105942001-01-07 Frank Warmerdam <warmerdam@pobox.com> 10595 10596 * html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet() 10597 as per bug report by Patrick Connor. 10598 105992000-12-28 Frank Warmerdam <warmerdam@pobox.com> 10600 10601 * Added RELEASE-DATE file to release file list. 10602 10603 * Fixed libtiff/makefile.vc to make tiffvers.h not version.h. 10604 106052000-12-22 Mike Welles <mike@bangstate.com> 10606 * added link to CVS mirror from index.html 10607 10608 * updated html/internals.html to note that LZW compression is 10609 not supported by default. 10610 106112000-12-22 Frank Warmerdam <warmerdam@pobox.com> 10612 10613 * updated html/libtiff.html to not point at Niles' old JPL web site 10614 for the man pages, point at www.libtiff.org. 10615 106162000-12-21 Frank Warmerdam <warmerdam@pobox.com> 10617 10618 * libtiff/tif_apple.c: Applied "Carbon" support patches supplied by 10619 Leonard Rosenthol <leonardr@lazerware.com>. May interfere 10620 with correct building on older systems. If so, please let me know. 10621 106222000-12-19 Mike Welles <mike@bangsate.com> 10623 10624 * Took out LZW Encoding from tif_lzw.c 10625 10626 * Created HOWTO-RELEASE 10627 10628 * Created html/v3.5.6.html 10629 10630 * updated index.html 10631 106322000-12-01 Frank Warmerdam <warmerdam@pobox.com> 10633 10634 * Added patches for EOFB support in tif_fax3.c and tif_fax3.h. 10635 Patches supplied by Frank Cringle <fdc@cliwe.ping.de> 10636 Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif 10637 106382000-11-24 Frank Warmerdam <warmerdam@pobox.com> 10639 10640 * libtiff/Makefile.in: Added an installPrivateHdrs and install-private 10641 target so that the private headers required by libgeotiff can be 10642 installed with the others. They are not installed by default. 10643 10644 * libtiff/Makefile.in: Added @MACHLIBDEPS@ to LINUXdso and GNULDdso 10645 targets so libtiff.so will be built with an explicit dependency 10646 on libm.so. 10647 10648 * libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to 10649 libtiff.so.3.5.5. 10650 10651 * libtiff/Makefile.in & configure: Remove all references to the ALPHA 10652 file, or ALPHA version logic. Added stuff about DIST_POINT in 10653 place of DIST_TYPE and the alpha release number stuff. 10654 106552000-11-22 Frank Warmerdam <warmerdam@pobox.com> 10656 10657 * I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to 10658 the configure script so that it now accepts the --prefix, and 10659 --exec-prefix directives. 10660 106612000-11-13 Frank Warmerdam <warmerda@cs46980-c> 10662 10663 * I have made a variety of modifications in an effort to ensure the 10664 TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE 10665 file which seems to be updated regularly. 10666 10667 o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in 10668 version include file. 10669 o renamed version.h to tiffvers.h because we now have to install it 10670 with the public libtiff include files. 10671 o include tiffvers.h in tiffio.h. 10672 o updated tif_version.c to use tiffvers.h. 10673 o Updated Makefile.in accordingly. 10674 10675 * As per http://bugzilla.remotesensing.org/show_bug.cgi?id=25 10676 I have updated the win32 detection rules in tiffcomp.h. 10677 106782000-10-20 Frank Warmerdam <warmerda@cs46980-c> 10679 10680 * tif_getimage.c: Fixed RGBA translation for YCbCr images for which 10681 the strip/tile width and height aren't multiples of the sampling size. 10682 See http://bugzilla.remotesensing.org/show_bug.cgi?id=20 10683 Some patches from Rick LaMont of Dot C Software. 10684 10685 * Modified tif_packbits.c encoder to avoid compressing more 10686 data than provided if rowsize doesn't factor into provided data 10687 (such as occurs for YCbCr). 10688 106892000-10-19 Frank Warmerdam <warmerda@cs46980-c> 10690 10691 * tools/rgb2ycbcr.c: fixed output strip size to account for vertical 10692 roundup if rows_per_strip not a multiple of vertical sample size. 10693 106942000-10-16 Frank Warmerdam <warmerda@cs46980-c> 10695 10696 * tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory 10697 as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18 10698 from vandrove@vc.cvut.cz. 10699 10700 * Modified tif_packbits.c decoding to avoid overrunning the 10701 output buffer, and to issue a warning if data needs to be 10702 discarded. See http://bugzilla.remotesensing.org/show_bug.cgi?id=18 10703 107042000-10-12 Frank Warmerdam <warmerda@cs46980-c> 10705 10706 * Modified tiff2bw to ensure portions add to 100%, and that 10707 white is properly recovered. 10708 10709 See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15 10710 Patch c/o Stanislav Brabec <utx@penguin.cz> 10711 107122000-09-30 Frank Warmerdam <warmerda@cs46980-c> 10713 10714 * Modified TIFFClientOpen() to emit an error on an attempt to 10715 open a comperessed file for update (O_RDWR/r+) access. This is 10716 because the compressor/decompressor code gets very confused when 10717 the mode is O_RDWR, assuming this means writing only. See 10718 bug http://bugzilla.remotesensing.org/show_bug.cgi?id=13 10719 107202000-09-27 Frank Warmerdam <warmerda@cs46980-c> 10721 10722 * Added GNULDdso target an`d switched linux and freebsd to use it. 10723 107242000-09-26 Frank Warmerdam <warmerda@cs46980-c> 10725 10726 * Applied patch for 0x0000 sequences in tif_fax3.h's definition 10727 of EXPAND1D() as per bug 11 (from Roman). 10728 107292000-09-25 Frank Warmerdam <warmerda@cs46980-c> 10730 * Fixed tiffcomp.h to avoid win32 stuff if unix #defined, to improve 10731 cygwin compatibility. 10732 10733 * Applied patch from Roman Shpount to tif_fax3.c. This seems to 10734 be a proper fix to the buffer sizing problem. See 10735 http://bugzilla.remotesensing.org/show_bug.cgi?id=11 10736 10737 * Fixed tif_getimage.c to fix overrun bug with YCbCr images without 10738 downsampling. http://bugzilla.remotesensing.org/show_bug.cgi?id=10 10739 Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the 10740 bug and proving the patch. 10741 107422000-09-18 Frank Warmerdam <warmerda@cs46980-c> 10743 10744 * Fixed tif_jpeg.c so avoid destroying the decompressor before 10745 we are done access data thanks to bug report from: 10746 Michael Eckstein <eckstein@gepro.cz>. 10747 10748 * Reverted tif_flush change. 10749 107502000-09-14 Frank Warmerdam <warmerda@cs46980-c> 10751 10752 * tif_flush.c: Changed so that TIFFFlushData() doesn't return an 10753 error when TIFF_BEENWRITING is not set. This ensures that the 10754 directory contents can still be flushed by TIFFFlush(). 10755 107562000-08-14 Frank Warmerdam <warmerda@rommel.atlsci.com> 10757 10758 * tif_open.c: Don't set MMAP for O_RDWR files. 10759 10760 * tif_open.c: Set STRIPCHOP_DEFAULT for O_RDWR as well as O_RDONLY 10761 so that files opened for update can be strip chopped too. 10762 10763 * tif_read.c: fixed up bug with files missing rowsperstrip and 10764 the strips per separation fix done a few weeks ago. 10765 107662000-07-17 Frank Warmerdam <warmerda@cs46980-c> 10767 10768 * Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and 10769 SAMPLEFORMAT_COMPLEXINT. 10770 107712000-07-13 Mike Welles <mike@onshore.com> 10772 10773 * index.html, bugs.html: added bugzilla info. 10774 107752000-07-12 Frank Warmerdam <warmerda@rommel.atlsci.com> 10776 10777 * tif_read.c: fix subtle bug with determining the number of 10778 rows for strips that are the last strip in a separation but 10779 not the last strip of all in TIFFReadEncodedStrip(). 10780 10781 * Applied 16/32 bit fix to tif_fax3.c. Fix supplied by 10782 Peter Skarpetis <peters@serendipity-software.com.au> 10783 107842000-06-15 Frank Warmerdam <warmerda@rommel.atlsci.com> 10785 10786 * Modified tiffio.h logic with regard to including windows.h. It 10787 won't include it when building with __CYGWIN__. 10788 107892000-05-11 Frank Warmerdam <warmerda@cs46980-c> 10790 10791 * README: update to mention www.libtiff.org, don't list Sam's old 10792 email address. 10793 10794 * configure: Fixed DSO test for Linux as per patch from 10795 Jan Van Buggenhout <chipzz@Ace.ULYSSIS.Student.KULeuven.Ac.Be>. 10796 107972000-04-21 Frank Warmerdam <warmerda@rommel.atlsci.com> 10798 10799 * libtiff/tif_dirread.c: Don't use estimate strip byte count for 10800 one tile/strip images with an offset, and byte count of zero. These 10801 could be "unpopulated" images. 10802 108032000-04-18 Frank Warmerdam <warmerda@rommel.atlsci.com> 10804 10805 * contrib/addtiffo: Added "averaging" resampling option. 10806 10807 * tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT. 10808 10809Tue Apr 18 16:18:08 2000 Frank Warmerdam <warmerda@esabot.atlsci.com> 10810 10811 * tools/Makefile.in: Modified to install properly on SGI. 10812 108132000-04-12 Mike Welles <mike@onshore.com> 10814 * configure: Fixed stupid mistake in libc6 test on Linux 10815 108162000-04-04 Mike Welles <mike@onshore.com> 10817 * tif_win32.c: Applied patch to fix overreads and ovverwrites 10818 caught by BoundsChecker. From Arvan Pritchard 10819 <arvan.pritchard@infomatix.co.uk> (untested). 10820 10821 * tif_getimage.c: Applied patch to silence VC6 warnings. From 10822 Arvan Pritchard <arvan.pritchard@informatix.co.uk> 10823 10824 * tif_lzw.c: Applied patch to silence VC6 warnings. From 10825 Arvan Pritchard <arvan.pritchard@informatix.co.uk> 10826 108272000-03-28 Frank Warmerdam <warmerda@cs46980-c> 10828 10829 * Added contrib/stream (stream io) code submitted by Avi Bleiweiss. 10830 108312000-03-28 Frank Warmerdam <warmerda@cs46980-c> *** 3.5.5 release *** 10832 10833 * fax2ps: Fixed mixup of width and height in bounding box statement 10834 as per submission by Nalin Dahyabhai <nalin@redhat.com>. 10835 108362000-03-27 Mike Welles <mike@onshore.com> 10837 10838 * fax2ps: Modified printruns to take uint32 instead of uint16. 10839 Patch courtesy of Bernt Herd <herd@herdsoft.com> 10840 108412000-03-20 Mike Welles <mike@onshore.com> 10842 10843 * configure: added test for libc6 for linux targets. Bug reported by 10844 Stanislav Brabec <utx@k332.feld.cvut.cz> 10845 10846 * Added 3.5 docs to html/Makefile.in. 10847 Thanks to Stanislav Brabec <utx@k332.feld.cvut.cz> 10848 10849 * configure: fixed bugs in sed scripts 10850 (applied sed script s:/@:s;@:;s:/s;;:;: to configure). 10851 fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz> 10852 10853 * tools/iptcutil was not in files list, and wasn't being 10854 added to tar archive. Updated Makefile.in. 10855 108562000-03-17 Frank Warmerdam <warmerda@cs46980-c> 10857 10858 * tif_fax3.c: Fixed serious bug introduced during the uint16->uint32 10859 conversion for the run arrays. 10860 108612000-03-03 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com> 10862 10863 * Set td_sampleformat default to SAMPLEFORMAT_UINT instead of 10864 SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c. 10865 108662000-03-02 Frank Warmerdam <warmerda@cs46980-c.mtnk1.on.wave.home.com> 10867 10868 * Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c. 10869 10870 * Patched tif_fax3.c so that dsp->runs is allocated a bit bigger 10871 to avoid overruns encountered with frle_bug.tif. 10872 10873Tue Feb 15 22:01:05 2000 Frank Warmerdam <warmerda@gdal.velocet.ca> 10874 10875 * Fixed tools/tiffcmp so that stopondiff testing works. 10876 Patch care of Joseph Orost <joe@sanskrit.lz.att.com>. 10877 108782000-01-28 <warmerda@CS46980-B> 10879 10880 * Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is 10881 set to 1, and added default (off) setting in tiffconf.h. This 10882 should eventually be set by the configure script somehow. 10883 10884 The original work on all these 2-4GB changes was done by 10885 Peter Smith (psmith@creo.com). 10886 10887 * Modified tif_win32.c to support 2-4GB seeks. 10888 10889 * tentatively changed toff_t to be unsigned instead of signed to 10890 facilitate support for 2-4GB files. 10891 10892 * Updated a variety of files to use toff_t. Fixed some mixups 10893 between toff_t and tsize_t. 10894 10895Fri Jan 28 10:13:49 2000 Frank Warmerdam <warmerda@gdal.velocet.ca> 10896 10897 * Largely reimplemented contrib/addtiffo to avoid temp files, 10898 updating the TIFF file in place. Fixed a few other bugs to. 10899 10900 * Set tif_rawdatasize to zero when freeing raw data buffer in 10901 TIFFWriteDirectory(). 10902 10903 * Enabled "REWRITE_HACK" in tif_write.c by default. 10904 10905 * Fix bug in tif_write.c when switching between reading one directory 10906 and writing to another. 10907 10908 * Made TIFFWriteCheck() public, and added TIFFCreateDirectory() 10909 10910Wed Jan 5 12:37:48 2000 Frank Warmerdam <warmerda@gdal.velocet.ca> 10911 10912 * Added TIFFmemory(3t) functions to libtiff.def. 10913 10914Tue Jan 4 13:39:00 2000 Frank Warmerdam <warmerda@gdal.velocet.ca> 10915 10916 * Added libtiff/libtiff.def to TIFFILES distribution list. 10917 10918Mon Dec 27 12:13:39 EST 1999 Mike Welles <mike@onshore.com> 10919 10920 * Created lzw compression kit, as a new module (libtiff-lzw-compression-kit). 10921 10922 * Altered descriptions in tools to reflect "by default" lzw not supported 10923 10924 * Updated index.html to note lzw compression kit. 10925 10926Tue Dec 21 14:01:51 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 10927 10928 * Added fax3sm_winnt.c to distribution list in Makefile.in. 10929 10930Tue Dec 21 11:04:45 EST 1999 Mike Welles <mike@onshore.com> *** 3.5.4 release *** 10931 10932 * Aadded Pixar tag support. Contributed by Phil Beffery <phil@pixar.com> 10933 10934 * Made one more change to tif_dir.c for removal of LZW compression. Also added notice 10935 when LZW compression invoked. 10936 10937 * Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions 10938 in tools to reflect removal of LZW compression 10939 10940Mon Dec 20 18:39:02 EST 1999 Mike Welles <mike@onshore.com> 10941 10942 * Fixed bug that caused LZW (non) compression to segfault. Added 10943 warning about LZW compression removed being removed, and why. 10944 10945 * Added nostrip to install in tools/Makefile.in so that debugging 10946 symbols are kept. 10947 10948Tue Dec 7 12:04:47 EST 1999 Mike Welles <mike@onshore.com> 10949 10950 * Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>, 10951 supporting Adobe ZIP deflate. Untested. 10952 10953Sat Dec 4 15:47:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 10954 10955 * Made Packbits the default compression in tools/tiff2rgba.c instead 10956 of LZW. 10957 10958Tue Nov 30 14:41:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> *** 3.5.3. release *** 10959 10960 * Added tif_luv to contrib/djgpp/Makefile.lib. 10961 10962Tue Nov 30 14:15:32 EST 1999 Mike Welles <mike@onshore.com> 10963 10964 * Added zip creation to relase makefile target 10965 10966 * Added html for TIFFWriteTile.3t man page. 10967 10968Tue Nov 30 09:20:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 10969 10970 * Added some changes to tif_write.c to support rewriting existing 10971 fixed sized tiles and strips. Code mods disabled by default, only 10972 enabled if REWRITE_HACK is defined for now. 10973 10974Mon Nov 29 11:43:42 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 10975 10976 * Added TIFFWriteTile.3t man page. 10977 10978Sun Nov 28 20:36:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 10979 10980 * Added notes on use of makefile.vc in build.html, and fixed 10981 email subscription address. 10982 10983199-11-28 Mike Welles <mike@onshore.com> 10984 10985 * Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c 10986 10987 * Did some casts cleaning up to reduce compiler warnings in tif_fax3.c, 10988 from Bruce Carmeron <cameron@petris.com> -- modifications of 10989 changes made by Frank (sun cc still complained on cast). 10990 10991 * Added tiffconf.h to install target per request from Bill 10992 Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to 10993 know features have been compiled into the TIFF library in order to 10994 handle things properly". 10995 10996Sat Nov 27 16:49:21 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 10997 10998 * fixed various VC++ warnings as suggested by Gilles Vollant 10999 <info@winimage.com>. 11000 11001Wed Nov 24 12:08:16 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 11002 11003 * Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to 11004 not imply applications are responsible for image data swapping. 11005 110061999-11-22 Mike Welles <mike@onshore.com> 11007 * HTML-ized the man pages, added to html/man 11008 11009 * Removed LZW Compression to comply with Unisys patent extortion. 11010 110111999-09-29 Mike Welles <mike@onshore.com> 11012 * Corrected one remaining 16 -> 32 bit value in tif_fax3.c, 11013 From Ivo Penzar <ivo.penzar@infolink-software.com. 11014 11015 * Added patch from Ivo Penzar to have TiffAdvanceDirectory handle 11016 memory mapped files. <ivo.penzar@infolink-software.com> 11017 110181999-09-26 Mike Welles <mike@onshore.com> *** 3.5.2 release *** 11019 * Corrected alpha versioning. 11020 11021 * Removed distinction between alpha and release targets in Makefile.in. 11022 11023 * added release.stamp target, which tags cvs tree, and updates 11024 "RELEASE-DATE" 11025 11026 * added releasediff target, which diffs tree with source as of 11027 date in "RELEASE-DATE" 11028 11029 * Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving 11030 away from alpha/non-alpha distinctions). 11031 11032 * updated html to reflect release 11033 110341999-09-23 <warmerda@CS46980-B> 11035 11036 * Set O_BINARY for tif_unix.c open() ... used on cygwin for instance. 11037 11038 * Added CYGWIN case in configure. 11039 11040Fri Sep 17 00:13:51 CEST 1999 Mike Welles <mike@onshore.com> 11041 11042 * Applied Francois Dagand's patch to handle fax decompression bug. 11043 (sizes >= 65536 were failing) 11044 11045Tue Sep 14 21:31:43 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 11046 11047 * Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested 11048 by Christopher Lawton <clawton@mathworks.com> 11049 11050Wed Sep 8 08:19:18 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 11051 11052 * Added IRIX/gcc, and OSF/1 4.x support on behalf of 11053 Albert Chin-A-Young <china@thewrittenword.com> 11054 11055 * Added TIFFReassignTagToIgnore() API on behalf of 11056 Bruce Cameron <cameron@petris.com>. Man page still pending. 11057 11058Wed Aug 25 11:39:07 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 11059 11060 * Added test target in Makefile, test_pics.sh script and pics/*.rpt 11061 files to provide for a rudimentary testsuite. 11062 11063 * Added contrib/tags back from old distribution ... fixed up a bit. 11064 110651999-08-16 <warmerda@CS46980-B> 11066 11067 * Added simple makefile.vc makefiles for building with MS VC++ 11068 on Windows NT/98/95 in console mode. Stuff in contrib/win* make give 11069 better solutions for some users. 11070 11071Mon Aug 16 21:52:11 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 11072 11073 * Added addtiffo (add overviews to a TIFF file) in contrib. Didn't 11074 put it in tools since part of it is in C++. 11075 110761999-08-16 Michael L. Welles <mike@kurtz.fake> 11077 11078 * Updated html/index.html with anon CVS instructions. 11079 11080Mon Aug 16 13:18:41 1999 Frank Warmerdam <warmerda@gdal.velocet.ca> 11081 11082 * pre-remove so link before softlink in LINUXdso action in 11083 libtiff/Makefile.in to avoid failure on LINUXdso builds other than 11084 the first. 11085 11086 * Fixed problem with cvtcmap() in tif_getimage.c modifying the 11087 colormaps owned by the TIFF handle itself when trying to fixup wrong 11088 (eight bit) colormaps. Corrected by maintaining a private copy of 11089 the colormap. 11090 11091 * Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in 11092 tif_getimage.c. 11093 11094 * CVS Repository placed at remotesensing.org. ChangeLog added. 11095