From 616624213caa4017313ca0aac850c1101759d4ff Mon Sep 17 00:00:00 2001 From: Bob Friesenhahn Date: Thu, 20 Aug 2009 22:30:56 +0000 Subject: * libtiff 3.9.0 released. --- ChangeLog | 2 + HOWTO-RELEASE | 7 +- Makefile.am | 6 +- Makefile.in | 6 +- RELEASE-DATE | 2 +- VERSION | 2 +- build/Makefile.in | 2 +- configure | 22 ++-- configure.ac | 4 +- configure.com | 4 +- contrib/dbs/xtiff/Makefile.in | 2 +- html/BigTIFFProposal.html | 99 ---------------- html/Makefile.in | 2 +- html/bigtiffdesign.html | 80 ------------- html/document.html | 6 +- html/index.html | 14 +-- html/v3.9.0.html | 261 ++++++++++++++++++++++++++++++++++++++++++ libtiff/tif_ojpeg.c | 6 +- libtiff/tiffvers.h | 4 +- tools/tiffcrop.c | 3 +- 20 files changed, 304 insertions(+), 230 deletions(-) delete mode 100644 html/BigTIFFProposal.html delete mode 100644 html/bigtiffdesign.html create mode 100644 html/v3.9.0.html diff --git a/ChangeLog b/ChangeLog index e6ab6597..806176f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2009-08-20 Bob Friesenhahn + * libtiff 3.9.0 released. + * libtiff/tif_print.c (TIFFPrintDirectory): Applied patch for "tag error may cause segfault in tif_print.c." http://bugzilla.maptools.org/show_bug.cgi?id=1896 diff --git a/HOWTO-RELEASE b/HOWTO-RELEASE index 2fd04d28..23aae5a5 100644 --- a/HOWTO-RELEASE +++ b/HOWTO-RELEASE @@ -24,7 +24,7 @@ utilities to release a package. Version should be updated in two places: in the second argument of the AC_INIT macro and in LIBTIFF_xxx_VERSION variables. -5. autoconf +5. ./autogen.sh 6. sh configure @@ -47,10 +47,11 @@ utilities to release a package. be created in the top level package directory. 14. Copy to ftp.remotesensing.org ftp site. - scp tiff-*.tar.gz ftp.remotesensing.org:/var/ftp/libtiff/ - scp tiff-*.zip ftp.remotesensing.org:/var/ftp/libtiff/ + scp tiff-*.tar.gz tiff-*.zip \ + frankw@upload.osgeo.org:/osgeo/download/libtiff 15. Announce to list, tiff@lists.maptools.org 16. Update libtiff page on freshmeat with new version announcement. + diff --git a/Makefile.am b/Makefile.am index a799dff7..b12b40af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,7 +50,7 @@ dist_doc_DATA = $(docfiles) SUBDIRS = port libtiff tools build contrib test man html release: - (rm -f RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > RELEASE-DATE) - (rm -f VERSION && echo $(LIBTIFF_VERSION) > VERSION) - (rm -f ./libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),' ./libtiff/tiffvers.h.in > ./libtiff/tiffvers.h) + (rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE) + (rm -f $(top_srcdir)/VERSION && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION) + (rm -f $(top_srcdir)/libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),' $(top_srcdir)/libtiff/tiffvers.h.in > $(top_srcdir)/libtiff/tiffvers.h) diff --git a/Makefile.in b/Makefile.in index 8e9b06c7..ed2821ce 100644 --- a/Makefile.in +++ b/Makefile.in @@ -834,9 +834,9 @@ uninstall-am: uninstall-dist_docDATA release: - (rm -f RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > RELEASE-DATE) - (rm -f VERSION && echo $(LIBTIFF_VERSION) > VERSION) - (rm -f ./libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),' ./libtiff/tiffvers.h.in > ./libtiff/tiffvers.h) + (rm -f $(top_srcdir)/RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > $(top_srcdir)/RELEASE-DATE) + (rm -f $(top_srcdir)/VERSION && echo $(LIBTIFF_VERSION) > $(top_srcdir)/VERSION) + (rm -f $(top_srcdir)/libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),' $(top_srcdir)/libtiff/tiffvers.h.in > $(top_srcdir)/libtiff/tiffvers.h) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/RELEASE-DATE b/RELEASE-DATE index 1b3f7479..8c14d22f 100644 --- a/RELEASE-DATE +++ b/RELEASE-DATE @@ -1 +1 @@ -20070713 +20090820 diff --git a/VERSION b/VERSION index 53dfe932..a5c4c763 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.9.0beta +3.9.0 diff --git a/build/Makefile.in b/build/Makefile.in index 1200c15c..ca630b9d 100644 --- a/build/Makefile.in +++ b/build/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ -# $Id: Makefile.in,v 1.1.2.7 2009-08-20 20:23:52 bfriesen Exp $ +# $Id: Makefile.in,v 1.1.2.8 2009-08-20 22:31:00 bfriesen Exp $ # # Tag Image File Format (TIFF) Software # diff --git a/configure b/configure index df461d6a..76887024 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.64 for LibTIFF Software 3.9.0beta. +# Generated by GNU Autoconf 2.64 for LibTIFF Software 3.9.0. # # Report bugs to . # @@ -698,8 +698,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='LibTIFF Software' PACKAGE_TARNAME='tiff' -PACKAGE_VERSION='3.9.0beta' -PACKAGE_STRING='LibTIFF Software 3.9.0beta' +PACKAGE_VERSION='3.9.0' +PACKAGE_STRING='LibTIFF Software 3.9.0' PACKAGE_BUGREPORT='tiff@lists.maptools.org' PACKAGE_URL='' @@ -1492,7 +1492,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures LibTIFF Software 3.9.0beta to adapt to many kinds of systems. +\`configure' configures LibTIFF Software 3.9.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1567,7 +1567,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of LibTIFF Software 3.9.0beta:";; + short | recursive ) echo "Configuration of LibTIFF Software 3.9.0:";; esac cat <<\_ACEOF @@ -1725,7 +1725,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -LibTIFF Software configure 3.9.0beta +LibTIFF Software configure 3.9.0 generated by GNU Autoconf 2.64 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2449,7 +2449,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by LibTIFF Software $as_me 3.9.0beta, which was +It was created by LibTIFF Software $as_me 3.9.0, which was generated by GNU Autoconf 2.64. Invocation command line was $ $0 $@ @@ -3376,7 +3376,7 @@ fi # Define the identity of the package. PACKAGE='tiff' - VERSION='3.9.0beta' + VERSION='3.9.0' cat >>confdefs.h <<_ACEOF @@ -3443,7 +3443,7 @@ fi LIBTIFF_MAJOR_VERSION=3 LIBTIFF_MINOR_VERSION=9 LIBTIFF_MICRO_VERSION=0 -LIBTIFF_ALPHA_VERSION=beta +LIBTIFF_ALPHA_VERSION= LIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION LIBTIFF_RELEASE_DATE=`date +"%Y%m%d"` @@ -19062,7 +19062,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by LibTIFF Software $as_me 3.9.0beta, which was +This file was extended by LibTIFF Software $as_me 3.9.0, which was generated by GNU Autoconf 2.64. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19126,7 +19126,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -LibTIFF Software config.status 3.9.0beta +LibTIFF Software config.status 3.9.0 configured by $0, generated by GNU Autoconf 2.64, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 8cfd959a..28639a3e 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ dnl OF THIS SOFTWARE. dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.64) -AC_INIT([LibTIFF Software],[3.9.0beta],[tiff@lists.maptools.org],[tiff]) +AC_INIT([LibTIFF Software],[3.9.0],[tiff@lists.maptools.org],[tiff]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_MACRO_DIR(m4) AC_LANG(C) @@ -42,7 +42,7 @@ dnl Don't fill the ALPHA_VERSION field, if not applicable. LIBTIFF_MAJOR_VERSION=3 LIBTIFF_MINOR_VERSION=9 LIBTIFF_MICRO_VERSION=0 -LIBTIFF_ALPHA_VERSION=beta +LIBTIFF_ALPHA_VERSION= LIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION dnl This will be used with the 'make release' target LIBTIFF_RELEASE_DATE=`date +"%Y%m%d"` diff --git a/configure.com b/configure.com index 42676e80..6a5d8b5f 100644 --- a/configure.com +++ b/configure.com @@ -1,4 +1,4 @@ -$! $Id: configure.com,v 1.1.2.1 2007-11-23 09:12:35 dron Exp $ +$! $Id: configure.com,v 1.1.2.2 2009-08-20 22:31:00 bfriesen Exp $ $! $! OpenVMS configure procedure for libtiff $! (c) Alexey Chupahin 22-NOV-2007 @@ -1314,7 +1314,7 @@ $COPY SYS$INPUT 'CURRENT'TIF_CONFIG.H #define PACKAGE_NAME "LibTIFF Software" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LibTIFF Software 3.9.0beta for VMS" +#define PACKAGE_STRING "LibTIFF Software 3.9.0 for VMS" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "tiff" diff --git a/contrib/dbs/xtiff/Makefile.in b/contrib/dbs/xtiff/Makefile.in index b6e2e8ec..a67e227a 100644 --- a/contrib/dbs/xtiff/Makefile.in +++ b/contrib/dbs/xtiff/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ -# $Id: Makefile.in,v 1.36.2.7 2009-08-20 20:23:52 bfriesen Exp $ +# $Id: Makefile.in,v 1.36.2.8 2009-08-20 22:31:00 bfriesen Exp $ # # Tag Image File Format (TIFF) Software # diff --git a/html/BigTIFFProposal.html b/html/BigTIFFProposal.html deleted file mode 100644 index c64909f2..00000000 --- a/html/BigTIFFProposal.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - Proposal to Implement BigTIFF Support in LibTiff - - -

