rpms/java-1.6.0-openjdk/F-9 java-1.6.0-openjdk-securitypatches.patch, NONE, 1.1 java-1.6.0-openjdk.spec, 1.63, 1.64 java-1.6.0-openjdk-dec2security.patch, 1.1, NONE

Lillian Angel langel at fedoraproject.org
Tue Mar 24 11:55:50 UTC 2009


Author: langel

Update of /cvs/pkgs/rpms/java-1.6.0-openjdk/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22716

Modified Files:
	java-1.6.0-openjdk.spec 
Added Files:
	java-1.6.0-openjdk-securitypatches.patch 
Removed Files:
	java-1.6.0-openjdk-dec2security.patch 
Log Message:
* Tue Mar 24 2009 Lillian Angel <langel at redhat.com> - 1:1.6.0-0.22.b09
- Updated release.
- Added java-1.6.0-openjdk-securitypatches.patch.


java-1.6.0-openjdk-securitypatches.patch:

--- NEW FILE java-1.6.0-openjdk-securitypatches.patch ---
diff -ruN patchesold/icedtea-4486841.patch patches/icedtea-4486841.patch
--- patchesold/icedtea-4486841.patch	1969-12-31 19:00:00.000000000 -0500
+++ patches/icedtea-4486841.patch	2009-03-16 11:39:05.000000000 -0400
@@ -0,0 +1,838 @@
+--- old/src/share/classes/sun/nio/cs/UTF_8.java	Thu Oct  9 16:02:01 2008
++++ openjdk/jdk/src/share/classes/sun/nio/cs/UTF_8.java	Thu Oct  9 16:02:01 2008
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
++ * Copyright 2000-2008 Sun Microsystems, Inc.  All Rights Reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -25,34 +25,36 @@
+ 
+ package sun.nio.cs;
+ 
++import java.nio.Buffer;
+ import java.nio.ByteBuffer;
+ import java.nio.CharBuffer;
+-import java.nio.BufferOverflowException;
+-import java.nio.BufferUnderflowException;
+ import java.nio.charset.Charset;
+ import java.nio.charset.CharsetDecoder;
+ import java.nio.charset.CharsetEncoder;
+ import java.nio.charset.CoderResult;
+-import java.nio.charset.CharacterCodingException;
+-import java.nio.charset.MalformedInputException;
+-import java.nio.charset.UnmappableCharacterException;
+ 
+-
+-/*
+- * # Bits   Bit pattern
+- * 1    7   0xxxxxxx
+- * 2   11   110xxxxx 10xxxxxx
+- * 3   16   1110xxxx 10xxxxxx 10xxxxxx
+- * 4   21   11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+- * 5   26   111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+- * 6   31   1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
++/* Legal UTF-8 Byte Sequences
+  *
+- * UCS-2 uses 1-3, UTF-16 uses 1-4, UCS-4 uses 1-6
++ * #    Code Points      Bits   Bit/Byte pattern
++ * 1                     7      0xxxxxxx
++ *      U+0000..U+007F          00..7F
++ *
++ * 2                     11     110xxxxx    10xxxxxx
++ *      U+0080..U+07FF          C2..DF      80..BF
++ *
++ * 3                     16     1110xxxx    10xxxxxx    10xxxxxx
++ *      U+0800..U+0FFF          E0          A0..BF      80..BF
++ *      U+1000..U+FFFF          E1..EF      80..BF      80..BF
++ *
++ * 4                     21     11110xxx    10xxxxxx    10xxxxxx    10xxxxxx
++ *     U+10000..U+3FFFF         F0          90..BF      80..BF      80..BF
++ *     U+40000..U+FFFFF         F1..F3      80..BF      80..BF      80..BF
++ *    U+100000..U10FFFF         F4          80..8F      80..BF      80..BF
++ *
+  */
+ 
+ class UTF_8 extends Unicode
+ {
+-
+     public UTF_8() {
+         super("UTF-8", StandardCharsets.aliases_UTF_8);
+     }
+@@ -69,6 +71,11 @@
+         return new Encoder(this);
+     }
+ 
++    static final void updatePositions(Buffer src, int sp,
++                                      Buffer dst, int dp) {
++        src.position(sp - src.arrayOffset());
++        dst.position(dp - dst.arrayOffset());
++    }
+ 
+     private static class Decoder extends CharsetDecoder {
+         private Decoder(Charset cs) {
+@@ -75,161 +82,182 @@
+             super(cs, 1.0f, 1.0f);
+         }
+ 
+-        private boolean isContinuation(int b) {
+-            return ((b & 0xc0) == 0x80);
++        private static boolean isNotContinuation(int b) {
++            return (b & 0xc0) != 0x80;
+         }
+ 
+-        private final Surrogate.Generator sgg = new Surrogate.Generator();
++        //  [C2..DF] [80..BF]
++        private static boolean isMalformed2(int b1, int b2) {
++            return (b1 & 0x1e) == 0x0 || (b2 & 0xc0) != 0x80;
++        }
+ 
++        //  [E0]     [A0..BF] [80..BF]
++        //  [E1..EF] [80..BF] [80..BF]
++        private static boolean isMalformed3(int b1, int b2, int b3) {
++            return (b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) ||
++                   (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80;
++        }
++
++        //  [F0]     [90..BF] [80..BF] [80..BF]
++        //  [F1..F3] [80..BF] [80..BF] [80..BF]
++        //  [F4]     [80..8F] [80..BF] [80..BF]
++        //  only check 80-be range here, the [0xf0,0x80...] and [0xf4,0x90-...]
++        //  will be checked by Surrogate.neededFor(uc)
++        private static boolean isMalformed4(int b2, int b3, int b4) {
++            return (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80 ||
++                   (b4 & 0xc0) != 0x80;
++        }
++
++        private static CoderResult lookupN(ByteBuffer src, int n)
++        {
++            for (int i = 1; i < n; i++) {
++               if (isNotContinuation(src.get()))
++                   return CoderResult.malformedForLength(i);
++            }
++            return CoderResult.malformedForLength(n);
++        }
++
++        private static CoderResult malformedN(ByteBuffer src, int nb) {
++            switch (nb) {
++            case 1:
++                int b1 = src.get();
++                if ((b1 >> 2) == -2) {
++                    // 5 bytes 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
++                    if (src.remaining() < 4)
++                        return CoderResult.UNDERFLOW;
++                    return lookupN(src, 5);
++                }
++                if ((b1 >> 1) == -2) {
++                    // 6 bytes 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
++                    if (src.remaining() < 5)
++                        return CoderResult.UNDERFLOW;
++                    return lookupN(src, 6);
++                }
++                return CoderResult.malformedForLength(1);
++            case 2:                    // always 1
++                return CoderResult.malformedForLength(1);
++            case 3:
++                b1 = src.get();
++                int b2 = src.get();    // no need to lookup b3
++                return CoderResult.malformedForLength(
++                    ((b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) ||
++                     isNotContinuation(b2))?1:2);
++            case 4:  // we don't care the speed here
++                b1 = src.get() & 0xff;
++                b2 = src.get() & 0xff;
++                if (b1 > 0xf4 ||
++                    (b1 == 0xf0 && (b2 < 0x90 || b2 > 0xbf)) ||
++                    (b1 == 0xf4 && (b2 & 0xf0) != 0x80) ||
++                    isNotContinuation(b2))
++                    return CoderResult.malformedForLength(1);
++                if (isNotContinuation(src.get()))
++                    return CoderResult.malformedForLength(2);
++                return CoderResult.malformedForLength(3);
++            default:
++                assert false;
++                return null;
++            }
++        }
++
++        private static CoderResult malformed(ByteBuffer src, int sp,
++                                             CharBuffer dst, int dp,
++                                             int nb)
++        {
++            src.position(sp - src.arrayOffset());
++            CoderResult cr = malformedN(src, nb);
++            updatePositions(src, sp, dst, dp);
++            return cr;
++        }
++
++        private static CoderResult malformed(ByteBuffer src,
++                                             int mark, int nb)
++        {
++            src.position(mark);
++            CoderResult cr = malformedN(src, nb);
++            src.position(mark);
++            return cr;
++        }
++
++        private static CoderResult xflow(Buffer src, int sp, int sl,
++                                         Buffer dst, int dp, int nb) {
++            updatePositions(src, sp, dst, dp);
++            return (nb == 0 || sl - sp < nb)
++                   ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW;
++        }
++
++        private static CoderResult xflow(Buffer src, int mark, int nb) {
++            CoderResult cr = (nb == 0 || src.remaining() < (nb - 1))
++                             ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW;
++            src.position(mark);
++            return cr;
++        }
++
+         private CoderResult decodeArrayLoop(ByteBuffer src,
+                                             CharBuffer dst)
+         {
++            // This method is optimized for ASCII input.
[...5837 lines suppressed...]
++
++    if (!SAFE_TO_ALLOC(height, sizeof(png_bytep))) {
++        goto done;
++    }
+     if ((row_pointers = (png_bytepp) malloc(height * sizeof(png_bytep)))
+             == NULL) {
+         goto done;
+@@ -121,13 +129,28 @@
+     splash->width = width;
+     splash->height = height;
+ 
++    if (!SAFE_TO_ALLOC(splash->width, splash->imageFormat.depthBytes)) {
++        goto done;
++    }
+     stride = splash->width * splash->imageFormat.depthBytes;
+ 
++    if (!SAFE_TO_ALLOC(splash->height, stride)) {
++        goto done;
++    }
+     splash->frameCount = 1;
+     splash->frames = (SplashImage *)
+         malloc(sizeof(SplashImage) * splash->frameCount);
++
++    if (splash->frames == NULL) {
++        goto done;
++    }
++
+     splash->loopCount = 1;
+     splash->frames[0].bitmapBits = malloc(stride * splash->height);
++    if (splash->frames[0].bitmapBits == NULL) {
++        free(splash->frames);
++        goto done;
++    }
+     splash->frames[0].delay = 0;
+ 
+     /* FIXME: sort out the real format */
diff -ruN patchesold/icedtea-6804997.patch patches/icedtea-6804997.patch
--- patchesold/icedtea-6804997.patch	1969-12-31 19:00:00.000000000 -0500
+++ patches/icedtea-6804997.patch	2009-03-16 11:48:14.000000000 -0400
@@ -0,0 +1,31 @@
+--- old/src/share/native/sun/awt/giflib/dgif_lib.c	Thu Mar  5 16:33:17 2009
++++ openjdk/jdk/src/share/native/sun/awt/giflib/dgif_lib.c	Thu Mar  5 16:33:16 2009
+@@ -722,6 +722,10 @@
+     GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private;
+ 
+     READ(GifFile, &CodeSize, 1);    /* Read Code size from file. */
++    if (CodeSize >= 12) {
++        /* Invalid initial code size: report failure */
++        return GIF_ERROR;
++    }
+     BitsPerPixel = CodeSize;
+ 
+     Private->Buf[0] = 0;    /* Input Buffer empty. */
+@@ -964,10 +968,13 @@
+ 
+     /* If code cannot fit into RunningBits bits, must raise its size. Note
+      * however that codes above 4095 are used for special signaling.  */
+-    if (++Private->RunningCode > Private->MaxCode1 &&
+-        Private->RunningBits < LZ_BITS) {
+-        Private->MaxCode1 <<= 1;
+-        Private->RunningBits++;
++    if (++Private->RunningCode > Private->MaxCode1) {
++        if (Private->RunningBits < LZ_BITS) {
++            Private->MaxCode1 <<= 1;
++            Private->RunningBits++;
++        } else {
++            Private->RunningCode = Private->MaxCode1;
++        }
+     }
+     return GIF_OK;
+ }
diff -ruN patchesold/icedtea-6804998.patch patches/icedtea-6804998.patch
--- patchesold/icedtea-6804998.patch	1969-12-31 19:00:00.000000000 -0500
+++ patches/icedtea-6804998.patch	2009-03-16 11:48:14.000000000 -0400
@@ -0,0 +1,35 @@
+--- old/src/share/classes/sun/awt/image/GifImageDecoder.java	Thu Mar  5 17:00:25 2009
++++ openjdk/jdk/src/share/classes/sun/awt/image/GifImageDecoder.java	Thu Mar  5 17:00:24 2009
+@@ -585,9 +585,16 @@
+             System.out.print("Reading a " + width + " by " + height + " " +
+                       (interlace ? "" : "non-") + "interlaced image...");
+         }
+-
++        int initCodeSize = ExtractByte(block, 9);
++        if (initCodeSize >= 12) {
++            if (verbose) {
++                System.out.println("Invalid initial code size: " +
++                                   initCodeSize);
++            }
++            return false;
++        }
+         boolean ret = parseImage(x, y, width, height,
+-                                 interlace, ExtractByte(block, 9),
++                                 interlace, initCodeSize,
+                                  block, rasline, model);
+ 
+         if (!ret) {
+--- old/src/share/native/sun/awt/image/gif/gifdecoder.c	Thu Mar  5 17:00:28 2009
++++ openjdk/jdk/src/share/native/sun/awt/image/gif/gifdecoder.c	Thu Mar  5 17:00:27 2009
+@@ -191,6 +191,11 @@
+     int passht = passinc;
+     int len;
+ 
++    /* We have verified the initial code size on the java layer.
++     * Here we just check bounds for particular indexes. */
++    if (freeCode >= 4096 || maxCode >= 4096) {
++        return 0;
++    }
+     if (blockh == 0 || raslineh == 0
+         || prefixh == 0 || suffixh == 0
+         || outCodeh == 0)
--- oldMakefile.in	2009-03-16 13:02:33.000000000 -0400
+++ Makefile.in	2009-03-16 13:02:26.000000000 -0400
@@ -247,6 +247,7 @@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 OPENJDK_DATE = 11_apr_2008
@@ -413,8 +414,22 @@
 	patches/icedtea-fonts.patch patches/icedtea-gervill.patch \
 	patches/icedtea-directaudio-close-trick.patch \
 	patches/icedtea-hat-spl-gpl.patch patches/icedtea-sparc.patch \
-	patches/icedtea-override-redirect-metacity.patch $(GCC_PATCH) \
-	$(DISTRIBUTION_PATCHES) $(am__append_7)
+	patches/icedtea-override-redirect-metacity.patch \
+	patches/icedtea-4486841.patch patches/icedtea-6484091.patch \
+	patches/icedtea-6497740.patch patches/icedtea-6536193.patch \
+	patches/icedtea-6588160.patch patches/icedtea-6592792.patch \
+	patches/icedtea-6610888.patch patches/icedtea-6610896.patch \
+	patches/icedtea-6630639.patch patches/icedtea-6632886.patch \
+	patches/icedtea-6636360.patch patches/icedtea-6652463.patch \
+	patches/icedtea-6656633.patch patches/icedtea-6658158.patch \
+	patches/icedtea-6691246.patch patches/icedtea-6717680.patch \
+	patches/icedtea-6721651.patch patches/icedtea-6721753.patch \
+	patches/icedtea-6726779.patch patches/icedtea-6733959.patch \
+	patches/icedtea-6734167.patch patches/icedtea-6737315.patch \
+	patches/icedtea-6755943.patch patches/icedtea-6766136.patch \
+	patches/icedtea-6792554.patch patches/icedtea-6804996.patch \
+	patches/icedtea-6804997.patch patches/icedtea-6804998.patch \
+	$(GCC_PATCH) $(DISTRIBUTION_PATCHES) $(am__append_7)
 
 # Patch OpenJDK for plug replacements and ecj.
 ICEDTEA_ECJ_PATCH = patches/icedtea-ecj.patch
@@ -841,7 +856,7 @@
 	do \
 	  if test x$${all_patches_ok} == "xyes" \
 	     && echo Checking $$p \
-	     && $(PATCH) -l -p0 --dry-run -s -t -f -F 0 < $$p ; \
+	     && $(PATCH) -l -p0 --dry-run -s -t -f < $$p ; \
 	  then \
 	    echo Applying $$p ; \
 	    $(PATCH) -l -p0 < $$p ; \
--- oldMakefile.am	2009-03-16 13:02:33.000000000 -0400
+++ Makefile.am	2009-03-16 13:02:26.000000000 -0400
@@ -304,6 +304,34 @@
 	patches/icedtea-hat-spl-gpl.patch \
 	patches/icedtea-sparc.patch \
 	patches/icedtea-override-redirect-metacity.patch \
+	patches/icedtea-4486841.patch \
+	patches/icedtea-6484091.patch \
+	patches/icedtea-6497740.patch \
+	patches/icedtea-6536193.patch \
+	patches/icedtea-6588160.patch \
+	patches/icedtea-6592792.patch \
+	patches/icedtea-6610888.patch \
+	patches/icedtea-6610896.patch \
+	patches/icedtea-6630639.patch \
+	patches/icedtea-6632886.patch \
+	patches/icedtea-6636360.patch \
+	patches/icedtea-6652463.patch \
+	patches/icedtea-6656633.patch \
+	patches/icedtea-6658158.patch \
+	patches/icedtea-6691246.patch \
+	patches/icedtea-6717680.patch \
+	patches/icedtea-6721651.patch \
+	patches/icedtea-6721753.patch \
+	patches/icedtea-6726779.patch \
+	patches/icedtea-6733959.patch \
+	patches/icedtea-6734167.patch \
+	patches/icedtea-6737315.patch \
+	patches/icedtea-6755943.patch \
+	patches/icedtea-6766136.patch \
+	patches/icedtea-6792554.patch \
+	patches/icedtea-6804996.patch \
+	patches/icedtea-6804997.patch \
+	patches/icedtea-6804998.patch \
 	$(GCC_PATCH) \
 	$(DISTRIBUTION_PATCHES)
 
@@ -331,7 +359,7 @@
 	do \
 	  if test x$${all_patches_ok} == "xyes" \
 	     && echo Checking $$p \
-	     && $(PATCH) -l -p0 --dry-run -s -t -f -F 0 < $$p ; \
+	     && $(PATCH) -l -p0 --dry-run -s -t -f < $$p ; \
 	  then \
 	    echo Applying $$p ; \
 	    $(PATCH) -l -p0 < $$p ; \


Index: java-1.6.0-openjdk.spec
===================================================================
RCS file: /cvs/pkgs/rpms/java-1.6.0-openjdk/F-9/java-1.6.0-openjdk.spec,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- java-1.6.0-openjdk.spec	20 Mar 2009 15:41:48 -0000	1.63
+++ java-1.6.0-openjdk.spec	24 Mar 2009 11:55:19 -0000	1.64
@@ -134,7 +134,7 @@
 
 Name:    java-%{javaver}-%{origin}
 Version: %{javaver}.%{buildver}
-Release: 0.21.%{openjdkver}%{?dist}
+Release: 0.22.%{openjdkver}%{?dist}
 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
 # and this change was brought into RHEL-4.  java-1.5.0-ibm packages
 # also included the epoch in their virtual provides.  This created a
@@ -175,7 +175,7 @@
 Patch9:   java-1.6.0-openjdk-6661918.patch
 Patch10:  java-1.6.0-openjdk-6685178.patch
 Patch11:  java-1.6.0-openjdk-hotspot.patch
-Patch12:  java-1.6.0-openjdk-dec2security.patch
+Patch12:  java-1.6.0-openjdk-securitypatches.patch
 Patch13:  java-1.6.0-openjdk-lcms.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -367,6 +367,7 @@
 %setup -q -n icedtea6-%{icedteaver} -T -D -a 2
 %patch0
 %patch5 -p1 -b .sparc64
+%patch12
 cp %{SOURCE4} .
 cp %{SOURCE5} .
 cp %{SOURCE7} .
@@ -380,7 +381,6 @@
 export CFLAGS="$CFLAGS -mieee"
 %endif
 ./configure %{icedteaopt} --with-openjdk-src-zip=%{SOURCE1}
-patch -l -p0 < %{PATCH12}
 %if %{gcjbootstrap}
 make stamps/patch-ecj.stamp
 %endif
@@ -931,6 +931,10 @@
 %{_jvmdir}/%{jredir}/lib/%{archinstall}/gcjwebplugin.so
 
 %changelog
+* Tue Mar 24 2009 Lillian Angel <langel at redhat.com> - 1:1.6.0-0.22.b09
+- Updated release.
+- Added java-1.6.0-openjdk-securitypatches.patch.
+
 * Fri Mar 20 2009 Lillian Angel <langel at redhat.com> - 1:1.6.0-0.21.b09
 - Added new lcms security patch.
 


--- java-1.6.0-openjdk-dec2security.patch DELETED ---




More information about the fedora-extras-commits mailing list