summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-ml/camlimages/ChangeLog7
-rw-r--r--dev-ml/camlimages/camlimages-3.0.1.ebuild58
-rw-r--r--dev-ml/camlimages/files/camlimages-3.0.1-CVE-2009-2295.patch154
-rw-r--r--dev-ml/camlimages/files/camlimages-3.0.1-lablgtk.patch51
4 files changed, 6 insertions, 264 deletions
diff --git a/dev-ml/camlimages/ChangeLog b/dev-ml/camlimages/ChangeLog
index 0308fb22bd47..1360427422ef 100644
--- a/dev-ml/camlimages/ChangeLog
+++ b/dev-ml/camlimages/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-ml/camlimages
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-ml/camlimages/ChangeLog,v 1.27 2010/04/15 14:47:40 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-ml/camlimages/ChangeLog,v 1.28 2010/04/24 12:20:50 aballier Exp $
+
+ 24 Apr 2010; Alexis Ballier <aballier@gentoo.org>
+ -camlimages-3.0.1.ebuild, -files/camlimages-3.0.1-CVE-2009-2295.patch,
+ -files/camlimages-3.0.1-lablgtk.patch:
+ remove old
15 Apr 2010; Brent Baude <ranger@gentoo.org> camlimages-3.0.2.ebuild:
Marking camlimages-3.0.2 ppc for sec bug 290222
diff --git a/dev-ml/camlimages/camlimages-3.0.1.ebuild b/dev-ml/camlimages/camlimages-3.0.1.ebuild
deleted file mode 100644
index 31a37855fc18..000000000000
--- a/dev-ml/camlimages/camlimages-3.0.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-ml/camlimages/camlimages-3.0.1.ebuild,v 1.4 2009/12/26 17:34:19 pva Exp $
-
-EAPI=2
-
-inherit eutils
-
-IUSE="doc gif gs gtk jpeg tiff truetype xpm"
-
-DESCRIPTION="An image manipulation library for ocaml"
-HOMEPAGE="http://gallium.inria.fr/camlimages/"
-SRC_URI="http://gallium.inria.fr/camlimages/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ppc x86"
-
-RDEPEND=">=dev-lang/ocaml-3.10.2[ocamlopt]
- gif? ( media-libs/giflib )
- gtk? ( dev-ml/lablgtk )
- gs? ( app-text/ghostscript-gpl )
- jpeg? ( media-libs/jpeg )
- tiff? ( media-libs/tiff )
- media-libs/libpng
- truetype? ( >=media-libs/freetype-2 )
- xpm? ( x11-libs/libXpm )
- "
-DEPEND="${DEPEND}
- dev-ml/findlib"
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-lablgtk.patch"
- epatch "${FILESDIR}/${P}-CVE-2009-2295.patch"
-}
-
-src_configure() {
- econf \
- $(use_with gif) \
- $(use_with gs) \
- $(use_with gtk lablgtk2) \
- --without-lablgtk \
- $(use_with jpeg) \
- --with-png \
- $(use_with tiff) \
- $(use_with truetype freetype) \
- $(use_with xpm)
-}
-
-src_compile() {
- emake -j1 || die
-}
-
-src_install() {
- emake DESTDIR="${D}" ocamlsitelibdir="$(ocamlfind printconf destdir)/${PN}" install || die
- dodoc README
- use doc && dohtml doc/*
-}
diff --git a/dev-ml/camlimages/files/camlimages-3.0.1-CVE-2009-2295.patch b/dev-ml/camlimages/files/camlimages-3.0.1-CVE-2009-2295.patch
deleted file mode 100644
index c94b9b11672e..000000000000
--- a/dev-ml/camlimages/files/camlimages-3.0.1-CVE-2009-2295.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-Index: src/gifread.c
-===================================================================
---- src/gifread.c.orig
-+++ src/gifread.c
-@@ -20,6 +20,8 @@
- #include <caml/memory.h>
- #include <caml/fail.h>
-
-+#include "oversized.h"
-+
- #include <stdio.h>
- #include <string.h>
-
-@@ -191,6 +193,9 @@ value dGifGetLine( value hdl )
-
- GifFileType *GifFile = (GifFileType*) hdl;
-
-+ if( oversized( GifFile->Image.Width, sizeof(GifPixelType) ) ){
-+ failwith_oversized("gif");
-+ }
- buf = alloc_string( GifFile->Image.Width * sizeof(GifPixelType) );
-
- if( DGifGetLine(GifFile, String_val(buf), GifFile->Image.Width )
-Index: src/jpegread.c
-===================================================================
---- src/jpegread.c.orig
-+++ src/jpegread.c
-@@ -20,6 +20,8 @@
- #include <caml/memory.h>
- #include <caml/fail.h>
-
-+#include "oversized.h"
-+
- #include <stdio.h>
- #include <string.h>
-
-@@ -156,6 +158,12 @@ read_JPEG_file (value name)
- */
- /* JSAMPLEs per row in output buffer */
-
-+ if( oversized(cinfo.output_width, cinfo.output_components) ){
-+ jpeg_destroy_decompress(&cinfo);
-+ fclose(infile);
-+ failwith_oversized("jpeg");
-+ }
-+
- row_stride = cinfo.output_width * cinfo.output_components;
-
- /* Make a one-row-high sample array that will go away when done with image */
-@@ -177,6 +185,12 @@ read_JPEG_file (value name)
- jpeg_read_scanlines(&cinfo, buffer + cinfo.output_scanline, 1);
- }
-
-+ if( oversized(row_stride, cinfo.output_height) ){
-+ jpeg_destroy_decompress(&cinfo);
-+ fclose(infile);
-+ failwith_oversized("jpeg");
-+ }
-+
- {
- CAMLlocalN(r,3);
- r[0] = Val_int(cinfo.output_width);
-@@ -352,6 +366,7 @@ value open_jpeg_file_for_read_start( jpe
-
- {
- CAMLlocalN(r,3);
-+ // CR jfuruse: integer overflow
- r[0] = Val_int(cinfop->output_width);
- r[1] = Val_int(cinfop->output_height);
- r[2] = alloc_tuple(3);
-Index: src/oversized.h
-===================================================================
---- /dev/null
-+++ src/oversized.h
-@@ -0,0 +1,9 @@
-+#include <limits.h>
-+/* Test if x or y are negative, or if multiplying x * y would cause an
-+ * arithmetic overflow.
-+ */
-+#define oversized(x, y) \
-+ ((x) < 0 || (y) < 0 || ((y) != 0 && (x) > INT_MAX / (y)))
-+
-+#define failwith_oversized(lib) \
-+ failwith("#lib error: image contains oversized or bogus width and height");
-Index: src/pngread.c
-===================================================================
---- src/pngread.c.orig
-+++ src/pngread.c
-@@ -17,6 +17,8 @@
-
- #include <png.h>
-
-+#include "oversized.h"
-+
- #include <caml/mlvalues.h>
- #include <caml/alloc.h>
- #include <caml/memory.h>
-@@ -81,6 +83,9 @@ value read_png_file_as_rgb24( name )
- png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
- &interlace_type, NULL, NULL);
-
-+ if (oversized (width, height))
-+ failwith_oversized("png");
-+
- if ( color_type == PNG_COLOR_TYPE_GRAY ||
- color_type == PNG_COLOR_TYPE_GRAY_ALPHA ) {
- png_set_gray_to_rgb(png_ptr);
-@@ -102,10 +107,16 @@ value read_png_file_as_rgb24( name )
-
- rowbytes = png_get_rowbytes(png_ptr, info_ptr);
-
-+ if (oversized (rowbytes, height))
-+ failwith_oversized("png");
-+
- {
- int i;
- png_bytep *row_pointers;
-
-+ if (oversized (sizeof (png_bytep), height))
-+ failwith_oversized("png");
-+
- row_pointers = (png_bytep*) stat_alloc(sizeof(png_bytep) * height);
-
- res = alloc_tuple(3);
-@@ -235,6 +246,9 @@ value read_png_file( name )
- png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
- &interlace_type, NULL, NULL);
-
-+ if (oversized (width, height))
-+ failwith_oversized("png");
-+
- if ( color_type == PNG_COLOR_TYPE_GRAY ||
- color_type == PNG_COLOR_TYPE_GRAY_ALPHA ) {
- png_set_gray_to_rgb(png_ptr);
-@@ -251,6 +265,9 @@ value read_png_file( name )
-
- rowbytes = png_get_rowbytes(png_ptr, info_ptr);
-
-+ if (oversized (rowbytes, height))
-+ failwith_oversized("png");
-+
- /*
- fprintf(stderr, "pngread.c: actual loading\n"); fflush(stderr);
- */
-@@ -259,6 +276,9 @@ fprintf(stderr, "pngread.c: actual loadi
- png_bytep *row_pointers;
- char mesg[256];
-
-+ if (oversized (sizeof (png_bytep), height))
-+ failwith_oversized("png");
-+
- row_pointers = (png_bytep*)stat_alloc(sizeof(png_bytep) * height);
- res = alloc_tuple(3);
-
diff --git a/dev-ml/camlimages/files/camlimages-3.0.1-lablgtk.patch b/dev-ml/camlimages/files/camlimages-3.0.1-lablgtk.patch
deleted file mode 100644
index 1b29dd509ed2..000000000000
--- a/dev-ml/camlimages/files/camlimages-3.0.1-lablgtk.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Index: camlimages-3.0.1/examples/liv/liv.ml
-===================================================================
---- camlimages-3.0.1.orig/examples/liv/liv.ml
-+++ camlimages-3.0.1/examples/liv/liv.ml
-@@ -12,6 +12,10 @@
-
- (* $Id: camlimages-3.0.1-lablgtk.patch,v 1.1 2009/07/24 20:51:30 aballier Exp $ *)
-
-+
-+module D = Display
-+open D
-+
- open Images;;
- open OImages;;
-
-@@ -21,14 +25,13 @@ open GMain;;
-
- open Livmisc;;
- open Gui;;
--open Display;;
- open Tout;;
-
- open Gc;;
-
- exception Skipped;;
-
--let base_filters = ref ([] : Display.filter list);;
-+let base_filters = ref ([] : D.filter list);;
-
- let r = Gc.get () in
- r.max_overhead <- 0; Gc.set r;
-@@ -52,15 +55,15 @@ Arg.parse [
- "-root",
- Arg.String
- (function
-- | "center" -> Display.root_mode := `CENTER
-- | "random" -> Display.root_mode := `RANDOM
-+ | "center" -> D.root_mode := `CENTER
-+ | "random" -> D.root_mode := `RANDOM
- | _ -> raise (Failure "root mode")),
- ": on root [center|random]";
- "-transition",
- Arg.String
- (function
-- | "myst" -> Display.transition := `MYST
-- | "transparent" -> Display.transition := `TRANSPARENT
-+ | "myst" -> D.transition := `MYST
-+ | "transparent" -> D.transition := `TRANSPARENT
- | _ -> raise (Failure "transition")),
- ": transition [myst|transparent]";
- "-transparentborder",