Proposal to Implement BigTIFF Support in LibTiff

-

NEWS: We have located all four required sponsors. There are no more - open slots. We will issue appropriate press release shortly.

-

0. Summary

-

BigTIFF logically extends the original TIFF file format (referred to as - 'ClassicTIFF' from this point on), breaking the 4 gigabyte boundary, in theory - allowing files up to 18,000 petabytes in size. The BigTIFF specification is the - result of work by a variety of parties on the LibTiff mailing list, including - the current LibTiff maintainers, Joris Van Damme and Adobe staff. The BigTIFF - specification has not yet been officially approved by the TIFF specification - owner (Adobe) but implementation within LibTiff could accelerate that - process.

-

For more information on the BigTIFF file format, we recommend - AWare Systems' - BigTIFF page.

-

BigTIFF is expected to be especially useful for people and vendors that are - confronted with unusually large images, and still seek to use an open, simple, - and extendable format. This requirement is frequently seen in the geospatial - field, but also affects large format scanners, medical imaging and other - fields.

-

1. Sponsoring

-

It is planned that LibTiff 4.0, the BigTIFF upgrade to LibTiff, would start - March 1, 2007. A preliminary version (LibTiff 4.0alpha1) will be operational by - June 15, 2007. Testing and final release improvements for LibTiff 4.0 will be - completed by July 30, 2007.

