head 1.8; access; symbols pkgsrc-2013Q2:1.8.0.22 pkgsrc-2013Q2-base:1.8 pkgsrc-2012Q4:1.8.0.20 pkgsrc-2012Q4-base:1.8 pkgsrc-2011Q4:1.8.0.18 pkgsrc-2011Q4-base:1.8 pkgsrc-2011Q2:1.8.0.16 pkgsrc-2011Q2-base:1.8 pkgsrc-2010Q3:1.8.0.14 pkgsrc-2009Q4:1.8.0.12 pkgsrc-2009Q4-base:1.8 pkgsrc-2008Q4:1.8.0.10 pkgsrc-2008Q4-base:1.8 pkgsrc-2008Q3:1.8.0.8 pkgsrc-2008Q3-base:1.8 cube-native-xorg:1.8.0.6 cube-native-xorg-base:1.8 pkgsrc-2008Q2:1.8.0.4 pkgsrc-2008Q2-base:1.8 pkgsrc-2008Q1:1.8.0.2 pkgsrc-2008Q1-base:1.8 pkgsrc-2007Q4:1.7.0.10 pkgsrc-2007Q4-base:1.7 pkgsrc-2007Q3:1.7.0.8 pkgsrc-2007Q3-base:1.7 pkgsrc-2007Q2:1.7.0.6 pkgsrc-2007Q2-base:1.7 pkgsrc-2007Q1:1.7.0.4 pkgsrc-2007Q1-base:1.7 pkgsrc-2006Q4:1.7.0.2 pkgsrc-2006Q4-base:1.7 pkgsrc-2006Q3:1.6.0.6 pkgsrc-2006Q3-base:1.6 pkgsrc-2006Q2:1.6.0.4 pkgsrc-2006Q2-base:1.6 pkgsrc-2006Q1:1.6.0.2 pkgsrc-2006Q1-base:1.6 pkgsrc-2005Q4:1.5.0.4 pkgsrc-2005Q4-base:1.5 pkgsrc-2005Q3:1.5.0.2 pkgsrc-2005Q3-base:1.5 pkgsrc-2005Q2:1.4.0.2 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.3.0.6 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.4 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.2 pkgsrc-2004Q3-base:1.3; locks; strict; comment @# @; 1.8 date 2008.02.13.14.26.24; author kefren; state dead; branches 1.8.14.1; next 1.7; 1.7 date 2006.10.22.20.44.53; author rillig; state Exp; branches; next 1.6; 1.6 date 2006.01.04.00.08.27; author recht; state dead; branches; next 1.5; 1.5 date 2005.07.31.19.23.00; author recht; state Exp; branches; next 1.4; 1.4 date 2005.03.27.10.29.20; author recht; state Exp; branches; next 1.3; 1.3 date 2004.08.27.22.04.45; author recht; state Exp; branches; next 1.2; 1.2 date 2004.07.03.23.03.22; author recht; state Exp; branches; next 1.1; 1.1 date 2004.06.26.20.19.42; author recht; state Exp; branches; next ; 1.8.14.1 date 2008.02.13.14.26.24; author tron; state dead; branches; next 1.8.14.2; 1.8.14.2 date 2010.10.17.17.40.29; author tron; state Exp; branches; next ; desc @@ 1.8 log @Update to libgdiplus 1.2.6 @ text @$NetBSD: patch-ac,v 1.7 2006/10/22 20:44:53 rillig Exp $ --- cairo/configure.orig 2006-10-22 22:41:44.000000000 +0200 +++ cairo/configure 2006-10-22 22:44:01.000000000 +0200 @@@@ -26141,26 +26141,26 @@@@ WARNING_MESSAGE=' *** to @@BACKEND@@-backend specific API. ' -if test x"$use_glitz" == "xyes" ; then +if test x"$use_glitz" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@@BACKEND@@/Glitz/' fi -if test x"$use_xcb" == "xyes" ; then +if test x"$use_xcb" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@@BACKEND@@/XCB/' fi -if test x"$use_quartz" == "xyes" ; then +if test x"$use_quartz" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@@BACKEND@@/Quartz/' fi -if test x"$use_quartz" == "xyes" ; then +if test x"$use_quartz" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@@BACKEND@@/ATSUI/' fi -if test x"$use_pdf" == "xyes" ; then +if test x"$use_pdf" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@@BACKEND@@/PDF/' fi -if test x"$use_ps" == "xyes" ; then +if test x"$use_ps" = "xyes" ; then echo "$WARNING_MESSAGE" | sed 's/@@BACKEND@@/PostScript/' fi @ 1.8.14.1 log @file patch-ac was added on branch pkgsrc-2010Q3 on 2010-10-17 17:40:29 +0000 @ text @d1 37 @ 1.8.14.2 log @Pullup ticket #3247 - requested by kefren graphics/libgdiplus: security patch Revisions pulled up: - graphics/libgdiplus/Makefile patch - graphics/libgdiplus/distinfo patch - graphics/libgdiplus/patches/patch-aa new file - graphics/libgdiplus/patches/patch-ab new file - graphics/libgdiplus/patches/patch-ac new file --- Apply patch to fix the security vulnerability reported in CVE-2010-1526 (execution of code via crafted TIFF, JPEG or BMP files.) @ text @a0 56 $NetBSD$ Fix for CVE-2010-1526 --- src/tiffcodec.c.orig 2010-01-13 17:45:05.000000000 +0200 +++ src/tiffcodec.c 2010-10-17 08:37:26.000000000 +0300 @@@@ -1104,6 +1104,8 @@@@ gdip_load_tiff_image (TIFF *tiff, GpImag frame = gdip_frame_add(result, &gdip_image_frameDimension_page_guid); for (page = 0; page < num_of_pages; page++) { + unsigned long long int size; + bitmap_data = gdip_frame_add_bitmapdata(frame); if (bitmap_data == NULL) { goto error; @@@@ -1139,14 +1141,25 @@@@ gdip_load_tiff_image (TIFF *tiff, GpImag bitmap_data->image_flags |= ImageFlagsHasRealDPI; } - bitmap_data->stride = tiff_image.width * 4; + /* width and height are uint32, but TIFF uses 32 bits offsets (so it's real size limit is 4GB), + * however libtiff uses signed int (int32 not uint32) as offsets so we limit ourselves to 2GB */ + size = tiff_image.width; + /* stride is a (signed) _int_ and once multiplied by 4 it should hold a value that can be allocated by GdipAlloc + * this effectively limits 'width' to 536870911 pixels */ + size *= sizeof (guint32); + if (size > G_MAXINT32) + goto error; + bitmap_data->stride = size; bitmap_data->width = tiff_image.width; bitmap_data->height = tiff_image.height; bitmap_data->reserved = GBD_OWN_SCAN0; bitmap_data->image_flags |= ImageFlagsColorSpaceRGB | ImageFlagsHasRealPixelSize | ImageFlagsReadOnly; - num_of_pixels = tiff_image.width * tiff_image.height; - pixbuf = GdipAlloc(num_of_pixels * sizeof(guint32)); + /* ensure total 'size' does not overflow an integer and fits inside our 2GB limit */ + size *= tiff_image.height; + if (size > G_MAXINT32) + goto error; + pixbuf = GdipAlloc (size); if (pixbuf == NULL) { goto error; } @@@@ -1168,9 +1181,9 @@@@ gdip_load_tiff_image (TIFF *tiff, GpImag memcpy(pixbuf + (bitmap_data->stride * (tiff_image.height - i - 1)), pixbuf_row, bitmap_data->stride); } - /* Now flip from ARGB to ABGR */ + /* Now flip from ARGB to ABGR processing one pixel (4 bytes) at the time */ pixbuf_ptr = (guint32 *)pixbuf; - for (i = 0; i < num_of_pixels; i++) { + for (i = 0; i < (size >> 2); i++) { *pixbuf_ptr = (*pixbuf_ptr & 0xff000000) | ((*pixbuf_ptr & 0x00ff0000) >> 16) | (*pixbuf_ptr & 0x0000ff00) | @ 1.7 log @Fixed "test ==". @ text @d1 1 a1 1 $NetBSD$ @ 1.6 log @update to libgdiplus-1.1.11 to sync with latest mono update changes include update to cairo and the usual bug-fixes @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.5 2005/07/31 19:23:00 recht Exp $ d3 10 a12 37 --- configure.in.orig 2005-06-10 18:12:34.000000000 +0200 +++ configure.in @@@@ -8,11 +8,12 @@@@ AM_PROG_LIBTOOL AC_C_BIGENDIAN +AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) AC_PATH_PROG(PKG_CONFIG, pkg-config, no) if test "x$PKG_CONFIG" = "xno"; then AC_MSG_ERROR([You need to install pkg-config]) fi -if pkg-config --atleast-version 2.2.3 glib-2.0; then +if $PKG_CONFIG --atleast-version 2.2.3 glib-2.0; then echo GLIB 2.0 installation OK else AC_MSG_ERROR("Did not find Glib >= 2.2.3"); @@@@ -31,18 +32,18 @@@@ then CAIRO_CFLAGS='-I$(top_builddir)/libpixman/src -I$(top_srcdir)/libpixman/src -I$(top_builddir)/cairo/src -I$(top_srcdir)/cairo/src' AC_DEFINE(USE_INCLUDED_CAIRO,1,[Use Cairo bundled in libgdiplus]) else - if pkg-config --exact-version 0.3.0 cairo; then + if $PKG_CONFIG --exact-version 0.3.0 cairo; then echo Cairo installation OK else AC_MSG_ERROR("Did not find Cairo == 0.3.0"); fi - CAIRO_LIBS="`pkg-config --libs cairo`" - CAIRO_CFLAGS="`pkg-config --cflags cairo`" + CAIRO_LIBS="`$PKG_CONFIG --libs cairo`" + CAIRO_CFLAGS="`$PKG_CONFIG --cflags cairo`" fi -GDIPLUS_LIBS="$CAIRO_LIBS `pkg-config --libs glib-2.0 ` `freetype-config --libs`" -GDIPLUS_CFLAGS="$CAIRO_CFLAGS `pkg-config --cflags glib-2.0 ` `freetype-config --cflags`" +GDIPLUS_LIBS="$CAIRO_LIBS `$PKG_CONFIG --libs glib-2.0 ` `freetype-config --libs`" +GDIPLUS_CFLAGS="$CAIRO_CFLAGS `$PKG_CONFIG --cflags glib-2.0 ` `freetype-config --cflags`" d14 4 a17 1 AC_CHECK_HEADERS(byteswap.h) d19 19 @ 1.5 log @update to 1.1.8 to match latest lang/mono release. changes: bugfixes and API enhancements @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.4 2005/03/27 10:29:20 recht Exp $ @ 1.4 log @update to libgdiplus-1.1.5 (part of the mono 1.1.5 release) changes: - bugfixes, more complete .Net API support changes to the package: - don't depend on lang/mono any longer - use the included cairo/libpixman @ text @d1 1 a1 1 $NetBSD: patch-ac,v 1.3 2004/08/27 22:04:45 recht Exp $ d3 1 a3 1 --- configure.in.orig Fri Mar 25 17:39:38 2005 d20 1 a20 1 CAIRO_CFLAGS='-I$(top_srcdir)/libpixman/src -I$(top_srcdir)/cairo/src' @ 1.3 log @update to libgdiplus-1.0.1 changes: * Fixes #60787: Libgdiplus pthreads check (Jordi Mas). @ text @d1 1 a1 1 $NetBSD$ d3 5 a7 5 --- configure.in.orig 2004-08-27 22:37:25.000000000 +0200 +++ configure.in 2004-08-27 22:38:39.000000000 +0200 @@@@ -6,24 +6,25 @@@@ AM_MAINTAINER_MODE AM_PROG_LIBTOOL d19 15 d36 4 a39 6 -if pkg-config --atleast-version 0.1.22 cairo; then +if $PKG_CONFIG --atleast-version 0.1.22 cairo; then echo Cairo installation OK else AC_MSG_ERROR("Did not find Cairo 0.1.22"); fi a40 4 -GDIPLUS_LIBS="`pkg-config --libs cairo glib-2.0 ` `freetype-config --libs`" -GDIPLUS_CFLAGS="`pkg-config --cflags cairo glib-2.0 ` `freetype-config --cflags`" +GDIPLUS_LIBS="`$PKG_CONFIG --libs cairo glib-2.0 ` `$FREETYPE_CONFIG --libs`" +GDIPLUS_CFLAGS="`$PKG_CONFIG --cflags cairo glib-2.0 ` `$FREETYPE_CONFIG --cflags`" a42 1 AC_MSG_CHECKING([host threading settings]) @ 1.2 log @update to 1.0 changes: - bugfixes @ text @d3 3 a5 3 --- configure.in.orig 2004-07-04 00:21:40.000000000 +0200 +++ configure.in 2004-07-04 00:21:46.000000000 +0200 @@@@ -6,26 +6,99 @@@@ d34 1 a34 75 +AC_MSG_CHECKING([host threading settings]) +case "$host" in + *-*-mingw*|*-*-cygwin*) + AC_DEFINE_UNQUOTED(CYGWIN,1,[Win32]) + AC_CHECK_LIB(intl, gettext) + ;; + + *-*-*netbsd*) + AC_DEFINE_UNQUOTED(BSDOS,1,[NetBSD]) + ;; + + *-*-*freebsd*) + AC_DEFINE_UNQUOTED(BSDOS,1,[FreeBSD]) + CFLAGS="-D_THREAD_SAFE $CFLAGS" + ;; + + *-*-*openbsd*) + AC_DEFINE_UNQUOTED(BSDOS,1,[OpenBSD]) + CFLAGS="$CFLAGS" + LIBS="$LIBS" + ;; + + *-*-linux*) + AC_DEFINE_UNQUOTED(LINUX,1,[Linux]) + AC_CHECK_LIB(pthread, pthread_create) + ;; + + *-*-solaris*) + AC_DEFINE_UNQUOTED(SOLARIS,1,[Solaris]) + AC_DEFINE_UNQUOTED(_REENTRANT,1,[For libc reentrancy]) + CFLAGS="-pthreads $CFLAGS" + ;; + + *-*-darwin*) + AC_DEFINE_UNQUOTED(OSX,1,[OS X]) + CFLAGS="-no-cpp-precomp $CFLAGS" + LDFLAGS="-flat_namespace -undefined suppress $LDFLAGS" + ;; + + *) + AC_MSG_RESULT(Unrecognized host $host) + AC_DEFINE_UNQUOTED(OTHEROS,1,[Unknown]) + ;; +esac + +# Apparently for BSD special handling needs to happen +# See http://archives/neohapsis.com/archives/openbsd/2001-11/2142.html +# by Miod Vallat +AC_CACHE_CHECK( + [if compiler recognizes -pthread], + myapp_cv_gcc_pthread, + ac_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -pthread" + AC_LANG_SAVE + AC_LANG_C + AC_TRY_LINK([#include ], + [void *p = pthread_create;], + myapp_cv_gcc_pthread=yes, + myapp_cv_gcc_pthread=no) + AC_LANG_RESTORE + CFLAGS=$ac_save_CFLAGS +) +if test $myapp_cv_gcc_pthread = yes +then + myapp_threads="" + CFLAGS="$CFLAGS -pthread" +else + AC_CHECK_LIB(pthread,pthread_create,myapp_threads=-lpthread, + [AC_CHECK_LIB(c_r,pthread_create,myapp_threads=-lc_r)]) +fi + + # sigsetjmp is a macro on some platforms, so can't use AC_CHECK_FUNCS AC_MSG_CHECKING(for sigsetjmp) AC_TRY_LINK([#include ], [ @ 1.1 log @update to libgdiplus-0.10 (release candidate 1) No real NEWS file available, so guessing from the ChangeLog: - bug-fixes - tiff load/save from stream @ text @d3 3 a5 3 --- configure.in.orig 2004-06-26 19:11:38.000000000 +0200 +++ configure.in 2004-06-26 19:13:36.000000000 +0200 @@@@ -6,24 +6,25 @@@@ d34 72 d107 2 @