Return-Path: <tiff-bounces@lists.osgeo.org>
Received: from mailgate221.isp.belgacom.be ([195.238.22.53])
          by mailfep009.skynet.be
          (InterMail vM.8.04.03.28.4 201-2389-100-182-103-20180124)
          with ESMTP
          id <20200816155229.HCES7566.mailfep009.skynet.be@mailgate221.isp.belgacom.be>
          for <chris.lindelaan@skynet.be>; Sun, 16 Aug 2020 17:52:29 +0200
Authentication-Results: mx201.skynet.be; dkim=none (message not signed) header.i=none; spf=None smtp.pra=tiff-bounces@lists.osgeo.org; spf=Pass smtp.mailfrom=tiff-bounces@lists.osgeo.org; spf=Pass smtp.helo=postmaster@lists.osgeo.org
Received-SPF: None (mx201.skynet.be: no sender authenticity
  information available from domain of
  tiff-bounces@lists.osgeo.org) identity=pra;
  client-ip=140.211.15.3; receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible
Received-SPF: Pass (mx201.skynet.be: domain of
  tiff-bounces@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=mailfrom; client-ip=140.211.15.3;
  receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="tiff-bounces@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
Received-SPF: Pass (mx201.skynet.be: domain of
  postmaster@lists.osgeo.org designates 140.211.15.3 as
  permitted sender) identity=helo; client-ip=140.211.15.3;
  receiver=mx201.skynet.be;
  envelope-from="tiff-bounces@lists.osgeo.org";
  x-sender="postmaster@lists.osgeo.org";
  x-conformance=sidf_compatible; x-record-type="v=spf1";
  x-record-text="v=spf1 mx a:mail.osgeo.org a:lists.osgeo.org
  a:mail.osgeo.osuosl.org a:tracsvn.osgeo.osuosl.org -all"
X-Ironport-Dmarc-Check-Result: validskip
IronPort-SDR: 5cC2p7tQ8Sqh0/iOilxCdBbUJRamDB+D58yEMmxqeGTgrqzmjaN5Vccht2ikzLRPZ6eSMzfOnp
 w1bCP0zPlALF6GJoYOQTEwF6vml+qqmIK5uBfESHhz+SrNl+n8Myv2sTpiDTPRXCICcOe3oQfO
 bvHoMo+qUieLzSuFwXfo6bfP3Gzqp4M2fzZEF96DGv/YTLFgEtQw4EHU6YivoM4o3/GIoz+d2k
 FM1i1mfnkApK57LGXoPDyIo562YO+LD24QjDDcAOQqBVdU8iU1hjE5vPuTjF3J3PXXfF4L3OEz
 cSNyDMz8JlWN4IPCyjQNY2q0
IronPort-PHdr: =?us-ascii?q?9a23=3AEn63OByndRr8XMnXCy+O+j09IxM/srCxBDY+r6?=
 =?us-ascii?q?Qd0usSKPad9pjvdHbS+e9qxAeQG9mCtbQd07Od4vuocFdDyK7JiGoFfp1IWk?=
 =?us-ascii?q?1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBA?=
 =?us-ascii?q?j0OxZrKeTpAI7SiNm82/yv95HJbAhEmTuwbalvIBmqsAnduc0bjIV/Iast1x?=
 =?us-ascii?q?XFpWdFdf5Lzm1yP1KTmBj85sa0/JF99ilbpuws+c1dX6jkZqo0VbNXAigoPG?=
 =?us-ascii?q?Az/83rqALMTRCT6XsGU2UZiQRHDg7Y5xznRJjxsy/6tu1g2CmGOMD9UL45VS?=
 =?us-ascii?q?i+46ptVRTljjoMOTwk/2HNksF+jLxVrhyiqRNxwYHUbo6aOudmfq7ff90WWG?=
 =?us-ascii?q?RMUtpNWCNfGYOxdI4PA/YbMOtCs4XwpkYCoB2jDgesHuPvzTpIi2f5060kze?=
 =?us-ascii?q?shFxzN0hAnH9ITqnvUsdH1NLsPWu2y0qbI0yvMb/VM1Tfn74jIbwouoeyIXb?=
 =?us-ascii?q?JsasfR0lEvGBnZjlWRs4PlOzOU1v8Xv2eH6OpgUPuihmg6oA5+vjah3N0jip?=
 =?us-ascii?q?XVho0L0FDE8z10zJorKNClVkJ2fdCqHZVfuSyeK4d7Qt4uTmB0tCom17EKpY?=
 =?us-ascii?q?K2cSkExpopxBPRZPKJf5WJ7x7+SOqcIjl2in15dL+5mh28/0+gyujmWcm11l?=
 =?us-ascii?q?ZHtjFFksHWuXAR1hzc8MyHS/tm/ku7xTmP0AXT5+dZKk43jarWM4Mtz7Esmp?=
 =?us-ascii?q?YJr0jPAzL6lF/rgKKWbEkp9PCk5uf5brn8uJOROJN4hhvjPqkvgMCzH/o0Pw?=
 =?us-ascii?q?gIUmOG4+qzzqfj8lf8QLhSjv05jK3ZsJfCKMQfp665GBNV0p055xa4FDem38?=
 =?us-ascii?q?oXnX4dIFJCYhKHgJDlO1DIIP/mEfeym0mgnTh3y/zcILHtH4jBImLenLrhZ7?=
 =?us-ascii?q?pw5VZQyA8pwtBe45JUBKsBIPX2WkLpqNzYDxE5MwKtz+n8D9V9y4UeVn6RDa?=
 =?us-ascii?q?+CK67StV6I5vkzI+mXfoMVvy39K/c76P7pl3M5nkUdfaax0ZsNdH+4BuhmI1?=
 =?us-ascii?q?meYXf0ntgBEX0KvgslTODwjF2CUDhTaGusUKI4/D40EoSmAJzYRoCugL2B2j?=
 =?us-ascii?q?m0HoFMam9dFF/fWUrubJiODvcQdDqJcIgmlj0fSaPnTJQu2BbosxX1jL9uL+?=
 =?us-ascii?q?7R8ytfsor/1d9z/KrPlB88pgFyFNmXhmSETmVomTEURjE4mbpyuFFw0Uur1a?=
 =?us-ascii?q?ljn+ceEsdc6vQPVR01YoXBxe53AMynRwTaY92SQ0ynSNj1PDcqU9gRztYCbl?=
 =?us-ascii?q?woG8m+lguRmG2uAqQJjPqMH5M59eTbxXe2Is98z3PP0u4ml0UnRc1UcnGniK?=
 =?us-ascii?q?Asyg7IGoTpnkyVmrz/cK0d2DLKpnuCw2TLpkxBTQNrTY3BXGsDfQ3Rttv04Q?=
 =?us-ascii?q?XFVbD5EqktMAZK1ZufLLBXYMbil1RMSaTfP4HCYmy/s2OxHgqTgLSXY4ftPW?=
 =?us-ascii?q?IH03bzEk8Bxi0N8HDODw8jDzqlvyqKASJjExT1ZF7l7O1igGijR1M1xgWbdA?=
 =?us-ascii?q?tq0L/jqU1dvuCVV/5GhuFMgywmsTghRAznjfvLF9qNoRZgd6xAYNQ7pW1Kzn?=
 =?us-ascii?q?/dqxcnZs3yKrA43gdYaAdmuU7ykR96Wc1Mkskv+XUtygc6aaeVy0hIeD7Q25?=
 =?us-ascii?q?fscqbWJW//8FHna6Pf1lzEltfD/KAJ5adwsE3t6SeuEEdq6HB7y59NyXLJ+p?=
 =?us-ascii?q?TEAk8YVo/3WUss3xx7vK3BJC4m6I7Tk3p2Pvr8qSfMjuogH/Bt0RO8Z5FaOa?=
 =?us-ascii?q?KAGhX1FpgGBsagbeYthl6iYwksOOFJ6LVyONipevzA37Skb657hDzztW1c+8?=
 =?us-ascii?q?hm116UsSpxTumdx5Ee3/SRxReKTR/4jUy9qYbwgo9JYncVBGXmk3reCYVcZ7?=
 =?us-ascii?q?N/ccMwMUn1epTl4NJ4itatXm4CrAflHFAX3sK1PxCfPRT72kVL2EIbrGbvkD?=
 =?us-ascii?q?akzzFyjzAir7aOuU6Gi+Xkeh0dP2dXRW5kxV7yKImwhtoeUQCmdQ8s3Bei4E?=
 =?us-ascii?q?/7weBcqsEdZyHPQElGOiLxMmdpX7CYsruZf9UJ74gnvCIRV/6zIBibRrP7vx?=
 =?us-ascii?q?oGwnb7BWINoVJzPzquu5j/g1l7kDfEcC419iOAP5gtg0yMrMbRTvNQwDccES?=
 =?us-ascii?q?xo02GOQEO/Lt+k4ZOemsSm0Kj2WmS/W5lUaSSuw5mHsX7x+WxkD1i1mO21kd?=
 =?us-ascii?q?D8OQw7yjPgkd5xWijP6hHmbcO4ssbyefIiZURuCFLmvoBmG49w14E3mZcb1G?=
 =?us-ascii?q?MygpSO4WFBlnz8PNId3rjxJiloJ3ZD05ve5w7r31dmJ3SCytfiV3mT9cBmYs?=
 =?us-ascii?q?GzfmIc3i9ktZJwBayZ7aJJkW5OmnTk8FKDWfFmhX9dzOt0sCdcmOIYvgcxiC?=
 =?us-ascii?q?+QUPgeGkxRPCqkkBrtjZj2sKRZaiOldqW230dltdSgF62Z5AZHV3v+PJA4Em?=
 =?us-ascii?q?d8495+P1TFzHDooti4IJ+KNItV70DSyF/JlI03YNopm+APhDZ7NG61pnAjx+?=
 =?us-ascii?q?MhzFRv0Zy8oImbOjBo9aO9DARfM269bMcS9zfxyKdGy5/Kh8b1R8wnQ2hNB8?=
 =?us-ascii?q?iNL7rgCj8ZuPX5OhzbFS1m8i7dArnOGwKDrk1r/BetW9imMW+aIH4BwJBsXh?=
 =?us-ascii?q?6YcQZDgQ4aGT89g5gyGxuCwM36bFw/4Sse61m+rQFDgLENVVG3QiLEqQGkZy?=
 =?us-ascii?q?1hAoSeIhQT5AZf4UzYKuSa7/lvBGdf5ZKsq0qKMGPRNGEqRSkZH0eDAV7kJL?=
 =?us-ascii?q?yn49LNpvOZCuSJJPzLebySqOZaWqTA1de134Bh5TrJKtSXMywoEaggwkQaFy?=
 =?us-ascii?q?MceYyRi3AVRicQjS6Ic8OLuEL25Hhsts7muPH7EAu94IKOD/1VKtpi/Faxm6?=
 =?us-ascii?q?jLPryUhT1lMnBfzZwBwjnP0rd6vhZagnNrfjipV7MbuiPKCqXLh6hMC1gccS?=
 =?us-ascii?q?w7PZlU9as3xRdLf8nAhd7ykLljk/kuDxFCT1Op38itYYZTeTOHOVjKBViGOP?=
 =?us-ascii?q?G9HROXnpmlWaqnUvUQifUO70T2ojWKFUL/eD6OxXHlUBWmMOcEiy/+XlQWoI?=
 =?us-ascii?q?ambhNkEnTuVvriawanK5lwljI7xvsznHyCOWMHMDd6el9AtfXJsXse2KwmXT?=
 =?us-ascii?q?UcqCEtJPLh+W7R9+TCL5cKrfZnSj95ke5X+jVyyrdY6j1FWO0gmCbWqY0mqF?=
 =?us-ascii?q?Wnn++Tjzt/BUMS8nAR3dvN5BgkYva8lNEIQ3vP8RMT4H/FDgRQ/4IjEd7+va?=
 =?us-ascii?q?1MjNLCx8eRYH9P9czZ+cwECo3aMsWCZTA9MBTnXTTTEQ0OQCWDMWDEm1cbl+?=
 =?us-ascii?q?qd+3rTqYI14MuJ+tJGWvpAWVo5G+lPQFxiB8AHKYxrUykMlb+AkNVO4mGxoR?=
 =?us-ascii?q?6XQ99V9MOiNLraEbDkLzCXiqNBbh0DzObjLIgdAYb83lRrdlhwmImZU1qVR9?=
 =?us-ascii?q?1GpTdtKxMluEgYumYrVXU9ggi2D2HlqG9WD/O/mQQ6zxdzcfh4vim5+E85fx?=
 =?us-ascii?q?LPtGM5wkw4mNGjhiuefTm3K72/FYgEDyvvq1N3NYj0TgEzahe9+C4sfD6WQr?=
 =?us-ascii?q?tQi/1nbm9mj0nbooZIAvoaSrdLKBZC2euebO421xJbsSqqwglA/vbCEp8kkx?=
 =?us-ascii?q?ElOdulq3YKgl4xXJsOPaXVYZFx4B1InKvX4X2s1/st20kZPEkA9yWVYiFa4B?=
 =?us-ascii?q?VVZIljHDKh+6lX0SLHmzZHfzFTBf4rue5xsEQmNOmHiSX63OwacxHjB6mkN6?=
 =?us-ascii?q?qc/lP4u4uNS1I02FkPkhAar7x3yts4NU2PWE0oiryLGEZQOA=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0HiAgDfVDlfhwMP04xfHgEBCxIMQIJ?=
 =?us-ascii?q?tUi4YAV5XHgMHNAqELYNJhTiIIhSbdxQBAQIBAQEBAQgYAQoKAgQBAQEBhGO?=
 =?us-ascii?q?CMh4GAQQ0EwIDAQEBAwIFAQEBBAEBAQIBAQIDAgIBAQIQAQEBCgsJCCkqBmB?=
 =?us-ascii?q?gBGIGWwSBaQwzDII3BQIDGA5sgQIBAQEBAQEBAQEBAQEBAQEBAQEBARYCDVR?=
 =?us-ascii?q?oAQEBAQIBAQEBICMKBRkOAgEBAgYBAQoYCRkEBAICAgEBCwEXAS8ZBYMhAYJ?=
 =?us-ascii?q?cIAQBCrFjdAKBMoQDhS+BQIE4hlGGW4FNP4ERgmIuPoJcAQSEc4JgBJAGBYJ?=
 =?us-ascii?q?0iB8OgVSZBSoHgmWBCQQLh0uKdYZpD4Jxjw6OE5x8lSSBaoF7MxojUIJpCUQ?=
 =?us-ascii?q?BAgECDQIBAgIBAQICAgEBAgIBAQKSDYUUhURBMTcCBgEJAQEDCVgkjlBcAYE?=
 =?us-ascii?q?QAQE?=
X-IPAS-Result: =?us-ascii?q?A0HiAgDfVDlfhwMP04xfHgEBCxIMQIJtUi4YAV5XHgMHN?=
 =?us-ascii?q?AqELYNJhTiIIhSbdxQBAQIBAQEBAQgYAQoKAgQBAQEBhGOCMh4GAQQ0EwIDA?=
 =?us-ascii?q?QEBAwIFAQEBBAEBAQIBAQIDAgIBAQIQAQEBCgsJCCkqBmBgBGIGWwSBaQwzD?=
 =?us-ascii?q?II3BQIDGA5sgQIBAQEBAQEBAQEBAQEBAQEBAQEBARYCDVRoAQEBAQIBAQEBI?=
 =?us-ascii?q?CMKBRkOAgEBAgYBAQoYCRkEBAICAgEBCwEXAS8ZBYMhAYJcIAQBCrFjdAKBM?=
 =?us-ascii?q?oQDhS+BQIE4hlGGW4FNP4ERgmIuPoJcAQSEc4JgBJAGBYJ0iB8OgVSZBSoHg?=
 =?us-ascii?q?mWBCQQLh0uKdYZpD4Jxjw6OE5x8lSSBaoF7MxojUIJpCUQBAgECDQIBAgIBA?=
 =?us-ascii?q?QICAgEBAgIBAQKSDYUUhURBMTcCBgEJAQEDCVgkjlBcAYEQAQE?=
X-MGA-submission: =?us-ascii?q?MDEhidUfS7IfMcfccTQ0OsY7+UOGADT3kQ7IUf?=
 =?us-ascii?q?fOf8dO120yyafbvQHGKFsoi8lZfda4fgQu3CypFYFcnLgX3+YsuVkMhd?=
 =?us-ascii?q?na+DHussKr2melHv0fnoHr4C9Az1bkzTvlJFs=3D?=
Received: from osgeo6.osgeo.osuosl.org (HELO lists.osgeo.org) ([140.211.15.3])
  by mx201.skynet.be with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 16 Aug 2020 17:52:28 +0200
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id A259361449D2;
	Sun, 16 Aug 2020 08:52:23 -0700 (PDT)
Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net
 [217.70.183.193])
 by lists.osgeo.org (Postfix) with ESMTPS id 599F86146DC2
 for <tiff@lists.osgeo.org>; Sun, 16 Aug 2020 08:52:22 -0700 (PDT)