-

The LibTiff BigTIFF upgrade team is seeking USD 24,000 from four sponsors (USD - 6,000 each) to fund the project. Sponsorship payment will be invoiced upon - delivery of the LibTiff 4.0alpha1 release (on or before June 15) with a 30 day - payable, giving time for some technical review.

-

In addition to the benefits of open interchange of BigTIFF data that comes from - support in a public and free open source codec, sponsors will be given proper - public acknowledgment. During development, they will be mentioned in the - appropriate sections of the LibTiff and AWare Systems site.

-

When LibTiff 4.0 with BigTIFF support is released, they will additionally - receive public acknowledgment in a formal press release, distributed widely to - news venues in the imaging and geospatial industries.

-

A 'migration guide' document or any functional equivalent thereof will be - included in the standard free distribution, but sponsors will additionally - receive up to 20 hours of consulting and support on any BigTIFF migration issues - that they may be facing, and/or any additional related requests they may have.

-

2. Development and Testing

-

The work will primarily be done by Joris Van Damme on behalf of his company - AWare Systems. Joris was closely involved in the drafting of the BigTIFF file - format proposal, and has also developed the proprietary AWare Systems TIFF - codec that already supports BigTIFF. Joris Van Damme has a deep understanding - of the TIFF format, and has been acting as a LibTiff co-maintainer for over a - year, contributing the upgraded OJPEG codec as well as several other - improvements.

