pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/print/ghostscript Update to 8.70:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/a7b94bcc7c00
branches:  trunk
changeset: 398499:a7b94bcc7c00
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Mon Aug 31 20:12:20 2009 +0000

description:
Update to 8.70:

The license is now GPLv3 or later. A large number of issues with
transparency were fixed. Several significant fixes to font handling,
especially when generating PDF, were made. Numerous robustness,
correctness, and performance improvements were made. Security fixes
addressing CVE-2009-0583 and CVE-2009-0792 were made. New generic
Esc/Page devices, eplmono and eplcolor, were added, as well as the
cdnj500 device to support the HP DesignJet 500. The size of PostScript
integers was limited to 32 bits, as recommended in the specification.

XXX: does not fix build with cups option and jpeg7.

diffstat:

 print/ghostscript/Makefile         |     5 +-
 print/ghostscript/distinfo         |    12 +-
 print/ghostscript/patches/patch-aa |    24 -
 print/ghostscript/patches/patch-ag |    14 +-
 print/ghostscript/patches/patch-aj |  1153 ------------------------------------
 5 files changed, 14 insertions(+), 1194 deletions(-)

diffs (truncated from 1245 to 300 lines):

diff -r 7f675f953156 -r a7b94bcc7c00 print/ghostscript/Makefile
--- a/print/ghostscript/Makefile        Mon Aug 31 20:07:32 2009 +0000
+++ b/print/ghostscript/Makefile        Mon Aug 31 20:12:20 2009 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.63 2009/08/26 19:56:52 sno Exp $
+# $NetBSD: Makefile,v 1.64 2009/08/31 20:12:20 wiz Exp $
 
-DISTNAME=      ghostscript-8.64
-PKGREVISION=   4
+DISTNAME=      ghostscript-8.70
 CATEGORIES=    print
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=ghostscript/}
 EXTRACT_SUFX=  .tar.bz2
diff -r 7f675f953156 -r a7b94bcc7c00 print/ghostscript/distinfo
--- a/print/ghostscript/distinfo        Mon Aug 31 20:07:32 2009 +0000
+++ b/print/ghostscript/distinfo        Mon Aug 31 20:12:20 2009 +0000
@@ -1,14 +1,12 @@
-$NetBSD: distinfo,v 1.24 2009/04/17 15:05:31 drochner Exp $
+$NetBSD: distinfo,v 1.25 2009/08/31 20:12:20 wiz Exp $
 
-SHA1 (ghostscript-8.64.tar.bz2) = 4c2a6e04145428d35da73fbc4db9c66a75e336e0
-RMD160 (ghostscript-8.64.tar.bz2) = 565134dcfe1e823b435c3761461c5eb394bd633c
-Size (ghostscript-8.64.tar.bz2) = 16921504 bytes
-SHA1 (patch-aa) = 31d077502dba343c5834e5ee9fdb42102ef47668
+SHA1 (ghostscript-8.70.tar.bz2) = 4e4132713258c680a4fbec577e6dfc82b980ec01
+RMD160 (ghostscript-8.70.tar.bz2) = 88f7d380d1075c57829aa7f34334542fd2bbd6ce
+Size (ghostscript-8.70.tar.bz2) = 17019673 bytes
 SHA1 (patch-ab) = 7a98cad37f94394f172bdac23f5dd73fb1f08006
 SHA1 (patch-ad) = 8b3b743b2d6405ea35bfb16970942ecd55702401
 SHA1 (patch-ae) = 50335e72adebe95ab0cb5873d1c6dd00e971579a
 SHA1 (patch-af) = e4d56f13f5eb595a3929aac6c257012961f59c2b
-SHA1 (patch-ag) = dd452d29253e20bb8fa453a1e4f139a40b2ab3e3
+SHA1 (patch-ag) = bdfbe40c849537d84ac2b3def4a0a3a87ecc152f
 SHA1 (patch-ah) = efc85dead838505ee462714167f196db2deeb0aa
 SHA1 (patch-ai) = ad69ddd4a4bd50cf2263ac6c6d17a59798ef3124