X-Originating-IP: 82.240.16.225
Received: from even-i700.localnet (mla78-1-82-240-16-225.fbx.proxad.net
 [82.240.16.225]) (Authenticated sender: test@spatialys.com)
 by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 2B615240002;
 Sun, 16 Aug 2020 15:52:19 +0000 (UTC)
From: Even Rouault <even.rouault@spatialys.com>
To: tiff@lists.osgeo.org
Date: Sun, 16 Aug 2020 17:52:18 +0200
Message-ID: <2054540.SmJo4UmcHZ@even-i700>
User-Agent: KMail/5.1.3 (Linux/4.4.0-186-generic; KDE/5.18.0; x86_64; ; )
In-Reply-To: <alpine.GSO.2.20.2008160836020.21070@scrappy.simplesystems.org>
References: <alpine.GSO.2.20.2008160836020.21070@scrappy.simplesystems.org>
MIME-Version: 1.0
Subject: Re: [Tiff] Disable Old JPEG in libtiff by default!
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8483624067231041165=="
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>

This is a multi-part message in MIME format.

--===============8483624067231041165==
Content-Type: multipart/alternative; boundary="nextPart1717870.CQTp4y2UqZ"
Content-Transfer-Encoding: 7Bit

This is a multi-part message in MIME format.