-

Joris and AWare Systems have agreed to crosstest their proprietary codec and - LibTiff's support for BigTIFF extensively. Joris will also extend the test image - library included with LibTiff, with a number of varying BigTIFF test files. - These files will primarily include test files with issues that relate closely - to the BigTIFF file format and the difference with ClassicTIFF. For instance, - in BigTIFF the datatypes TIFF_LONG, TIFF_LONG8, TIFF_IFD and TIFF_IFD8 are all - valid for tags pointing to additional IFDs, and thus files will be included to - illustrate and enable testing all of these. Additionally, Joris will build a - tool to enable creating test files that exceed 4 gigabyte, as these can of - course not be included in the test suite in a more direct manner, and a tool to - convert files from ClassicTIFF to BigTIFF, as well as the other way around for - source BigTIFF files that do not exceed 4 gigabyte in size.

-

Frank Warmerdam has also agreed to be involved in a consulting and validation - role. Frank has been LibTiff's primary maintainer since approximately the year - 2000, develops large-image exploitation software for the geospatial industry - (GDAL) and is currently President of the Open Source Geospatial Foundation - (OSGeo). Frank will also be ensuring that BigTIFF improvements are made - accessible to all users of the GDAL library.

-

3. Implementation Strategy

-

Many people who have a need for BigTIFF, use LibTiff already. We thus plan to - support BigTIFF in LibTiff, applying a minimum change strategy much like the - one that was applied in the creation of the new file format in the first - place.

-

To support BigTIFF, we will use a 64bit integer datatype. It is anticipated - that some older platforms will not be able to comply with this need, and for - that reason we will encapsulate all required changes inside a conditional - compilation switch.

-

While it is anticipated that there will be ABI (application binary interface) - changes as part of a BigTIFF support upgrade to LibTiff, and possibly some - more to support other major upgrades to LibTiff, the plan is such that - the source level API will remain compatible for most LibTiff applications. - Applications using specialized interfaces may require some minor source code - changes, but we will provide backwards compatibility to support the majority - of existing application level code.

-

The resulting LibTiff version would transparently support reading traditional - 32bit ClassicTIFF files, and 64bit BigTIFF files, as well as writing either - ClassicTIFF or BigTIFF files based on a flag in the TIFFOpen/TIFFClientOpen call.

-

4. Intellectual Property and Licensing

-

The licensing agreement of LibTiff will remain unchanged.

-

5. Contact information

-

Please contact Frank Warmerdam and/or - Joris Van Damme for more information - on sponsorship agreements.

- - \ No newline at end of file diff --git a/html/Makefile.in b/html/Makefile.in index c831bfd6..9cfc279c 100644 --- a/html/Makefile.in +++ b/html/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ -# $Id: Makefile.in,v 1.49.2.7 2009-08-20 20:23:52 bfriesen Exp $ +# $Id: Makefile.in,v 1.49.2.8 2009-08-20 22:31:00 bfriesen Exp $ # # Tag Image File Format (TIFF) Software # diff --git a/html/bigtiffdesign.html b/html/bigtiffdesign.html deleted file mode 100644 index b8be93ab..00000000 --- a/html/bigtiffdesign.html +++ /dev/null @@ -1,80 +0,0 @@ - - -BigTIFF Design - - - -

