diff --git a/graphics/tiff/Makefile b/graphics/tiff/Makefile index 085129dc4a5..88b3bd8d926 100644 --- a/graphics/tiff/Makefile +++ b/graphics/tiff/Makefile @@ -1,15 +1,14 @@ COMMENT= tools and library routines for working with TIFF images -DISTNAME= tiff-4.4.0 -REVISION= 2 -SHARED_LIBS= tiff 41.1 # 13.0 -SHARED_LIBS+= tiffxx 41.0 # 13.0 +DISTNAME= tiff-4.5.0 +SHARED_LIBS= tiff 42.0 # 13.0 +SHARED_LIBS+= tiffxx 42.0 # 13.0 CATEGORIES= graphics MASTER_SITES= https://download.osgeo.org/libtiff/ EXTRACT_SUFX= .tar.xz -HOMEPAGE= http://www.simplesystems.org/libtiff/ +HOMEPAGE= https://libtiff.gitlab.io/libtiff/ LIB_DEPENDS= graphics/jpeg \ archivers/xz \ @@ -17,6 +16,7 @@ LIB_DEPENDS= graphics/jpeg \ WANTLIB= c ${COMPILER_LIBCXX} jpeg lzma m z zstd COMPILER = base-clang ports-gcc base-gcc +DEBUG_PACKAGES =${BUILD_PACKAGES} # BSD PERMIT_PACKAGE= Yes @@ -25,6 +25,8 @@ CONFIGURE_STYLE=gnu CONFIGURE_ARGS= --disable-jbig \ --disable-libdeflate \ --disable-webp \ + --disable-sphinx \ + --disable-contrib \ --with-docdir="${PREFIX}/share/doc/tiff" \ --with-jpeg-include-dir="${LOCALBASE}/include" \ --with-jpeg-lib-dir="${LOCALBASE}/lib" \ @@ -32,7 +34,4 @@ CONFIGURE_ARGS= --disable-jbig \ SEPARATE_BUILD= Yes MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/config -post-install: - cd ${PREFIX}/share/doc/tiff && mv html/* . && rmdir html - .include diff --git a/graphics/tiff/distinfo b/graphics/tiff/distinfo index a0e2314f598..084b7675a7e 100644 --- a/graphics/tiff/distinfo +++ b/graphics/tiff/distinfo @@ -1,2 +1,2 @@ -SHA256 (tiff-4.4.0.tar.xz) = STB7UQBIzMe8QPLLpuhDkYL+bmVAV8GhaDE5vy7LHcE= -SIZE (tiff-4.4.0.tar.xz) = 1929292 +SHA256 (tiff-4.5.0.tar.xz) = 2vrJecXntsZQAlVpxaTnIJlbpfF7wX5idtHxJCe+Jnw= +SIZE (tiff-4.5.0.tar.xz) = 2320900 diff --git a/graphics/tiff/patches/patch-Makefile_in b/graphics/tiff/patches/patch-Makefile_in deleted file mode 100644 index b5c113a1dd7..00000000000 --- a/graphics/tiff/patches/patch-Makefile_in +++ /dev/null @@ -1,12 +0,0 @@ -Index: Makefile.in ---- Makefile.in.orig -+++ Makefile.in -@@ -436,7 +436,7 @@ EXTRA_DIST = \ - libtiff-4.pc.in - - dist_doc_DATA = $(docfiles) --SUBDIRS = port libtiff tools build contrib test man html -+SUBDIRS = port libtiff tools build test man html - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = libtiff-4.pc - diff --git a/graphics/tiff/patches/patch-man_Makefile_in b/graphics/tiff/patches/patch-doc_Makefile_in similarity index 66% rename from graphics/tiff/patches/patch-man_Makefile_in rename to graphics/tiff/patches/patch-doc_Makefile_in index 1f00f832202..44e8a9af01d 100644 --- a/graphics/tiff/patches/patch-man_Makefile_in +++ b/graphics/tiff/patches/patch-doc_Makefile_in @@ -1,9 +1,7 @@ -Replace .3tiff man page suffix with standard .3 - -Index: man/Makefile.in ---- man/Makefile.in.orig -+++ man/Makefile.in -@@ -500,7 +500,7 @@ install-man3: $(dist_man3_MANS) +Index: doc/Makefile.in +--- doc/Makefile.in.orig ++++ doc/Makefile.in +@@ -609,7 +609,7 @@ install-man3: $(man3_MANS) if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ diff --git a/graphics/tiff/patches/patch-libtiff_tif_aux_c b/graphics/tiff/patches/patch-libtiff_tif_aux_c deleted file mode 100644 index d92d2cf4aca..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_aux_c +++ /dev/null @@ -1,26 +0,0 @@ -From dd1bcc7abb26094e93636e85520f0d8f81ab0fab Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Sat, 11 Jun 2022 09:31:43 +0000 -Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428) - -CVE-2022-2056 / CVE-2022-2057 / CVE-2022-2058 - -Index: libtiff/tif_aux.c ---- libtiff/tif_aux.c.orig -+++ libtiff/tif_aux.c -@@ -402,6 +402,15 @@ float _TIFFClampDoubleToFloat( double val ) - return (float)val; - } - -+uint32_t _TIFFClampDoubleToUInt32(double val) -+{ -+ if( val < 0 ) -+ return 0; -+ if( val > 0xFFFFFFFFU || val != val ) -+ return 0xFFFFFFFFU; -+ return (uint32_t)val; -+} -+ - int _TIFFSeekOK(TIFF* tif, toff_t off) - { - /* Huge offsets, especially -1 / UINT64_MAX, can cause issues */ diff --git a/graphics/tiff/patches/patch-libtiff_tif_codec_c b/graphics/tiff/patches/patch-libtiff_tif_codec_c deleted file mode 100644 index d41ea5d0d2b..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_codec_c +++ /dev/null @@ -1,13 +0,0 @@ -Index: libtiff/tif_codec.c ---- libtiff/tif_codec.c.orig -+++ libtiff/tif_codec.c -@@ -114,7 +114,8 @@ _notConfigured(TIFF* tif) - const TIFFCodec* c = TIFFFindCODEC(tif->tif_dir.td_compression); - char compression_code[20]; - -- sprintf(compression_code, "%"PRIu16, tif->tif_dir.td_compression ); -+ snprintf(compression_code, sizeof(compression_code), "%d", -+ tif->tif_dir.td_compression ); - TIFFErrorExt(tif->tif_clientdata, tif->tif_name, - "%s compression support is not configured", - c ? c->name : compression_code ); diff --git a/graphics/tiff/patches/patch-libtiff_tif_compress_c b/graphics/tiff/patches/patch-libtiff_tif_compress_c deleted file mode 100644 index d30e1ad35ca..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_compress_c +++ /dev/null @@ -1,21 +0,0 @@ -Index: libtiff/tif_compress.c ---- libtiff/tif_compress.c.orig -+++ libtiff/tif_compress.c -@@ -199,14 +199,15 @@ TIFFFindCODEC(uint16_t scheme) - TIFFCodec* - TIFFRegisterCODEC(uint16_t scheme, const char* name, TIFFInitMethod init) - { -+ size_t namelen = strlen(name); - codec_t* cd = (codec_t*) -- _TIFFmalloc((tmsize_t)(sizeof (codec_t) + sizeof (TIFFCodec) + strlen(name)+1)); -+ _TIFFmalloc((tmsize_t)(sizeof (codec_t) + sizeof (TIFFCodec) + namelen+1)); - - if (cd != NULL) { - cd->info = (TIFFCodec*) ((uint8_t*) cd + sizeof (codec_t)); - cd->info->name = (char*) - ((uint8_t*) cd->info + sizeof (TIFFCodec)); -- strcpy(cd->info->name, name); -+ strlcpy(cd->info->name, name, namelen+1); - cd->info->scheme = scheme; - cd->info->init = init; - cd->next = registeredCODECS; diff --git a/graphics/tiff/patches/patch-libtiff_tif_dirinfo_c b/graphics/tiff/patches/patch-libtiff_tif_dirinfo_c deleted file mode 100644 index 22ca17f38f7..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_dirinfo_c +++ /dev/null @@ -1,23 +0,0 @@ -From 275735d0354e39c0ac1dc3c0db2120d6f31d1990 Mon Sep 17 00:00:00 2001 -From: Even Rouault -Date: Mon, 27 Jun 2022 16:09:43 +0200 -Subject: [PATCH] _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a - codec-specific tag and the codec is not configured (fixes #433) - -This avoids crashes when querying such tags - -CVE-2022-34526 - -Index: libtiff/tif_dirinfo.c ---- libtiff/tif_dirinfo.c.orig -+++ libtiff/tif_dirinfo.c -@@ -1191,6 +1191,9 @@ _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag) - default: - return 1; - } -+ if( !TIFFIsCODECConfigured(tif->tif_dir.td_compression) ) { -+ return 0; -+ } - /* Check if codec specific tags are allowed for the current - * compression scheme (codec) */ - switch (tif->tif_dir.td_compression) { diff --git a/graphics/tiff/patches/patch-libtiff_tif_extension_c b/graphics/tiff/patches/patch-libtiff_tif_extension_c deleted file mode 100644 index 14ad8961f92..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_extension_c +++ /dev/null @@ -1,23 +0,0 @@ -Index: libtiff/tif_extension.c ---- libtiff/tif_extension.c.orig -+++ libtiff/tif_extension.c -@@ -79,6 +79,7 @@ void TIFFSetClientInfo( TIFF *tif, void *data, const c - - { - TIFFClientInfoLink *psLink = tif->tif_clientinfo; -+ size_t namelen = strlen(name); - - /* - ** Do we have an existing link with this name? If so, just -@@ -100,9 +101,9 @@ void TIFFSetClientInfo( TIFF *tif, void *data, const c - psLink = (TIFFClientInfoLink *) _TIFFmalloc(sizeof(TIFFClientInfoLink)); - assert (psLink != NULL); - psLink->next = tif->tif_clientinfo; -- psLink->name = (char *) _TIFFmalloc((tmsize_t)(strlen(name)+1)); -+ psLink->name = (char *) _TIFFmalloc((tmsize_t)(namelen+1)); - assert (psLink->name != NULL); -- strcpy(psLink->name, name); -+ strlcpy(psLink->name, name, namelen+1); - psLink->data = data; - - tif->tif_clientinfo = psLink; diff --git a/graphics/tiff/patches/patch-libtiff_tif_getimage_c b/graphics/tiff/patches/patch-libtiff_tif_getimage_c deleted file mode 100644 index 3c6f3b8a9e3..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_getimage_c +++ /dev/null @@ -1,261 +0,0 @@ -This one is slightly problematic. If an application allocates less -room for its error buffer than the recommended 1024, the error message -buffer will still overflow. - -TIFFReadRGBATileExt(): fix (unsigned) integer overflow on strips/tiles > 2 GB - -Index: libtiff/tif_getimage.c ---- libtiff/tif_getimage.c.orig -+++ libtiff/tif_getimage.c -@@ -79,7 +79,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - int colorchannels; - - if (!tif->tif_decodestatus) { -- sprintf(emsg, "Sorry, requested compression method is not configured"); -+ snprintf(emsg, 1024, "Sorry, requested compression method is not configured"); - return (0); - } - switch (td->td_bitspersample) { -@@ -90,12 +90,12 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - case 16: - break; - default: -- sprintf(emsg, "Sorry, can not handle images with %"PRIu16"-bit samples", -+ snprintf(emsg, 1024, "Sorry, can not handle images with %"PRIu16"-bit samples", - td->td_bitspersample); - return (0); - } - if (td->td_sampleformat == SAMPLEFORMAT_IEEEFP) { -- sprintf(emsg, "Sorry, can not handle images with IEEE floating-point samples"); -+ snprintf(emsg, 1024, "Sorry, can not handle images with IEEE floating-point samples"); - return (0); - } - colorchannels = td->td_samplesperpixel - td->td_extrasamples; -@@ -108,7 +108,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - photometric = PHOTOMETRIC_RGB; - break; - default: -- sprintf(emsg, "Missing needed %s tag", photoTag); -+ snprintf(emsg, 1024, "Missing needed %s tag", photoTag); - return (0); - } - } -@@ -119,7 +119,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - if (td->td_planarconfig == PLANARCONFIG_CONTIG - && td->td_samplesperpixel != 1 - && td->td_bitspersample < 8 ) { -- sprintf(emsg, -+ snprintf(emsg, 1024, - "Sorry, can not handle contiguous data with %s=%"PRIu16", " - "and %s=%"PRIu16" and Bits/Sample=%"PRIu16"", - photoTag, photometric, -@@ -143,7 +143,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - break; - case PHOTOMETRIC_RGB: - if (colorchannels < 3) { -- sprintf(emsg, "Sorry, can not handle RGB image with %s=%d", -+ snprintf(emsg, 1024, "Sorry, can not handle RGB image with %s=%d", - "Color channels", colorchannels); - return (0); - } -@@ -153,13 +153,13 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - uint16_t inkset; - TIFFGetFieldDefaulted(tif, TIFFTAG_INKSET, &inkset); - if (inkset != INKSET_CMYK) { -- sprintf(emsg, -+ snprintf(emsg, 1024, - "Sorry, can not handle separated image with %s=%d", - "InkSet", inkset); - return 0; - } - if (td->td_samplesperpixel < 4) { -- sprintf(emsg, -+ snprintf(emsg, 1024, - "Sorry, can not handle separated image with %s=%"PRIu16, - "Samples/pixel", td->td_samplesperpixel); - return 0; -@@ -168,7 +168,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - } - case PHOTOMETRIC_LOGL: - if (td->td_compression != COMPRESSION_SGILOG) { -- sprintf(emsg, "Sorry, LogL data must have %s=%d", -+ snprintf(emsg, 1024, "Sorry, LogL data must have %s=%d", - "Compression", COMPRESSION_SGILOG); - return (0); - } -@@ -176,17 +176,17 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - case PHOTOMETRIC_LOGLUV: - if (td->td_compression != COMPRESSION_SGILOG && - td->td_compression != COMPRESSION_SGILOG24) { -- sprintf(emsg, "Sorry, LogLuv data must have %s=%d or %d", -+ snprintf(emsg, 1024, "Sorry, LogLuv data must have %s=%d or %d", - "Compression", COMPRESSION_SGILOG, COMPRESSION_SGILOG24); - return (0); - } - if (td->td_planarconfig != PLANARCONFIG_CONTIG) { -- sprintf(emsg, "Sorry, can not handle LogLuv images with %s=%"PRIu16, -+ snprintf(emsg, 1024, "Sorry, can not handle LogLuv images with %s=%"PRIu16, - "Planarconfiguration", td->td_planarconfig); - return (0); - } - if ( td->td_samplesperpixel != 3 || colorchannels != 3 ) { -- sprintf(emsg, -+ snprintf(emsg, 1024, - "Sorry, can not handle image with %s=%"PRIu16", %s=%d", - "Samples/pixel", td->td_samplesperpixel, - "colorchannels", colorchannels); -@@ -195,7 +195,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - break; - case PHOTOMETRIC_CIELAB: - if ( td->td_samplesperpixel != 3 || colorchannels != 3 || td->td_bitspersample != 8 ) { -- sprintf(emsg, -+ snprintf(emsg, 1024, - "Sorry, can not handle image with %s=%"PRIu16", %s=%d and %s=%"PRIu16, - "Samples/pixel", td->td_samplesperpixel, - "colorchannels", colorchannels, -@@ -204,7 +204,7 @@ TIFFRGBAImageOK(TIFF* tif, char emsg[1024]) - } - break; - default: -- sprintf(emsg, "Sorry, can not handle image with %s=%"PRIu16, -+ snprintf(emsg, 1024, "Sorry, can not handle image with %s=%"PRIu16, - photoTag, photometric); - return (0); - } -@@ -302,7 +302,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - case 16: - break; - default: -- sprintf(emsg, "Sorry, can not handle images with %"PRIu16"-bit samples", -+ snprintf(emsg, 1024, "Sorry, can not handle images with %"PRIu16"-bit samples", - img->bitspersample); - goto fail_return; - } -@@ -352,7 +352,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - img->photometric = PHOTOMETRIC_RGB; - break; - default: -- sprintf(emsg, "Missing needed %s tag", photoTag); -+ snprintf(emsg, 1024, "Missing needed %s tag", photoTag); - goto fail_return; - } - } -@@ -360,7 +360,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - case PHOTOMETRIC_PALETTE: - if (!TIFFGetField(tif, TIFFTAG_COLORMAP, - &red_orig, &green_orig, &blue_orig)) { -- sprintf(emsg, "Missing required \"Colormap\" tag"); -+ snprintf(emsg, 1024, "Missing required \"Colormap\" tag"); - goto fail_return; - } - -@@ -370,7 +370,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - img->greencmap = (uint16_t *) _TIFFmalloc(sizeof(uint16_t) * n_color); - img->bluecmap = (uint16_t *) _TIFFmalloc(sizeof(uint16_t) * n_color); - if( !img->redcmap || !img->greencmap || !img->bluecmap ) { -- sprintf(emsg, "Out of memory for colormap copy"); -+ snprintf(emsg, 1024, "Out of memory for colormap copy"); - goto fail_return; - } - -@@ -384,7 +384,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - if (planarconfig == PLANARCONFIG_CONTIG - && img->samplesperpixel != 1 - && img->bitspersample < 8 ) { -- sprintf(emsg, -+ snprintf(emsg, 1024, - "Sorry, can not handle contiguous data with %s=%"PRIu16", " - "and %s=%"PRIu16" and Bits/Sample=%"PRIu16, - photoTag, img->photometric, -@@ -421,7 +421,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - break; - case PHOTOMETRIC_RGB: - if (colorchannels < 3) { -- sprintf(emsg, "Sorry, can not handle RGB image with %s=%d", -+ snprintf(emsg, 1024, "Sorry, can not handle RGB image with %s=%d", - "Color channels", colorchannels); - goto fail_return; - } -@@ -431,12 +431,12 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - uint16_t inkset; - TIFFGetFieldDefaulted(tif, TIFFTAG_INKSET, &inkset); - if (inkset != INKSET_CMYK) { -- sprintf(emsg, "Sorry, can not handle separated image with %s=%"PRIu16, -+ snprintf(emsg, 1024, "Sorry, can not handle separated image with %s=%"PRIu16, - "InkSet", inkset); - goto fail_return; - } - if (img->samplesperpixel < 4) { -- sprintf(emsg, "Sorry, can not handle separated image with %s=%"PRIu16, -+ snprintf(emsg, 1024, "Sorry, can not handle separated image with %s=%"PRIu16, - "Samples/pixel", img->samplesperpixel); - goto fail_return; - } -@@ -444,7 +444,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - break; - case PHOTOMETRIC_LOGL: - if (compress != COMPRESSION_SGILOG) { -- sprintf(emsg, "Sorry, LogL data must have %s=%d", -+ snprintf(emsg, 1024, "Sorry, LogL data must have %s=%d", - "Compression", COMPRESSION_SGILOG); - goto fail_return; - } -@@ -454,12 +454,12 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - break; - case PHOTOMETRIC_LOGLUV: - if (compress != COMPRESSION_SGILOG && compress != COMPRESSION_SGILOG24) { -- sprintf(emsg, "Sorry, LogLuv data must have %s=%d or %d", -+ snprintf(emsg, 1024, "Sorry, LogLuv data must have %s=%d or %d", - "Compression", COMPRESSION_SGILOG, COMPRESSION_SGILOG24); - goto fail_return; - } - if (planarconfig != PLANARCONFIG_CONTIG) { -- sprintf(emsg, "Sorry, can not handle LogLuv images with %s=%"PRIu16, -+ snprintf(emsg, 1024, "Sorry, can not handle LogLuv images with %s=%"PRIu16, - "Planarconfiguration", planarconfig); - return (0); - } -@@ -470,7 +470,7 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - case PHOTOMETRIC_CIELAB: - break; - default: -- sprintf(emsg, "Sorry, can not handle image with %s=%"PRIu16, -+ snprintf(emsg, 1024, "Sorry, can not handle image with %s=%"PRIu16, - photoTag, img->photometric); - goto fail_return; - } -@@ -481,12 +481,12 @@ TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int - !(planarconfig == PLANARCONFIG_SEPARATE && img->samplesperpixel > 1); - if (img->isContig) { - if (!PickContigCase(img)) { -- sprintf(emsg, "Sorry, can not handle image"); -+ snprintf(emsg, 1024, "Sorry, can not handle image"); - goto fail_return; - } - } else { - if (!PickSeparateCase(img)) { -- sprintf(emsg, "Sorry, can not handle image"); -+ snprintf(emsg, 1024, "Sorry, can not handle image"); - goto fail_return; - } - } -@@ -3058,15 +3058,15 @@ TIFFReadRGBATileExt(TIFF* tif, uint32_t col, uint32_t - return( ok ); - - for( i_row = 0; i_row < read_ysize; i_row++ ) { -- memmove( raster + (tile_ysize - i_row - 1) * tile_xsize, -- raster + (read_ysize - i_row - 1) * read_xsize, -+ memmove( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize, -+ raster + (size_t)(read_ysize - i_row - 1) * read_xsize, - read_xsize * sizeof(uint32_t) ); -- _TIFFmemset( raster + (tile_ysize - i_row - 1) * tile_xsize+read_xsize, -+ _TIFFmemset( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize+read_xsize, - 0, sizeof(uint32_t) * (tile_xsize - read_xsize) ); - } - - for( i_row = read_ysize; i_row < tile_ysize; i_row++ ) { -- _TIFFmemset( raster + (tile_ysize - i_row - 1) * tile_xsize, -+ _TIFFmemset( raster + (size_t)(tile_ysize - i_row - 1) * tile_xsize, - 0, sizeof(uint32_t) * tile_xsize ); - } - diff --git a/graphics/tiff/patches/patch-libtiff_tif_luv_c b/graphics/tiff/patches/patch-libtiff_tif_luv_c index 90784fa8a0a..096dd482ee9 100644 --- a/graphics/tiff/patches/patch-libtiff_tif_luv_c +++ b/graphics/tiff/patches/patch-libtiff_tif_luv_c @@ -1,12 +1,12 @@ Index: libtiff/tif_luv.c --- libtiff/tif_luv.c.orig +++ libtiff/tif_luv.c -@@ -733,7 +733,7 @@ static int tiff_itrunc(double x, int m) +@@ -776,7 +776,7 @@ static int tiff_itrunc(double x, int m) return (int)x; /* Silence CoverityScan warning about bad crypto function */ /* coverity[dont_call] */ -- return (int)(x + rand()*(1./RAND_MAX) - .5); -+ return (int)(x + arc4random()*(1./UINT_MAX) - .5); +- return (int)(x + rand() * (1. / RAND_MAX) - .5); ++ return (int)(x + arc4random() * (1. / RAND_MAX) - .5); } #if !LOGLUV_PUBLIC diff --git a/graphics/tiff/patches/patch-libtiff_tif_open_c b/graphics/tiff/patches/patch-libtiff_tif_open_c deleted file mode 100644 index a89b1695c6e..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tif_open_c +++ /dev/null @@ -1,29 +0,0 @@ -Index: libtiff/tif_open.c ---- libtiff/tif_open.c.orig -+++ libtiff/tif_open.c -@@ -84,6 +84,7 @@ TIFFClientOpen( - TIFF *tif; - int m; - const char* cp; -+ size_t namelen; - - /* The following are configuration checks. They should be redundant, but should not - * compile to any actual code in an optimised release build anyway. If any of them -@@ -114,14 +115,15 @@ TIFFClientOpen( - m = _TIFFgetMode(mode, module); - if (m == -1) - goto bad2; -- tif = (TIFF *)_TIFFmalloc((tmsize_t)(sizeof (TIFF) + strlen(name) + 1)); -+ namelen = strlen(name); -+ tif = (TIFF *)_TIFFmalloc((tmsize_t)(sizeof (TIFF) + namelen + 1)); - if (tif == NULL) { - TIFFErrorExt(clientdata, module, "%s: Out of memory (TIFF structure)", name); - goto bad2; - } - _TIFFmemset(tif, 0, sizeof (*tif)); - tif->tif_name = (char *)tif + sizeof (TIFF); -- strcpy(tif->tif_name, name); -+ strlcpy(tif->tif_name, name, namelen+1); - tif->tif_mode = m &~ (O_CREAT|O_TRUNC); - tif->tif_curdir = (uint16_t) -1; /* non-existent directory */ - tif->tif_curoff = 0; diff --git a/graphics/tiff/patches/patch-libtiff_tiffiop_h b/graphics/tiff/patches/patch-libtiff_tiffiop_h deleted file mode 100644 index 7908e61550f..00000000000 --- a/graphics/tiff/patches/patch-libtiff_tiffiop_h +++ /dev/null @@ -1,18 +0,0 @@ -From dd1bcc7abb26094e93636e85520f0d8f81ab0fab Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Sat, 11 Jun 2022 09:31:43 +0000 -Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428) - -CVE-2022-2056 / CVE-2022-2057 / CVE-2022-2058 - -Index: libtiff/tiffiop.h ---- libtiff/tiffiop.h.orig -+++ libtiff/tiffiop.h -@@ -365,6 +365,7 @@ extern double _TIFFUInt64ToDouble(uint64_t); - extern float _TIFFUInt64ToFloat(uint64_t); - - extern float _TIFFClampDoubleToFloat(double); -+extern uint32_t _TIFFClampDoubleToUInt32(double); - - extern tmsize_t - _TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32_t strip, diff --git a/graphics/tiff/patches/patch-tools_tiffcrop_c b/graphics/tiff/patches/patch-tools_tiffcrop_c deleted file mode 100644 index bd8f1ea6b59..00000000000 --- a/graphics/tiff/patches/patch-tools_tiffcrop_c +++ /dev/null @@ -1,140 +0,0 @@ -From dd1bcc7abb26094e93636e85520f0d8f81ab0fab Mon Sep 17 00:00:00 2001 -From: 4ugustus -Date: Sat, 11 Jun 2022 09:31:43 +0000 -Subject: [PATCH] fix the FPE in tiffcrop (#415, #427, and #428) - -CVE-2022-2056 / CVE-2022-2057 / CVE-2022-2058 - -Index: tools/tiffcrop.c ---- tools/tiffcrop.c.orig -+++ tools/tiffcrop.c -@@ -5268,17 +5268,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struc - { - if ((crop->res_unit == RESUNIT_INCH) || (crop->res_unit == RESUNIT_CENTIMETER)) - { -- x1 = (uint32_t) (crop->corners[i].X1 * scale * xres); -- x2 = (uint32_t) (crop->corners[i].X2 * scale * xres); -- y1 = (uint32_t) (crop->corners[i].Y1 * scale * yres); -- y2 = (uint32_t) (crop->corners[i].Y2 * scale * yres); -+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1 * scale * xres); -+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2 * scale * xres); -+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1 * scale * yres); -+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2 * scale * yres); - } - else - { -- x1 = (uint32_t) (crop->corners[i].X1); -- x2 = (uint32_t) (crop->corners[i].X2); -- y1 = (uint32_t) (crop->corners[i].Y1); -- y2 = (uint32_t) (crop->corners[i].Y2); -+ x1 = _TIFFClampDoubleToUInt32(crop->corners[i].X1); -+ x2 = _TIFFClampDoubleToUInt32(crop->corners[i].X2); -+ y1 = _TIFFClampDoubleToUInt32(crop->corners[i].Y1); -+ y2 = _TIFFClampDoubleToUInt32(crop->corners[i].Y2); - } - /* a) Region needs to be within image sizes 0.. width-1; 0..length-1 - * b) Corners are expected to be submitted as top-left to bottom-right. -@@ -5357,17 +5357,17 @@ computeInputPixelOffsets(struct crop_mask *crop, struc - { - if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER) - { /* User has specified pixels as reference unit */ -- tmargin = (uint32_t)(crop->margins[0]); -- lmargin = (uint32_t)(crop->margins[1]); -- bmargin = (uint32_t)(crop->margins[2]); -- rmargin = (uint32_t)(crop->margins[3]); -+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0]); -+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1]); -+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2]); -+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3]); - } - else - { /* inches or centimeters specified */ -- tmargin = (uint32_t)(crop->margins[0] * scale * yres); -- lmargin = (uint32_t)(crop->margins[1] * scale * xres); -- bmargin = (uint32_t)(crop->margins[2] * scale * yres); -- rmargin = (uint32_t)(crop->margins[3] * scale * xres); -+ tmargin = _TIFFClampDoubleToUInt32(crop->margins[0] * scale * yres); -+ lmargin = _TIFFClampDoubleToUInt32(crop->margins[1] * scale * xres); -+ bmargin = _TIFFClampDoubleToUInt32(crop->margins[2] * scale * yres); -+ rmargin = _TIFFClampDoubleToUInt32(crop->margins[3] * scale * xres); - } - - if ((lmargin + rmargin) > image->width) -@@ -5397,24 +5397,24 @@ computeInputPixelOffsets(struct crop_mask *crop, struc - if (crop->res_unit != RESUNIT_INCH && crop->res_unit != RESUNIT_CENTIMETER) - { - if (crop->crop_mode & CROP_WIDTH) -- width = (uint32_t)crop->width; -+ width = _TIFFClampDoubleToUInt32(crop->width); - else - width = image->width - lmargin - rmargin; - - if (crop->crop_mode & CROP_LENGTH) -- length = (uint32_t)crop->length; -+ length = _TIFFClampDoubleToUInt32(crop->length); - else - length = image->length - tmargin - bmargin; - } - else - { - if (crop->crop_mode & CROP_WIDTH) -- width = (uint32_t)(crop->width * scale * image->xres); -+ width = _TIFFClampDoubleToUInt32(crop->width * scale * image->xres); - else - width = image->width - lmargin - rmargin; - - if (crop->crop_mode & CROP_LENGTH) -- length = (uint32_t)(crop->length * scale * image->yres); -+ length = _TIFFClampDoubleToUInt32(crop->length * scale * image->yres); - else - length = image->length - tmargin - bmargin; - } -@@ -5868,13 +5868,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, str - { - if (page->res_unit == RESUNIT_INCH || page->res_unit == RESUNIT_CENTIMETER) - { /* inches or centimeters specified */ -- hmargin = (uint32_t)(page->hmargin * scale * page->hres * ((image->bps + 7) / 8)); -- vmargin = (uint32_t)(page->vmargin * scale * page->vres * ((image->bps + 7) / 8)); -+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * page->hres * ((image->bps + 7) / 8)); -+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * page->vres * ((image->bps + 7) / 8)); - } - else - { /* Otherwise user has specified pixels as reference unit */ -- hmargin = (uint32_t)(page->hmargin * scale * ((image->bps + 7) / 8)); -- vmargin = (uint32_t)(page->vmargin * scale * ((image->bps + 7) / 8)); -+ hmargin = _TIFFClampDoubleToUInt32(page->hmargin * scale * ((image->bps + 7) / 8)); -+ vmargin = _TIFFClampDoubleToUInt32(page->vmargin * scale * ((image->bps + 7) / 8)); - } - - if ((hmargin * 2.0) > (pwidth * page->hres)) -@@ -5912,13 +5912,13 @@ computeOutputPixelOffsets (struct crop_mask *crop, str - { - if (page->mode & PAGE_MODE_PAPERSIZE ) - { -- owidth = (uint32_t)((pwidth * page->hres) - (hmargin * 2)); -- olength = (uint32_t)((plength * page->vres) - (vmargin * 2)); -+ owidth = _TIFFClampDoubleToUInt32((pwidth * page->hres) - (hmargin * 2)); -+ olength = _TIFFClampDoubleToUInt32((plength * page->vres) - (vmargin * 2)); - } - else - { -- owidth = (uint32_t)(iwidth - (hmargin * 2 * page->hres)); -- olength = (uint32_t)(ilength - (vmargin * 2 * page->vres)); -+ owidth = _TIFFClampDoubleToUInt32(iwidth - (hmargin * 2 * page->hres)); -+ olength = _TIFFClampDoubleToUInt32(ilength - (vmargin * 2 * page->vres)); - } - } - -@@ -5926,6 +5926,12 @@ computeOutputPixelOffsets (struct crop_mask *crop, str - owidth = iwidth; - if (olength > ilength) - olength = ilength; -+ -+ if (owidth == 0 || olength == 0) -+ { -+ TIFFError("computeOutputPixelOffsets", "Integer overflow when calculating the number of pages"); -+ exit(EXIT_FAILURE); -+ } - - /* Compute the number of pages required for Portrait or Landscape */ - switch (page->orient) diff --git a/graphics/tiff/pkg/PLIST b/graphics/tiff/pkg/PLIST index ea2fc6e43c2..b4508966a78 100644 --- a/graphics/tiff/pkg/PLIST +++ b/graphics/tiff/pkg/PLIST @@ -33,6 +33,8 @@ lib/pkgconfig/libtiff-4.pc @man man/man1/pal2rgb.1 @man man/man1/ppm2tiff.1 @man man/man1/raw2tiff.1 +@man man/man1/rgb2ycbcr.1 +@man man/man1/thumbnail.1 @man man/man1/tiff2bw.1 @man man/man1/tiff2pdf.1 @man man/man1/tiff2ps.1 @@ -47,23 +49,33 @@ lib/pkgconfig/libtiff-4.pc @man man/man1/tiffmedian.1 @man man/man1/tiffset.1 @man man/man1/tiffsplit.1 +@man man/man3/TIFFAccessTagMethods.3 +@man man/man3/TIFFClientInfo.3 @man man/man3/TIFFClose.3 +@man man/man3/TIFFCreateDirectory.3 +@man man/man3/TIFFCustomDirectory.3 +@man man/man3/TIFFCustomTagList.3 @man man/man3/TIFFDataWidth.3 +@man man/man3/TIFFDeferStrileArrayWriting.3 @man man/man3/TIFFError.3 @man man/man3/TIFFFieldDataType.3 @man man/man3/TIFFFieldName.3 @man man/man3/TIFFFieldPassCount.3 +@man man/man3/TIFFFieldQuery.3 @man man/man3/TIFFFieldReadCount.3 @man man/man3/TIFFFieldTag.3 @man man/man3/TIFFFieldWriteCount.3 @man man/man3/TIFFFlush.3 @man man/man3/TIFFGetField.3 +@man man/man3/TIFFMergeFieldInfo.3 @man man/man3/TIFFOpen.3 @man man/man3/TIFFPrintDirectory.3 +@man man/man3/TIFFProcFunctions.3 @man man/man3/TIFFRGBAImage.3 @man man/man3/TIFFReadDirectory.3 @man man/man3/TIFFReadEncodedStrip.3 @man man/man3/TIFFReadEncodedTile.3 +@man man/man3/TIFFReadFromUserBuffer.3 @man man/man3/TIFFReadRGBAImage.3 @man man/man3/TIFFReadRGBAStrip.3 @man man/man3/TIFFReadRGBATile.3 @@ -73,6 +85,8 @@ lib/pkgconfig/libtiff-4.pc @man man/man3/TIFFReadTile.3 @man man/man3/TIFFSetDirectory.3 @man man/man3/TIFFSetField.3 +@man man/man3/TIFFSetTagExtender.3 +@man man/man3/TIFFStrileQuery.3 @man man/man3/TIFFWarning.3 @man man/man3/TIFFWriteDirectory.3 @man man/man3/TIFFWriteEncodedStrip.3 @@ -90,157 +104,380 @@ lib/pkgconfig/libtiff-4.pc @man man/man3/TIFFstrip.3 @man man/man3/TIFFswab.3 @man man/man3/TIFFtile.3 +@man man/man3/_TIFFRewriteField.3 +@man man/man3/_TIFFauxiliary.3 @man man/man3/libtiff.3 share/doc/tiff/ -share/doc/tiff/COPYRIGHT share/doc/tiff/ChangeLog +share/doc/tiff/LICENSE.md share/doc/tiff/README.md share/doc/tiff/RELEASE-DATE -share/doc/tiff/TIFFTechNote2.html share/doc/tiff/TODO share/doc/tiff/VERSION -share/doc/tiff/addingtags.html -share/doc/tiff/bugs.html -share/doc/tiff/build.html -share/doc/tiff/contrib.html -share/doc/tiff/document.html -share/doc/tiff/images/ -share/doc/tiff/images.html -share/doc/tiff/images/back.gif -share/doc/tiff/images/bali.jpg -share/doc/tiff/images/cat.gif -share/doc/tiff/images/cover.jpg -share/doc/tiff/images/cramps.gif -share/doc/tiff/images/dave.gif -share/doc/tiff/images/info.gif -share/doc/tiff/images/jello.jpg -share/doc/tiff/images/jim.gif -share/doc/tiff/images/note.gif -share/doc/tiff/images/oxford.gif -share/doc/tiff/images/quad.jpg -share/doc/tiff/images/ring.gif -share/doc/tiff/images/smallliz.jpg -share/doc/tiff/images/strike.gif -share/doc/tiff/images/warning.gif -share/doc/tiff/index.html -share/doc/tiff/internals.html -share/doc/tiff/intro.html -share/doc/tiff/libtiff.html -share/doc/tiff/man/ -share/doc/tiff/man/TIFFClose.3tiff.html -share/doc/tiff/man/TIFFDataWidth.3tiff.html -share/doc/tiff/man/TIFFError.3tiff.html -share/doc/tiff/man/TIFFFieldDataType.3tiff.html -share/doc/tiff/man/TIFFFieldName.3tiff.html -share/doc/tiff/man/TIFFFieldPassCount.3tiff.html -share/doc/tiff/man/TIFFFieldReadCount.3tiff.html -share/doc/tiff/man/TIFFFieldTag.3tiff.html -share/doc/tiff/man/TIFFFieldWriteCount.3tiff.html -share/doc/tiff/man/TIFFFlush.3tiff.html -share/doc/tiff/man/TIFFGetField.3tiff.html -share/doc/tiff/man/TIFFOpen.3tiff.html -share/doc/tiff/man/TIFFPrintDirectory.3tiff.html -share/doc/tiff/man/TIFFRGBAImage.3tiff.html -share/doc/tiff/man/TIFFReadDirectory.3tiff.html -share/doc/tiff/man/TIFFReadEncodedStrip.3tiff.html -share/doc/tiff/man/TIFFReadEncodedTile.3tiff.html -share/doc/tiff/man/TIFFReadRGBAImage.3tiff.html -share/doc/tiff/man/TIFFReadRGBAStrip.3tiff.html -share/doc/tiff/man/TIFFReadRGBATile.3tiff.html -share/doc/tiff/man/TIFFReadRawStrip.3tiff.html -share/doc/tiff/man/TIFFReadRawTile.3tiff.html -share/doc/tiff/man/TIFFReadScanline.3tiff.html -share/doc/tiff/man/TIFFReadTile.3tiff.html -share/doc/tiff/man/TIFFSetDirectory.3tiff.html -share/doc/tiff/man/TIFFSetField.3tiff.html -share/doc/tiff/man/TIFFWarning.3tiff.html -share/doc/tiff/man/TIFFWriteDirectory.3tiff.html -share/doc/tiff/man/TIFFWriteEncodedStrip.3tiff.html -share/doc/tiff/man/TIFFWriteEncodedTile.3tiff.html -share/doc/tiff/man/TIFFWriteRawStrip.3tiff.html -share/doc/tiff/man/TIFFWriteRawTile.3tiff.html -share/doc/tiff/man/TIFFWriteScanline.3tiff.html -share/doc/tiff/man/TIFFWriteTile.3tiff.html -share/doc/tiff/man/TIFFbuffer.3tiff.html -share/doc/tiff/man/TIFFcodec.3tiff.html -share/doc/tiff/man/TIFFcolor.3tiff.html -share/doc/tiff/man/TIFFmemory.3tiff.html -share/doc/tiff/man/TIFFquery.3tiff.html -share/doc/tiff/man/TIFFsize.3tiff.html -share/doc/tiff/man/TIFFstrip.3tiff.html -share/doc/tiff/man/TIFFswab.3tiff.html -share/doc/tiff/man/TIFFtile.3tiff.html -share/doc/tiff/man/fax2ps.1.html -share/doc/tiff/man/fax2tiff.1.html -share/doc/tiff/man/index.html -share/doc/tiff/man/libtiff.3tiff.html -share/doc/tiff/man/pal2rgb.1.html -share/doc/tiff/man/ppm2tiff.1.html -share/doc/tiff/man/raw2tiff.1.html -share/doc/tiff/man/tiff2bw.1.html -share/doc/tiff/man/tiff2pdf.1.html -share/doc/tiff/man/tiff2ps.1.html -share/doc/tiff/man/tiff2rgba.1.html -share/doc/tiff/man/tiffcmp.1.html -share/doc/tiff/man/tiffcp.1.html -share/doc/tiff/man/tiffcrop.1.html -share/doc/tiff/man/tiffdither.1.html -share/doc/tiff/man/tiffdump.1.html -share/doc/tiff/man/tiffgt.1.html -share/doc/tiff/man/tiffinfo.1.html -share/doc/tiff/man/tiffmedian.1.html -share/doc/tiff/man/tiffset.1.html -share/doc/tiff/man/tiffsplit.1.html -share/doc/tiff/misc.html -share/doc/tiff/support.html -share/doc/tiff/tools.html -share/doc/tiff/v3.4beta007.html -share/doc/tiff/v3.4beta016.html -share/doc/tiff/v3.4beta018.html -share/doc/tiff/v3.4beta024.html -share/doc/tiff/v3.4beta028.html -share/doc/tiff/v3.4beta029.html -share/doc/tiff/v3.4beta031.html -share/doc/tiff/v3.4beta032.html -share/doc/tiff/v3.4beta033.html -share/doc/tiff/v3.4beta034.html -share/doc/tiff/v3.4beta035.html -share/doc/tiff/v3.4beta036.html -share/doc/tiff/v3.5.1.html -share/doc/tiff/v3.5.2.html -share/doc/tiff/v3.5.3.html -share/doc/tiff/v3.5.4.html -share/doc/tiff/v3.5.5.html -share/doc/tiff/v3.5.6-beta.html -share/doc/tiff/v3.5.7.html -share/doc/tiff/v3.6.0.html -share/doc/tiff/v3.6.1.html -share/doc/tiff/v3.7.0.html -share/doc/tiff/v3.7.0alpha.html -share/doc/tiff/v3.7.0beta.html -share/doc/tiff/v3.7.0beta2.html -share/doc/tiff/v3.7.1.html -share/doc/tiff/v3.7.2.html -share/doc/tiff/v3.7.3.html -share/doc/tiff/v3.7.4.html -share/doc/tiff/v3.8.0.html -share/doc/tiff/v3.8.1.html -share/doc/tiff/v3.8.2.html -share/doc/tiff/v3.9.0beta.html -share/doc/tiff/v3.9.1.html -share/doc/tiff/v3.9.2.html -share/doc/tiff/v4.0.0.html -share/doc/tiff/v4.0.1.html -share/doc/tiff/v4.0.10.html -share/doc/tiff/v4.0.2.html -share/doc/tiff/v4.0.3.html -share/doc/tiff/v4.0.4.html -share/doc/tiff/v4.0.4beta.html -share/doc/tiff/v4.0.5.html -share/doc/tiff/v4.0.6.html -share/doc/tiff/v4.0.7.html -share/doc/tiff/v4.0.8.html -share/doc/tiff/v4.0.9.html -share/doc/tiff/v4.1.0.html -share/doc/tiff/v4.2.0.html -share/doc/tiff/v4.3.0.html +share/doc/tiff/manual/ +share/doc/tiff/manual/.buildinfo +share/doc/tiff/manual/_images/ +share/doc/tiff/manual/_images/bali.jpg +share/doc/tiff/manual/_images/cat.gif +share/doc/tiff/manual/_images/cover.jpg +share/doc/tiff/manual/_images/cramps.gif +share/doc/tiff/manual/_images/dave.gif +share/doc/tiff/manual/_images/esri.png +share/doc/tiff/manual/_images/jim.gif +share/doc/tiff/manual/_images/leica.png +share/doc/tiff/manual/_images/quad.jpg +share/doc/tiff/manual/_images/ring.gif +share/doc/tiff/manual/_images/safe.png +share/doc/tiff/manual/_images/smallliz.jpg +share/doc/tiff/manual/_images/strike.gif +share/doc/tiff/manual/_images/weogeo.png +share/doc/tiff/manual/_sources/ +share/doc/tiff/manual/_sources/addingtags.rst.txt +share/doc/tiff/manual/_sources/build.rst.txt +share/doc/tiff/manual/_sources/contrib.rst.txt +share/doc/tiff/manual/_sources/functions/ +share/doc/tiff/manual/_sources/functions.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFAccessTagMethods.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFClientInfo.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFClose.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFCreateDirectory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFCustomDirectory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFCustomTagList.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFDataWidth.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFDeferStrileArrayWriting.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFError.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldDataType.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldName.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldPassCount.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldQuery.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldReadCount.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldTag.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFieldWriteCount.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFFlush.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFGetField.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFMergeFieldInfo.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFOpen.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFOpenOptions.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFPrintDirectory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFProcFunctions.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFRGBAImage.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadDirectory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadEncodedStrip.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadEncodedTile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadFromUserBuffer.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadRGBAImage.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadRGBAStrip.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadRGBATile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadRawStrip.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadRawTile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadScanline.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFReadTile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFSetDirectory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFSetField.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFSetTagExtender.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFStrileQuery.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWarning.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteDirectory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteEncodedStrip.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteEncodedTile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteRawStrip.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteRawTile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteScanline.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFWriteTile.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFbuffer.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFcodec.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFcolor.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFmemory.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFquery.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFsize.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFstrip.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFswab.rst.txt +share/doc/tiff/manual/_sources/functions/TIFFtile.rst.txt +share/doc/tiff/manual/_sources/functions/_TIFFRewriteField.rst.txt +share/doc/tiff/manual/_sources/functions/_TIFFauxiliary.rst.txt +share/doc/tiff/manual/_sources/functions/libtiff.rst.txt +share/doc/tiff/manual/_sources/images.rst.txt +share/doc/tiff/manual/_sources/index.rst.txt +share/doc/tiff/manual/_sources/internals.rst.txt +share/doc/tiff/manual/_sources/libtiff.rst.txt +share/doc/tiff/manual/_sources/project/ +share/doc/tiff/manual/_sources/project/acknowledgements.rst.txt +share/doc/tiff/manual/_sources/project/bugs.rst.txt +share/doc/tiff/manual/_sources/project/index.rst.txt +share/doc/tiff/manual/_sources/project/license.rst.txt +share/doc/tiff/manual/_sources/project/mailinglist.rst.txt +share/doc/tiff/manual/_sources/releases/ +share/doc/tiff/manual/_sources/releases/historical.rst.txt +share/doc/tiff/manual/_sources/releases/index.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta007.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta016.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta018.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta024.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta028.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta029.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta031.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta032.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta033.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta034.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta035.rst.txt +share/doc/tiff/manual/_sources/releases/v3.4beta036.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.1.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.2.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.3.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.4.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.5.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.6beta.rst.txt +share/doc/tiff/manual/_sources/releases/v3.5.7.rst.txt +share/doc/tiff/manual/_sources/releases/v3.6.0.rst.txt +share/doc/tiff/manual/_sources/releases/v3.6.1.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.0.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.0alpha.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.0beta.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.0beta2.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.1.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.2.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.3.rst.txt +share/doc/tiff/manual/_sources/releases/v3.7.4.rst.txt +share/doc/tiff/manual/_sources/releases/v3.8.0.rst.txt +share/doc/tiff/manual/_sources/releases/v3.8.1.rst.txt +share/doc/tiff/manual/_sources/releases/v3.8.2.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.0.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.0beta.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.1.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.2.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.3.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.4.rst.txt +share/doc/tiff/manual/_sources/releases/v3.9.5.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.0.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.1.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.10.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.2.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.3.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.4.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.4beta.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.5.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.6.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.7.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.8.rst.txt +share/doc/tiff/manual/_sources/releases/v4.0.9.rst.txt +share/doc/tiff/manual/_sources/releases/v4.1.0.rst.txt +share/doc/tiff/manual/_sources/releases/v4.2.0.rst.txt +share/doc/tiff/manual/_sources/releases/v4.3.0.rst.txt +share/doc/tiff/manual/_sources/releases/v4.4.0.rst.txt +share/doc/tiff/manual/_sources/releases/v4.5.0.rst.txt +share/doc/tiff/manual/_sources/specification/ +share/doc/tiff/manual/_sources/specification/bigtiff.rst.txt +share/doc/tiff/manual/_sources/specification/coverage-bigtiff.rst.txt +share/doc/tiff/manual/_sources/specification/coverage.rst.txt +share/doc/tiff/manual/_sources/specification/index.rst.txt +share/doc/tiff/manual/_sources/specification/technote2.rst.txt +share/doc/tiff/manual/_sources/terms.rst.txt +share/doc/tiff/manual/_sources/tools/ +share/doc/tiff/manual/_sources/tools.rst.txt +share/doc/tiff/manual/_sources/tools/fax2ps.rst.txt +share/doc/tiff/manual/_sources/tools/fax2tiff.rst.txt +share/doc/tiff/manual/_sources/tools/pal2rgb.rst.txt +share/doc/tiff/manual/_sources/tools/ppm2tiff.rst.txt +share/doc/tiff/manual/_sources/tools/raw2tiff.rst.txt +share/doc/tiff/manual/_sources/tools/rgb2ycbcr.rst.txt +share/doc/tiff/manual/_sources/tools/thumbnail.rst.txt +share/doc/tiff/manual/_sources/tools/tiff2bw.rst.txt +share/doc/tiff/manual/_sources/tools/tiff2pdf.rst.txt +share/doc/tiff/manual/_sources/tools/tiff2ps.rst.txt +share/doc/tiff/manual/_sources/tools/tiff2rgba.rst.txt +share/doc/tiff/manual/_sources/tools/tiffcmp.rst.txt +share/doc/tiff/manual/_sources/tools/tiffcp.rst.txt +share/doc/tiff/manual/_sources/tools/tiffcrop.rst.txt +share/doc/tiff/manual/_sources/tools/tiffdither.rst.txt +share/doc/tiff/manual/_sources/tools/tiffdump.rst.txt +share/doc/tiff/manual/_sources/tools/tiffgt.rst.txt +share/doc/tiff/manual/_sources/tools/tiffinfo.rst.txt +share/doc/tiff/manual/_sources/tools/tiffmedian.rst.txt +share/doc/tiff/manual/_sources/tools/tiffset.rst.txt +share/doc/tiff/manual/_sources/tools/tiffsplit.rst.txt +share/doc/tiff/manual/_static/ +share/doc/tiff/manual/_static/_sphinx_javascript_frameworks_compat.js +share/doc/tiff/manual/_static/basic.css +share/doc/tiff/manual/_static/contents.png +share/doc/tiff/manual/_static/doctools.js +share/doc/tiff/manual/_static/documentation_options.js +share/doc/tiff/manual/_static/file.png +share/doc/tiff/manual/_static/jquery-3.6.0.js +share/doc/tiff/manual/_static/jquery.js +share/doc/tiff/manual/_static/language_data.js +share/doc/tiff/manual/_static/minus.png +share/doc/tiff/manual/_static/navigation.png +share/doc/tiff/manual/_static/plus.png +share/doc/tiff/manual/_static/pygments.css +share/doc/tiff/manual/_static/searchtools.js +share/doc/tiff/manual/_static/sphinx_highlight.js +share/doc/tiff/manual/_static/sphinxdoc.css +share/doc/tiff/manual/_static/underscore-1.13.1.js +share/doc/tiff/manual/_static/underscore.js +share/doc/tiff/manual/addingtags.html +share/doc/tiff/manual/build.html +share/doc/tiff/manual/contrib.html +share/doc/tiff/manual/functions/ +share/doc/tiff/manual/functions.html +share/doc/tiff/manual/functions/TIFFAccessTagMethods.html +share/doc/tiff/manual/functions/TIFFClientInfo.html +share/doc/tiff/manual/functions/TIFFClose.html +share/doc/tiff/manual/functions/TIFFCreateDirectory.html +share/doc/tiff/manual/functions/TIFFCustomDirectory.html +share/doc/tiff/manual/functions/TIFFCustomTagList.html +share/doc/tiff/manual/functions/TIFFDataWidth.html +share/doc/tiff/manual/functions/TIFFDeferStrileArrayWriting.html +share/doc/tiff/manual/functions/TIFFError.html +share/doc/tiff/manual/functions/TIFFFieldDataType.html +share/doc/tiff/manual/functions/TIFFFieldName.html +share/doc/tiff/manual/functions/TIFFFieldPassCount.html +share/doc/tiff/manual/functions/TIFFFieldQuery.html +share/doc/tiff/manual/functions/TIFFFieldReadCount.html +share/doc/tiff/manual/functions/TIFFFieldTag.html +share/doc/tiff/manual/functions/TIFFFieldWriteCount.html +share/doc/tiff/manual/functions/TIFFFlush.html +share/doc/tiff/manual/functions/TIFFGetField.html +share/doc/tiff/manual/functions/TIFFMergeFieldInfo.html +share/doc/tiff/manual/functions/TIFFOpen.html +share/doc/tiff/manual/functions/TIFFOpenOptions.html +share/doc/tiff/manual/functions/TIFFPrintDirectory.html +share/doc/tiff/manual/functions/TIFFProcFunctions.html +share/doc/tiff/manual/functions/TIFFRGBAImage.html +share/doc/tiff/manual/functions/TIFFReadDirectory.html +share/doc/tiff/manual/functions/TIFFReadEncodedStrip.html +share/doc/tiff/manual/functions/TIFFReadEncodedTile.html +share/doc/tiff/manual/functions/TIFFReadFromUserBuffer.html +share/doc/tiff/manual/functions/TIFFReadRGBAImage.html +share/doc/tiff/manual/functions/TIFFReadRGBAStrip.html +share/doc/tiff/manual/functions/TIFFReadRGBATile.html +share/doc/tiff/manual/functions/TIFFReadRawStrip.html +share/doc/tiff/manual/functions/TIFFReadRawTile.html +share/doc/tiff/manual/functions/TIFFReadScanline.html +share/doc/tiff/manual/functions/TIFFReadTile.html +share/doc/tiff/manual/functions/TIFFSetDirectory.html +share/doc/tiff/manual/functions/TIFFSetField.html +share/doc/tiff/manual/functions/TIFFSetTagExtender.html +share/doc/tiff/manual/functions/TIFFStrileQuery.html +share/doc/tiff/manual/functions/TIFFWarning.html +share/doc/tiff/manual/functions/TIFFWriteDirectory.html +share/doc/tiff/manual/functions/TIFFWriteEncodedStrip.html +share/doc/tiff/manual/functions/TIFFWriteEncodedTile.html +share/doc/tiff/manual/functions/TIFFWriteRawStrip.html +share/doc/tiff/manual/functions/TIFFWriteRawTile.html +share/doc/tiff/manual/functions/TIFFWriteScanline.html +share/doc/tiff/manual/functions/TIFFWriteTile.html +share/doc/tiff/manual/functions/TIFFbuffer.html +share/doc/tiff/manual/functions/TIFFcodec.html +share/doc/tiff/manual/functions/TIFFcolor.html +share/doc/tiff/manual/functions/TIFFmemory.html +share/doc/tiff/manual/functions/TIFFquery.html +share/doc/tiff/manual/functions/TIFFsize.html +share/doc/tiff/manual/functions/TIFFstrip.html +share/doc/tiff/manual/functions/TIFFswab.html +share/doc/tiff/manual/functions/TIFFtile.html +share/doc/tiff/manual/functions/_TIFFRewriteField.html +share/doc/tiff/manual/functions/_TIFFauxiliary.html +share/doc/tiff/manual/functions/libtiff.html +share/doc/tiff/manual/genindex.html +share/doc/tiff/manual/images.html +share/doc/tiff/manual/index.html +share/doc/tiff/manual/internals.html +share/doc/tiff/manual/libtiff.html +share/doc/tiff/manual/objects.inv +share/doc/tiff/manual/project/ +share/doc/tiff/manual/project/acknowledgements.html +share/doc/tiff/manual/project/bugs.html +share/doc/tiff/manual/project/index.html +share/doc/tiff/manual/project/license.html +share/doc/tiff/manual/project/mailinglist.html +share/doc/tiff/manual/releases/ +share/doc/tiff/manual/releases/historical.html +share/doc/tiff/manual/releases/index.html +share/doc/tiff/manual/releases/v3.4beta007.html +share/doc/tiff/manual/releases/v3.4beta016.html +share/doc/tiff/manual/releases/v3.4beta018.html +share/doc/tiff/manual/releases/v3.4beta024.html +share/doc/tiff/manual/releases/v3.4beta028.html +share/doc/tiff/manual/releases/v3.4beta029.html +share/doc/tiff/manual/releases/v3.4beta031.html +share/doc/tiff/manual/releases/v3.4beta032.html +share/doc/tiff/manual/releases/v3.4beta033.html +share/doc/tiff/manual/releases/v3.4beta034.html +share/doc/tiff/manual/releases/v3.4beta035.html +share/doc/tiff/manual/releases/v3.4beta036.html +share/doc/tiff/manual/releases/v3.5.1.html +share/doc/tiff/manual/releases/v3.5.2.html +share/doc/tiff/manual/releases/v3.5.3.html +share/doc/tiff/manual/releases/v3.5.4.html +share/doc/tiff/manual/releases/v3.5.5.html +share/doc/tiff/manual/releases/v3.5.6beta.html +share/doc/tiff/manual/releases/v3.5.7.html +share/doc/tiff/manual/releases/v3.6.0.html +share/doc/tiff/manual/releases/v3.6.1.html +share/doc/tiff/manual/releases/v3.7.0.html +share/doc/tiff/manual/releases/v3.7.0alpha.html +share/doc/tiff/manual/releases/v3.7.0beta.html +share/doc/tiff/manual/releases/v3.7.0beta2.html +share/doc/tiff/manual/releases/v3.7.1.html +share/doc/tiff/manual/releases/v3.7.2.html +share/doc/tiff/manual/releases/v3.7.3.html +share/doc/tiff/manual/releases/v3.7.4.html +share/doc/tiff/manual/releases/v3.8.0.html +share/doc/tiff/manual/releases/v3.8.1.html +share/doc/tiff/manual/releases/v3.8.2.html +share/doc/tiff/manual/releases/v3.9.0.html +share/doc/tiff/manual/releases/v3.9.0beta.html +share/doc/tiff/manual/releases/v3.9.1.html +share/doc/tiff/manual/releases/v3.9.2.html +share/doc/tiff/manual/releases/v3.9.3.html +share/doc/tiff/manual/releases/v3.9.4.html +share/doc/tiff/manual/releases/v3.9.5.html +share/doc/tiff/manual/releases/v4.0.0.html +share/doc/tiff/manual/releases/v4.0.1.html +share/doc/tiff/manual/releases/v4.0.10.html +share/doc/tiff/manual/releases/v4.0.2.html +share/doc/tiff/manual/releases/v4.0.3.html +share/doc/tiff/manual/releases/v4.0.4.html +share/doc/tiff/manual/releases/v4.0.4beta.html +share/doc/tiff/manual/releases/v4.0.5.html +share/doc/tiff/manual/releases/v4.0.6.html +share/doc/tiff/manual/releases/v4.0.7.html +share/doc/tiff/manual/releases/v4.0.8.html +share/doc/tiff/manual/releases/v4.0.9.html +share/doc/tiff/manual/releases/v4.1.0.html +share/doc/tiff/manual/releases/v4.2.0.html +share/doc/tiff/manual/releases/v4.3.0.html +share/doc/tiff/manual/releases/v4.4.0.html +share/doc/tiff/manual/releases/v4.5.0.html +share/doc/tiff/manual/search.html +share/doc/tiff/manual/searchindex.js +share/doc/tiff/manual/specification/ +share/doc/tiff/manual/specification/bigtiff.html +share/doc/tiff/manual/specification/coverage-bigtiff.html +share/doc/tiff/manual/specification/coverage.html +share/doc/tiff/manual/specification/index.html +share/doc/tiff/manual/specification/technote2.html +share/doc/tiff/manual/terms.html +share/doc/tiff/manual/tools/ +share/doc/tiff/manual/tools.html +share/doc/tiff/manual/tools/fax2ps.html +share/doc/tiff/manual/tools/fax2tiff.html +share/doc/tiff/manual/tools/pal2rgb.html +share/doc/tiff/manual/tools/ppm2tiff.html +share/doc/tiff/manual/tools/raw2tiff.html +share/doc/tiff/manual/tools/rgb2ycbcr.html +share/doc/tiff/manual/tools/thumbnail.html +share/doc/tiff/manual/tools/tiff2bw.html +share/doc/tiff/manual/tools/tiff2pdf.html +share/doc/tiff/manual/tools/tiff2ps.html +share/doc/tiff/manual/tools/tiff2rgba.html +share/doc/tiff/manual/tools/tiffcmp.html +share/doc/tiff/manual/tools/tiffcp.html +share/doc/tiff/manual/tools/tiffcrop.html +share/doc/tiff/manual/tools/tiffdither.html +share/doc/tiff/manual/tools/tiffdump.html +share/doc/tiff/manual/tools/tiffgt.html +share/doc/tiff/manual/tools/tiffinfo.html +share/doc/tiff/manual/tools/tiffmedian.html +share/doc/tiff/manual/tools/tiffset.html +share/doc/tiff/manual/tools/tiffsplit.html