--nextPart1717870.CQTp4y2UqZ
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="iso-8859-1"

On dimanche 16 ao=FBt 2020 08:51:36 CEST Bob Friesenhahn wrote:
> In 1995 Adobe published DRAFT TIFF Technical Note #2 which abandoned
> the JPEG format described by TIFF 6.0.  It is now 2020, which has
> provided plenty of time to stop using the deprecated/defunct format
> and convert existing files to the modern format.
>=20
> The libtiff configure script enables support for reading old JPEG by
> default.  I propose that the libtiff default should be to disable
> support for old JPEG.
>=20
> While support for the deprecated old JPEG was substantially improved
> by libtiff 4.x (thanks to considerable effort by Joris Van Damme),
> support for it is not likely to become any better in the future.  The
> old JPEG format had fundamental defects which caused Adobe to discard
> it.
>=20
> Leaving support for old JPEG enabled in libtiff increases its default
> security exposure, and increases the default security exposure of all
> distributions which use the default.
>=20
> Is there any reason this change should not be made now?

Bob,

Regarding security issues in the codec, the last things I looked at were fa=
lse positive with the=20
memory sanitizer due to libjpeg-turbo using by default hand-written assembl=
y for SIMD=20
acceleration, which cannot be instrumented by MSAN at build time. There's a=
n env variable in=20
libjpegturbo to disable those SIMD accelerated routines when debugging this=
 kind of issues.