BigTIFF Design

- -

This is the HTML equivalent of a former Wiki working place for preparing a 64-bit (larger than 4GB) TIFF -format specification. The design is based on a proposal by Steve Carlsen of Adobe, with input from various -other parties.

- -

Briefly

-
    -
  • Version = 43
  • - -
  • 8-byte offset to first IFD
  • -
  • Value/Offset fields are 8 bytes
  • -
  • 8-byte offset to the next IFD
  • -
  • add TIFFType of LONG8, an 8 byte (unsigned) int
  • -
  • StripOffsets and TileOffsets and ByteCounts can be LONG8
  • -
- -

More Detail

-
    -
  • The Version ID, in header bytes 2-3, formerly decimal 42, now changes to 43
  • - -
  • Header bytes 4-5 contain the decimal number 8.
      -
    • If there is some other number here, a reader should give up.
    • -
    • This is to provide a nice way to move to 16-byte pointers some day.
  • -
  • Header bytes 6-7 are reserved and must be zero.
      -
    • If they're not, a reader should give up.
  • -
  • Header bytes 8-15 contain the 8-byte offset to the first IFD.
  • -
  • Value/Offset fields are 8 bytes long, and take up bytes 8-15 in an IFD entry.
      - -
    • If the value is <= 8 bytes, it must be stored in the field.
    • -
    • All values must begin at an 8-byte-aligned address.
  • -
  • 8-byte offset to the Next_IFD, at the end of an IFD.
  • -
  • To keep IFD entries 8-byte-aligned, we begin with an 8-byte (instead of 2-byte) count of the number of directory entries.
  • -
  • Add TIFFTypes of LONG8 (= 16), an 8 byte (unsigned) int, and SLONG8 (= 17).
  • -
  • Add TIFFType IFD8 (=18) an 8byte IFD offset.
  • -
  • StripOffsets and TileOffsets and ByteCounts may be LONG8 or the traditionally allowed LONG or SHORT.
  • - -
  • The proposed extension is ".tf8", and call it "8-Byte TIFF".
  • -
-

Otherwise, it's just like "original TIFF." ("TIFF Classic?")

- -

Open Issues

-
    -
  • What to call the new format
      -
    • ChrisCox -- I don't think end users will understand what "8-byte TIFF" means
    • -
    • AndreyKiselev - 23 Sep 2004 -- What about TIFF64? "64" is a widely used buzzword and should be directly associated with the 64-bit offsets and 64-bit architectures.
  • - -
  • What 3 character file extension to use (gotta be DOS compatible)
  • -
  • What 4 character file type to use (for Macintosh)
  • -
  • What MIME type to use
  • -
- -

Samples

-

Example files from Steve Carlsen

- -

Changes

- -
    -
  • TIFFType 13 is ttIFD, 14 is assigned to ttUnicode, and 15 is assigned to ttComplex. So, I changed the types for ttLong8 and ttSLong8 to 16 and 17, respectively.
      -
    • AndreyKiselev - 23 Sep 2004 -- Where are these fields defined? Is there any new Technical Note or something? And what is encoding behind the word "Unicode"?
    • -
    • ChrisCox - 27 Sep 2004 -- They are in the Adobe TIFF definitions. I am still working on releasing updated TIFF documentation.
  • -
  • Added list of open issues.
  • -
  • settle on version 43
  • -
  • cleanup
  • -
  • TIFFType 18 (8 byte IFD) added.
  • - -
  • Clarified that fields which may be LONG8 can also be one of the old supported types.
  • -
- -

See also

-