-SHA1 (patch-aj) = 83403be55c9fa8d22fbf3809190c381a06fa2657
diff -r 7f675f953156 -r a7b94bcc7c00 print/ghostscript/patches/patch-aa
--- a/print/ghostscript/patches/patch-aa        Mon Aug 31 20:07:32 2009 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-$NetBSD: patch-aa,v 1.4 2009/04/14 19:32:54 tron Exp $
-
-Patch for CVE-2009-0196 taken from Redhat's Bugzilla:
-
-https://bugzilla.redhat.com/attachment.cgi?id=337747
-
---- jbig2dec/jbig2_symbol_dict.c.orig  2007-12-11 08:29:58.000000000 +0000
-+++ jbig2dec/jbig2_symbol_dict.c       2009-04-14 20:19:01.000000000 +0100
-@@ -699,6 +699,15 @@
-         exrunlength = params->SDNUMEXSYMS;
-       else
-         code = jbig2_arith_int_decode(IAEX, as, &exrunlength);
-+      if (exrunlength > params->SDNUMEXSYMS - j) {
-+        jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number,
-+          "runlength too large in export symbol table (%d > %d - %d)\n",
-+          exrunlength, params->SDNUMEXSYMS, j);
-+        jbig2_sd_release(ctx, SDEXSYMS);
-+        /* skip to the cleanup code and return SDEXSYMS = NULL */
-+        SDEXSYMS = NULL;
-+        break;
-+      }
-       for(k = 0; k < exrunlength; k++)
-         if (exflag) {
-           SDEXSYMS->glyphs[j++] = (i < m) ? 
diff -r 7f675f953156 -r a7b94bcc7c00 print/ghostscript/patches/patch-ag
--- a/print/ghostscript/patches/patch-ag        Mon Aug 31 20:07:32 2009 +0000
+++ b/print/ghostscript/patches/patch-ag        Mon Aug 31 20:12:20 2009 +0000
@@ -1,13 +1,13 @@
-$NetBSD: patch-ag,v 1.3 2009/02/12 19:51:08 drochner Exp $
+$NetBSD: patch-ag,v 1.4 2009/08/31 20:12:20 wiz Exp $
 
---- cups/cups.mak.orig 2009-02-06 18:58:54.000000000 +0100
+--- cups/cups.mak.orig 2009-03-07 21:46:16.000000000 +0000
 +++ cups/cups.mak
-@@ -49,7 +49,7 @@ pdftoraster: $(PDFTORASTER_XE)
- pdftoraster_=cups/pdftoraster.c
+@@ -51,7 +51,7 @@ pdftoraster_=cups/pdftoraster.c
  
  $(PDFTORASTER_XE): $(pdftoraster_)
--      $(GLCC) `cups-config --image --libs` -DBINDIR='"$(bindir)"' -DGS='"$(GS)"' -o $@ $(pdftoraster_)
-+      $(GLCC) `cups-config --ldflags --image --libs` -DBINDIR='"$(bindir)"' -DGS='"$(GS)"' -o $@ $(pdftoraster_)
+       if [ "$(CUPSPDFTORASTER)" = "1" ]; then \
+-          $(GLCC) $(LDFLAGS) -DBINDIR='"$(bindir)"' -DGS='"$(GS)"' -o $@ $(pdftoraster_) `cups-config --image --libs`; \
++          $(GLCC) $(LDFLAGS) -DBINDIR='"$(bindir)"' -DGS='"$(GS)"' -o $@ $(pdftoraster_) `cups-config --ldflags --image --libs`; \
+       fi
  
  install:      install-cups
- 
diff -r 7f675f953156 -r a7b94bcc7c00 print/ghostscript/patches/patch-aj
--- a/print/ghostscript/patches/patch-aj        Mon Aug 31 20:07:32 2009 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,1153 +0,0 @@
-$NetBSD: patch-aj,v 1.4 2009/04/17 15:05:31 drochner Exp $
-
---- icclib/icc.c.orig  2008-05-09 06:12:01.000000000 +0200
-+++ icclib/icc.c
-@@ -152,6 +152,8 @@
-  *      Various bug fixes and enhancements.
-  */
- 
-+#include <limits.h>
-+#include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
-@@ -313,8 +315,11 @@ size_t count
-       icmFileMem *p = (icmFileMem *)pp;
-       size_t len;
- 
-+      if (count > 0 && size > SIZE_MAX / count)
-+              return 0;
-+
-       len = size * count;
--      if ((p->cur + len) >= p->end) {         /* Too much */
-+      if (len > (p->end - p->cur)) { /* Too much */
-               if (size > 0)
-                       count = (p->end - p->cur)/size;
-               else
-@@ -1634,6 +1639,8 @@ static int icmUInt8Array_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmUInt8Array_write malloc() failed");
-               return icp->errc = 2;
-@@ -1698,7 +1705,7 @@ static int icmUInt8Array_allocate(
-       if (p->size != p->_size) {
-               if (p->data != NULL)
-                       icp->al->free(icp->al, p->data);
--              if ((p->data = (unsigned int *) icp->al->malloc(icp->al, p->size * sizeof(unsigned int))) == NULL) {
-+              if ((p->data = (unsigned int *) icp->al->calloc(icp->al, p->size, sizeof(unsigned int))) == NULL) {
-                       sprintf(icp->err,"icmUInt8Array_alloc: malloc() of icmUInt8Array data failed");
-                       return icp->errc = 2;
-               }
-@@ -1749,6 +1756,10 @@ static unsigned int icmUInt16Array_get_s
-       icmUInt16Array *p = (icmUInt16Array *)pp;
-       unsigned int len = 0;
-       len += 8;                       /* 8 bytes for tag and padding */
-+      if (p->size > (UINT_MAX - len) / 2) {
-+              p->icp->errc = 1;
-+              return (unsigned int) -1;
-+      }
-       len += p->size * 2;     /* 2 bytes for each UInt16 */
-       return len;
- }
-@@ -1821,6 +1832,8 @@ static int icmUInt16Array_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmUInt16Array_write malloc() failed");
-               return icp->errc = 2;
-@@ -1885,7 +1898,7 @@ static int icmUInt16Array_allocate(
-       if (p->size != p->_size) {
-               if (p->data != NULL)
-                       icp->al->free(icp->al, p->data);
--              if ((p->data = (unsigned int *) icp->al->malloc(icp->al, p->size * sizeof(unsigned int))) == NULL) {
-+              if ((p->data = (unsigned int *) icp->al->calloc(icp->al, p->size, sizeof(unsigned int))) == NULL) {
-                       sprintf(icp->err,"icmUInt16Array_alloc: malloc() of icmUInt16Array data failed");
-                       return icp->errc = 2;
-               }
-@@ -1936,6 +1949,10 @@ static unsigned int icmUInt32Array_get_s
-       icmUInt32Array *p = (icmUInt32Array *)pp;
-       unsigned int len = 0;
-       len += 8;                       /* 8 bytes for tag and padding */
-+      if (p->size > (UINT_MAX - len) / 4) {
-+              p->icp->errc = 1;
-+              return (unsigned int) -1;
-+      }
-       len += p->size * 4;     /* 4 bytes for each UInt32 */
-       return len;
- }
-@@ -2008,6 +2025,8 @@ static int icmUInt32Array_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmUInt32Array_write malloc() failed");
-               return icp->errc = 2;
-@@ -2072,7 +2091,7 @@ static int icmUInt32Array_allocate(
-       if (p->size != p->_size) {
-               if (p->data != NULL)
-                       icp->al->free(icp->al, p->data);
--              if ((p->data = (unsigned int *) icp->al->malloc(icp->al, p->size * sizeof(unsigned int))) == NULL) {
-+              if ((p->data = (unsigned int *) icp->al->calloc(icp->al, p->size, sizeof(unsigned int))) == NULL) {
-                       sprintf(icp->err,"icmUInt32Array_alloc: malloc() of icmUInt32Array data failed");
-                       return icp->errc = 2;
-               }
-@@ -2123,6 +2142,10 @@ static unsigned int icmUInt64Array_get_s
-       icmUInt64Array *p = (icmUInt64Array *)pp;
-       unsigned int len = 0;
-       len += 8;                       /* 8 bytes for tag and padding */
-+      if (p->size > (UINT_MAX - len) / 8) {
-+              p->icp->errc = 1;
-+              return (unsigned int) -1;
-+      }
-       len += p->size * 8;     /* 8 bytes for each UInt64 */
-       return len;
- }
-@@ -2195,6 +2218,8 @@ static int icmUInt64Array_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmUInt64Array_write malloc() failed");
-               return icp->errc = 2;
-@@ -2259,7 +2284,7 @@ static int icmUInt64Array_allocate(
-       if (p->size != p->_size) {
-               if (p->data != NULL)
-                       icp->al->free(icp->al, p->data);
--              if ((p->data = (icmUint64 *) icp->al->malloc(icp->al, p->size * sizeof(icmUint64))) == NULL) {
-+              if ((p->data = (icmUint64 *) icp->al->calloc(icp->al, p->size, sizeof(icmUint64))) == NULL) {
-                       sprintf(icp->err,"icmUInt64Array_alloc: malloc() of icmUInt64Array data failed");
-                       return icp->errc = 2;
-               }
-@@ -2310,6 +2335,10 @@ static unsigned int icmU16Fixed16Array_g
-       icmU16Fixed16Array *p = (icmU16Fixed16Array *)pp;
-       unsigned int len = 0;
-       len += 8;                       /* 8 bytes for tag and padding */
-+      if (p->size > (UINT_MAX - len) / 4) {
-+              p->icp->errc = 1;
-+              return (unsigned int) -1;
-+      }
-       len += p->size * 4;     /* 4 byte for each U16Fixed16 */
-       return len;
- }
-@@ -2382,6 +2411,8 @@ static int icmU16Fixed16Array_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmU16Fixed16Array_write malloc() failed");
-               return icp->errc = 2;
-@@ -2446,7 +2477,7 @@ static int icmU16Fixed16Array_allocate(
-       if (p->size != p->_size) {
-               if (p->data != NULL)
-                       icp->al->free(icp->al, p->data);
--              if ((p->data = (double *) icp->al->malloc(icp->al, p->size * sizeof(double))) == NULL) {
-+              if ((p->data = (double *) icp->al->calloc(icp->al, p->size, sizeof(double))) == NULL) {
-                       sprintf(icp->err,"icmU16Fixed16Array_alloc: malloc() of icmU16Fixed16Array data failed");
-                       return icp->errc = 2;
-               }
-@@ -2497,6 +2528,10 @@ static unsigned int icmS15Fixed16Array_g
-       icmS15Fixed16Array *p = (icmS15Fixed16Array *)pp;
-       unsigned int len = 0;
-       len += 8;                       /* 8 bytes for tag and padding */
-+      if (p->size > (UINT_MAX - len) / 4) {
-+              p->icp->errc = 1;
-+              return (unsigned int) - 1;
-+      }
-       len += p->size * 4;     /* 4 byte for each S15Fixed16 */
-       return len;
- }
-@@ -2569,6 +2604,8 @@ static int icmS15Fixed16Array_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmS15Fixed16Array_write malloc() failed");
-               return icp->errc = 2;
-@@ -2633,7 +2670,7 @@ static int icmS15Fixed16Array_allocate(
-       if (p->size != p->_size) {
-               if (p->data != NULL)
-                       icp->al->free(icp->al, p->data);
--              if ((p->data = (double *) icp->al->malloc(icp->al, p->size * sizeof(double))) == NULL) {
-+              if ((p->data = (double *) icp->al->calloc(icp->al, p->size, sizeof(double))) == NULL) {
-                       sprintf(icp->err,"icmS15Fixed16Array_alloc: malloc() of icmS15Fixed16Array data failed");
-                       return icp->errc = 2;
-               }
-@@ -2726,6 +2763,10 @@ static unsigned int icmXYZArray_get_size
-       icmXYZArray *p = (icmXYZArray *)pp;
-       unsigned int len = 0;
-       len += 8;                               /* 8 bytes for tag and padding */
-+      if (p->size > (UINT_MAX - len) / 12) {
-+              p->icp->errc = 1;
-+              return (unsigned int) - 1;
-+      }
-       len += p->size * 12;    /* 12 bytes for each XYZ */
-       return len;
- }
-@@ -2798,6 +2839,8 @@ static int icmXYZArray_write(
- 
-       /* Allocate a file write buffer */
-       len = p->get_size((icmBase *)p);
-+      if (icp->errc)
-+              return icp->errc;
-       if ((buf = (char *) icp->al->malloc(icp->al, len)) == NULL) {
-               sprintf(icp->err,"icmXYZArray_write malloc() failed");



Home | Main Index | Thread Index | Old Index