More generally, I don't care that much about the OJPEG codec, although ther=
e are=20
apparently still people reading such images, since we got bug reports when =
some recent bug=20
fixes rejected valid images.

I was thinking that a potential compromise could be to still build the code=
c by default, but=20
require some environment variable (LIBTIFF_ENABLE_OJPEG ?) to be set to pro=
ceed to the=20
actual decoding (*). There could be some warning thrown in the Init method =
of the decode to=20
advertize this.

Even

(*) although there might be some complication since I believe that the gene=
ric directory=20
opening code has a special case in the OJPEG case to read the codestream to=
 be able to=20
recover missing tags

=2D-=20
Spatialys - Geospatial professional services
http://www.spatialys.com

--nextPart1717870.CQTp4y2UqZ
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-=
html40/strict.dtd">
<html><head><meta name=3D"qrichtext" content=3D"1" /><style type=3D"text/cs=
s">
p, li { white-space: pre-wrap; }
</style></head><body style=3D" font-family:'monospace'; font-size:9pt; font=
=2Dweight:400; font-style:normal;">
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">On dimanche=
 16 ao=FBt 2020 08:51:36 CEST Bob Friesenhahn wrote:</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; In 199=
5 Adobe published DRAFT TIFF Technical Note #2 which abandoned</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; the JP=
EG format described by TIFF 6.0.  It is now 2020, which has</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; provid=
ed plenty of time to stop using the deprecated/defunct format</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; and co=
nvert existing files to the modern format.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; The li=
btiff configure script enables support for reading old JPEG by</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; defaul=
t.  I propose that the libtiff default should be to disable</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; suppor=
t for old JPEG.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; While =
support for the deprecated old JPEG was substantially improved</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; by lib=
tiff 4.x (thanks to considerable effort by Joris Van Damme),</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; suppor=
t for it is not likely to become any better in the future.  The</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; old JP=
EG format had fundamental defects which caused Adobe to discard</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; it.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Leavin=
g support for old JPEG enabled in libtiff increases its default</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; securi=
ty exposure, and increases the default security exposure of all</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; distri=
butions which use the default.</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Is the=
re any reason this change should not be made now?</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Bob,</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Regarding s=
ecurity issues in the codec, the last things I looked at were false positiv=
e with the memory sanitizer due to libjpeg-turbo using by default hand-writ=
ten assembly for SIMD acceleration, which cannot be instrumented by MSAN at=
 build time. There's an env variable in libjpegturbo to disable those SIMD =