AWare Systems' informal overview of the BigTIFF proposal

- - - diff --git a/html/document.html b/html/document.html index fc7ee55b..12f138f5 100644 --- a/html/document.html +++ b/html/document.html @@ -38,14 +38,10 @@ There is a FAQ, related both to TIFF format and libtiff library: http://www.awaresystems.be/imaging/tiff/faq.html -

-There is a preliminary BigTIFF Design for -a TIFF variation supporting files larger than 4GB. -


- Last updated: $Date: 2006-07-10 18:13:52 $ + Last updated: $Date: 2009-08-20 22:31:00 $
diff --git a/html/index.html b/html/index.html index f0f0b04b..4653fc06 100644 --- a/html/index.html +++ b/html/index.html @@ -24,11 +24,7 @@ Latest Stable Release - v3.8.2 - - - Latest Development Release - v3.9.0beta + v3.9.0 Master Download Site @@ -99,7 +95,8 @@ The persons responsible for putting up this site and putting together versions >= 3.5.1 are Frank Warmerdam, - Andrey Kiselev and Mike Welles. + Andrey Kiselev, Bob Friesenhahn, +Joris Van Damme and Lee Howard.

The following sections are included in this documentation: @@ -118,12 +115,9 @@

  • Acknowledgements and copyright issues
  • Man Pages
  • -

    - News: We are about to start work on BigTIFF support in LibTiff. -


    - Last updated $Date: 2007-07-13 14:00:47 $. + Last updated $Date: 2009-08-20 22:31:00 $.

    diff --git a/html/v3.9.0.html b/html/v3.9.0.html new file mode 100644 index 00000000..89c8d045 --- /dev/null +++ b/html/v3.9.0.html @@ -0,0 +1,261 @@ + + + + Changes in TIFF v3.9.0 + + + + + + + + +TIFF CHANGE INFORMATION + + + + +

    +This document describes the changes made to the software between the +previous and current versions (see above). If you don't +find something listed here, then it was not done in this timeframe, or +it was not considered important enough to be mentioned. The following +information is located here: +

    +

    +


    + + + +MAJOR CHANGES: + +
      +
    • All of the major changes since 3.8.0 were incorporated in + the v3.9.0beta release. This is a stable release from a + stable maintenance branch which incorporates many bug and + security fixes needed by existing users of 3.X.X series + libraries. Any future major changes will be in the 4.0.X + series of releases. + +
    + + +


    + + +CHANGES IN THE SOFTWARE CONFIGURATION: + +
      + +
    • Updated autotools: Autoconf 2.64, Automake 1.11, libtool + 2.2.6. + +
    • Enabled support for Automake silent build rules + (--enable-silent-rules or 'make V=0') + +
    • Enabled support for Automake colorized tests. + +
    • Added detection of a 64-bit integer type so that bundled + utilities (like tiffcrop) can use it when necessary. Note + that this version of libtiff does not require a 64-bit integer + type but libtiff 4.0 does. + +
    + +


    + + + +CHANGES IN LIBTIFF: + +
      +
    • libtiff/{Makefile.am, Makefile.v}: Do not distribute + tiffconf.h, remove tif_config.h/tiffconf.h during cleaning. As + per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1573 + +
    • tif_dirinfo.c: _TIFFMergeFields() now only merges in + field definitions that are missing. Existing definitions are + silently ignored. (Bug #1585) + +
    • tif_write.c: Rip out the fancy logic in + TIFFAppendToStrip() for establishing if an existing tile can + be rewritten to the same location by comparing the current + size to all the other blocks in the same directory. This is + dangerous in many situations and can easily corrupt a file. + (observed in esoteric GDAL situation that's hard to document). + This change involves leaving the stripbytecount[] values + unaltered till TIFFAppendToStrip(). Now we only write a block + back to the same location it used to be at if the new data is + the same size or smaller - otherwise we move it to the end of + file. + +
    • tif_dirwrite.c: Try to avoid writing out a full + readbuffer of tile data when writing the directory just + because we have BEENWRITING at some point in the past. This + was causing odd junk to be written out in a tile of data when + a single tile had an interleaving of reading and writing with + reading last. (highlighted by gdal + autotest/gcore/tif_write.py test 7. + +
    • tif_predict.c: use working buffer in PredictorEncodeTile + to avoid modifying callers buffer. http://trac.osgeo.org/gdal/ticket/1965 + +
    • tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so + that predictor based encoding and decoding works in read-write + update mode properly. http://trac.osgeo.org/gdal/ticket/1948 + +
    • configure.com, libtiff/tif_vms.c: Better OpenVMS + support. Patches from Alexey Chupahin. + +
    • tif_fax3.c: fix leak of FAXCS state (per bug 1603). + +
    • tif_fax3.c: Make find0span() and find1span() non-inline + to make MSVC 6.0 compiler happy. + +
    • tif_codec.c: Avoid NULL pointer dereferencing for exotic + compression codec codes. + +
    • tif_dirread.c: zero tif->tif_dir after freeing the + directory in TIFFReadCustomDirectory(). I don't exactly + remember why this was important. + +
    • tif_dirwrite.c: Fix potential memory leak writing large + double tags. + +
    • tif_dirread.c: Fix unchecked malloc result. + +
    • libtiff/tif_lzw.c: Properly zero out the codetable. As + per bug http://bugzilla.maptools.org/show_bug.cgi?id=1929 + +
    • libtiff/tif_lzw.c: Properly zero out the string + table. Fixes CVE-2008-2327 security issue. + +
    • libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 + (compatibility with the older versions retained). + +
    • libtiff/tif_getimage.c,tiffio.h: removed all use of + UaToAa and Bitmap16to8 arrays in TIFFRGBAImage structure to + restore ABI compatability. These were just an attempt to + speed up processing with precalculated tables. http://bugzilla.maptools.org/show_bug.cgi?id=1979 + +
    • libtiff/tif_codec.c: Avoid printing c->name if it does not exist. + +
    • libtiff/tif_getimage.c, tiffio.h: More ABI corrections. + Removed SubsamplingHor/Ver from TIFFRGBAImage structure. http://bugzilla.maptools.org/show_bug.cgi?id=1980 + +
    • libtiff/tif_jpeg.c: Avoid errors if the application + writes a full strip for the last partial strip in a jpeg + compressed file. http://bugzilla.maptools.org/show_bug.cgi?id=1981 + +
    • libtiff/tiffio.h: GCC will now validate format + specifications for TIFFError(), TIFFErrorExt(), TIFFWarning(), + and TIFFWarningExt() in order to reveal bugs. Cleaned up + resulting warnings throughout for 32 bit build only. + +
    • libtiff/tiffiop.h: Add private type declarations for + int64, and uint64 so that bundled utilities (like tiffcrop) + can use it when necessary. + +
    • libtiff/tif_predict.c: Add support for 32bit integer + horz. predictors. + http://bugzilla.maptools.org/show_bug.cgi?id=1911 + +
    • libtiff/tif_luv.c: Fix handling of tiled logluv images. + http://bugzilla.maptools.org/show_bug.cgi?id=2005 + +
    • libtiff/tif_write.c: do not override the planar + configuration to be contig for one sample files if planar + configuration is already set. http://bugzilla.maptools.org/show_bug.cgi?id=2057 + +
    • libtiff/tif_lzw.c: Fix buffer underflow bug. http://bugzilla.maptools.org/show_bug.cgi?id=2065 + +
    • libtiff/tif_luv.c: correct return codes from encoderow to + be 1 on success instead of zero. http://bugzilla.maptools.org/show_bug.cgi?id=2069 + +
    • libtiff/tif_print.c (TIFFPrintDirectory): Applied patch + for "tag error may cause segfault in tif_print.c." http://bugzilla.maptools.org/show_bug.cgi?id=1896 + +
    + +


    + + + +CHANGES IN THE TOOLS: + +
      +
    • tools/tiff2pdf.c: Fixed setting of alpha value per report + on list. + +
    • tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() + calls when doing the filename/path construction. + +
    • tools/tiff2pdf.c: More appropriate format string in + t2p_write_pdf_string(); avoid signed/unsigned mismatch. + +
    • tools/tiffsplit.c: Use dynamically allocated array + instead of static when constructing output file names. + +
    • tools/tiffcrop.c, man/tiffcrop.1: Incorporated + significant functionality update from Richard Nolde. + +
    • tools/tiff2ps.c: Incorporated significant functionality + update from Richard Nolde. In particular, support for + rotating the image by 90, 180, 270, and 'auto' has been added. + +
    • tools/tiff2ps.c: Remove spurious message printed to + stderr. + +
    • tools/tiffsplit.c: fix sampleformat to be shortv instead + of longv. + +
    • tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied patch for + CVE-2009-2347 libtiff: integer overflows in various + inter-color space conversion tools. http://bugzilla.maptools.org/show_bug.cgi?id=2079 + +
    + +


    + + + +CHANGES IN THE CONTRIB AREA: + +
      + +
    • None + +
    + +Last updated $Date: 2009-08-20 22:31:00 $. + + + diff --git a/libtiff/tif_ojpeg.c b/libtiff/tif_ojpeg.c index 6e8be008..7328bebb 100644 --- a/libtiff/tif_ojpeg.c +++ b/libtiff/tif_ojpeg.c @@ -1,4 +1,4 @@ -/* $Id: tif_ojpeg.c,v 1.24.2.1 2007-04-07 14:58:30 dron Exp $ */ +/* $Id: tif_ojpeg.c,v 1.24.2.2 2009-08-20 22:31:00 bfriesen Exp $ */ /* WARNING: The type of JPEG encapsulation defined by the TIFF Version 6.0 specification is now totally obsolete and deprecated for new applications and @@ -2382,8 +2382,8 @@ OJPEGLibjpegJpegSourceMgrFillInputBuffer(jpeg_decompress_struct* cinfo) { TIFF* tif=(TIFF*)cinfo->client_data; OJPEGState* sp=(OJPEGState*)tif->tif_data; - void* mem; - uint32 len; + void* mem=0; + uint32 len=0; if (OJPEGWriteStream(tif,&mem,&len)==0) { TIFFErrorExt(tif->tif_clientdata,"LibJpeg","Premature end of JPEG data"); diff --git a/libtiff/tiffvers.h b/libtiff/tiffvers.h index 91089840..aec110dd 100644 --- a/libtiff/tiffvers.h +++ b/libtiff/tiffvers.h @@ -1,4 +1,4 @@ -#define TIFFLIB_VERSION_STR "LIBTIFF, Version 3.9.0beta\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc." +#define TIFFLIB_VERSION_STR "LIBTIFF, Version 3.9.0\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc." /* * This define can be used in code that requires * compilation-related definitions specific to a @@ -6,4 +6,4 @@ * version checking should be done based on the * string returned by TIFFGetVersion. */ -#define TIFFLIB_VERSION 20070713 +#define TIFFLIB_VERSION 20090820 diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c index ed1daf61..aeccc927 100644 --- a/tools/tiffcrop.c +++ b/tools/tiffcrop.c @@ -1,4 +1,4 @@ -/* $Id: tiffcrop.c,v 1.3.2.5 2009-01-11 20:09:15 bfriesen Exp $ */ +/* $Id: tiffcrop.c,v 1.3.2.6 2009-08-20 22:31:00 bfriesen Exp $ */ /* tiffcrop.c -- a port of tiffcp.c extended to include manipulations of * the image data through additional options listed below @@ -117,7 +117,6 @@ #include #include #include -#include #include #include #include -- cgit v1.2.1