graphics/ufraw: Upgrade to latest version

Major changes:
    * Intagrate multipleple fixes from openSUSE
    * Fix build against glib-2.68
    * ufraw_preview: do now overwrite configuration with preview size
    * ufraw-gimp: properly send EXIF data to Gimp 2.9 and later
    * Suppress compiler warnings on implicit fallthrough
    * ufraw_developer: use fabs() instead of abs() for double
    * Fix GCC 9 OpenMP issues by drop default(none)
    * From Gentoo ufraw-0.17-cfitsio-automagic.patch
    * From Gentoo ufraw-0.22-jasper-automagic.patch
    * From Gentoo ufraw-0.22-jpeg9.patch
    * From Gentoo ufraw-0.22-exiv2-0.27.patch
    * 05_CVE-2018-19655.patch from Debian
    * Prevent crash when camera specified in .ufraw file is not in lensfun db
    * Fix crash on destroy of lensfun object on PEF images

Security:	CVE-2018-19655
MFH:		2021Q2
This commit is contained in:
Rodrigo Osorio 2021-04-24 22:02:41 +02:00
parent 91f5e13615
commit 0e861af155
6 changed files with 5 additions and 97 deletions

View File

@ -1,8 +1,7 @@
# Created by: Mark Murray <markm@FreeBSD.org>
PORTNAME= ufraw
PORTVERSION= 0.22
PORTREVISION= 18
PORTVERSION= 0.22.20210424
CATEGORIES= graphics
MAINTAINER= rodrigo@FreeBSD.org
@ -36,7 +35,7 @@ GIMP_DESC= Install GIMP plugin
USE_GITHUB= yes
GH_ACCOUNT= sergiomb2
GH_PROJECT= ufraw
GH_TAGNAME= 6d3259a
GH_TAGNAME= f34669b
USE_GNOME+=glib20 gtk20 cairo gdkpixbuf2

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1521620815
SHA256 (sergiomb2-ufraw-0.22-6d3259a_GH0.tar.gz) = 4a3b415bf86c7cadc71350a8f0a206cef79bb3c22a6a794a9d9894d6bc7ec6dc
SIZE (sergiomb2-ufraw-0.22-6d3259a_GH0.tar.gz) = 870086
TIMESTAMP = 1619340633
SHA256 (sergiomb2-ufraw-0.22.20210424-f34669b_GH0.tar.gz) = e577154b5b2256cfdc4dfc71018c190c5dcb2d92a5bfa3c13384d86aa28c5ec2
SIZE (sergiomb2-ufraw-0.22.20210424-f34669b_GH0.tar.gz) = 871912

View File

@ -1,41 +0,0 @@
--- dcraw.cc.orig 2018-06-23 21:54:05 UTC
+++ dcraw.cc
@@ -2287,7 +2287,7 @@ void CLASS quicktake_100_load_raw()
void CLASS kodak_radc_load_raw()
{
- static const char src[] = {
+ static const signed char src[] = {
1,1, 2,3, 3,4, 4,2, 5,7, 6,5, 7,6, 7,8,
1,0, 2,1, 3,3, 4,4, 5,2, 6,7, 7,6, 8,5, 8,8,
2,1, 2,3, 3,0, 3,2, 3,4, 4,6, 5,5, 6,7, 6,8,
@@ -3017,7 +3017,10 @@ void CLASS smal_decode_segment (unsigned
diff = diff ? -diff : 0x80;
if (ftell(ifp) + 12 >= (int) seg[1][1])
diff = 0;
- raw_image[pix] = pred[pix & 1] += diff;
+ if(pix>=raw_width*raw_height)
+ derror();
+ else
+ raw_image[pix] = pred[pix & 1] += diff;
if (!(pix & 1) && HOLE(pix / raw_width)) pix += 2;
}
maximum = 0xff;
@@ -8946,7 +8949,7 @@ void CLASS identify()
parse_fuji (get4());
if (thumb_offset > 120) {
fseek (ifp, 120, SEEK_SET);
- is_raw += (i = get4()) && 1;
+ is_raw += (i = get4()) & 1;
if (is_raw == 2 && shot_select)
parse_fuji (i);
}
@@ -10192,7 +10195,7 @@ void CLASS tiff_head (struct tiff_hdr *t
strncpy (th->desc, desc, 512);
strncpy (th->make, make, 64);
strncpy (th->model, model, 64);
- strcpy (th->soft, "dcraw v"DCRAW_VERSION);
+ strcpy (th->soft, " dcraw v " DCRAW_VERSION);
t = localtime (&timestamp);
sprintf (th->date, "%04d:%02d:%02d %02d:%02d:%02d",
t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);

View File

@ -1,28 +0,0 @@
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-gfx/ufraw/files/ufraw-0.22-exiv2-0.27.patch
--- ufraw_exiv2.cc.orig 2016-11-13 04:00:05 UTC
+++ ufraw_exiv2.cc
@@ -15,9 +15,8 @@
#include "ufraw.h"
#ifdef HAVE_EXIV2
-#include <exiv2/image.hpp>
-#include <exiv2/easyaccess.hpp>
-#include <exiv2/exif.hpp>
+#include <iostream>
+#include <exiv2/exiv2.hpp>
#include <sstream>
#include <cassert>
@@ -67,7 +66,11 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf)
if (exifData.empty()) {
std::string error(uf->filename);
error += ": No Exif data found in the file";
+#if EXIV2_TEST_VERSION(0,27,0)
+ throw Exiv2::Error(Exiv2::kerErrorMessage, error);
+#else
throw Exiv2::Error(1, error);
+#endif
}
/* List of tag names taken from exiv2's printSummary() in actions.cpp */

View File

@ -1,11 +0,0 @@
--- ufraw_conf.c.orig 2016-11-13 04:00:05 UTC
+++ ufraw_conf.c
@@ -138,7 +138,7 @@ const conf_data conf_default = {
#elif HAVE_GIMP_2_4
"gimp", /* remoteGimpCommand */
#else
- "gimp-remote", /* remoteGimpCommand */
+ "gimp", /* remoteGimpCommand */
#endif
/* EXIF data */

View File

@ -1,11 +0,0 @@
--- ufraw_developer.c.orig 2018-06-23 21:40:09 UTC
+++ ufraw_developer.c
@@ -387,7 +387,7 @@ static double findExpCoeff(double b)
else a = b;
bg = a / (1 - exp(-a));
/* The limit on try is just to be sure there is no infinite loop. */
- for (try = 0; abs(bg - b) > 0.001 || try < 100; try++) {
+ for (try = 0; fabs(bg - b) > 0.001 || try < 100; try++) {
a = a + (b - bg);
bg = a / (1 - exp(-a));
}