accelerated routines when debugging this kind of issues.</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">More genera=
lly, I don't care that much about the OJPEG codec, although there are appar=
ently still people reading such images, since we got bug reports when some =
recent bug fixes rejected valid images.</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">I was think=
ing that a potential compromise could be to still build the codec by defaul=
t, but require some environment variable (LIBTIFF_ENABLE_OJPEG ?) to be set=
 to proceed to the actual decoding (*). There could be some warning thrown =
in the Init method of the decode to advertize this.</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Even</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">(*) althoug=
h there might be some complication since I believe that the generic directo=
ry opening code has a special case in the OJPEG case to read the codestream=
 to be able to recover missing tags</p>
<p style=3D"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; ma=
rgin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; ">&nb=
sp;</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">-- </p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Spatialys -=
 Geospatial professional services</p>
<p style=3D" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rig=
ht:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">http://www.=
spatialys.com</p></body></html>
--nextPart1717870.CQTp4y2UqZ--


--===============8483624067231041165==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGlmZiBtYWls
aW5nIGxpc3QKVGlmZkBsaXN0cy5vc2dlby5vcmcKaHR0cHM6Ly9saXN0cy5vc2dlby5vcmcvbWFp
bG1hbi9saXN0aW5mby90aWZmCg==

--===============8483624067231041165==--

