/hg/release/icedtea6-1.7: 2 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Tue Mar 30 17:49:53 PDT 2010


changeset 786e03271cb9 in /hg/release/icedtea6-1.7
details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=786e03271cb9
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Mar 31 01:49:06 2010 +0100

	Add security updates.

	2009-03-30 Andrew John Hughes <ahughes at redhat.com>

	 * Makefile.am: Add new security patches.
		* NEWS: List new security patches.
		* patches/security/20100330/6633872.patch,
		* patches/security/20100330/6639665.patch,
		* patches/security/20100330/6736390.patch,
		* patches/security/20100330/6745393.patch,
		* patches/security/20100330/6887703.patch,
		* patches/security/20100330/6888149.patch,
		* patches/security/20100330/6892265.patch,
		* patches/security/20100330/6893947.patch,
		* patches/security/20100330/6893954.patch,
		* patches/security/20100330/6894807.patch,
		* patches/security/20100330/6898622.patch,
		* patches/security/20100330/6898739.patch,
		* patches/security/20100330/6899653.patch,
		* patches/security/20100330/6902299.patch,
		* patches/security/20100330/6904691.patch,
		* patches/security/20100330/6909597.patch,
		* patches/security/20100330/6910590.patch,
		* patches/security/20100330/6914823.patch,
		* patches/security/20100330/6914866.patch,
		* patches/security/20100330/6932480.patch,
		* patches/security/20100330/hotspot/hs16/6626217.patch,
		* patches/security/20100330/hotspot/original/6626217.patch:
	New security and hardening patches
	http://www.oracle.com/technology/deploy/security/critical-patch-
	updates/javacpumar2010.html


changeset 8571317a9879 in /hg/release/icedtea6-1.7
details: http://icedtea.classpath.org/hg/release/icedtea6-1.7?cmd=changeset;node=8571317a9879
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Mar 31 01:49:46 2010 +0100

	Merge


diffstat:

26 files changed, 3703 insertions(+), 2 deletions(-)
ChangeLog                                                |   33 
Makefile.am                                              |   23 
NEWS                                                     |   27 
acinclude.m4                                             |    1 
patches/security/20100330/6633872.patch                  |  443 +++++
patches/security/20100330/6639665.patch                  |   51 
patches/security/20100330/6736390.patch                  |   18 
patches/security/20100330/6745393.patch                  | 1233 ++++++++++++++
patches/security/20100330/6887703.patch                  |   28 
patches/security/20100330/6888149.patch                  |   33 
patches/security/20100330/6892265.patch                  |   35 
patches/security/20100330/6893947.patch                  |   86 
patches/security/20100330/6893954.patch                  |  248 ++
patches/security/20100330/6894807.patch                  |   27 
patches/security/20100330/6898622.patch                  |   20 
patches/security/20100330/6898739.patch                  |  437 ++++
patches/security/20100330/6899653.patch                  |   27 
patches/security/20100330/6902299.patch                  |  104 +
patches/security/20100330/6904691.patch                  |  166 +
patches/security/20100330/6909597.patch                  |   74 
patches/security/20100330/6910590.patch                  |   10 
patches/security/20100330/6914823.patch                  |   80 
patches/security/20100330/6914866.patch                  |  118 +
patches/security/20100330/6932480.patch                  |   43 
patches/security/20100330/hotspot/hs16/6626217.patch     |  160 +
patches/security/20100330/hotspot/original/6626217.patch |  180 ++

diffs (truncated from 3827 to 500 lines):

diff -r 6bd87ceec77a -r 8571317a9879 ChangeLog
--- a/ChangeLog	Thu Mar 18 18:43:01 2010 +0000
+++ b/ChangeLog	Wed Mar 31 01:49:46 2010 +0100
@@ -1,3 +1,36 @@ 2010-03-18  Pavel Tisnovsky <ptisnovs at re
+2010-03-31  Matthias Klose  <doko at ubuntu.com>
+
+	* acinclude.m4 (ENABLE_ZERO_BUILD): Depend on SET_ARCH_DIRS.
+
+2010-03-30  Andrew John Hughes  <ahughes at redhat.com>
+
+	* Makefile.am: Add new security patches.
+	* NEWS: List new security patches.
+	* patches/security/20100330/6633872.patch,
+	* patches/security/20100330/6639665.patch,
+	* patches/security/20100330/6736390.patch,
+	* patches/security/20100330/6745393.patch,
+	* patches/security/20100330/6887703.patch,
+	* patches/security/20100330/6888149.patch,
+	* patches/security/20100330/6892265.patch,
+	* patches/security/20100330/6893947.patch,
+	* patches/security/20100330/6893954.patch,
+	* patches/security/20100330/6894807.patch,
+	* patches/security/20100330/6898622.patch,
+	* patches/security/20100330/6898739.patch,
+	* patches/security/20100330/6899653.patch,
+	* patches/security/20100330/6902299.patch,
+	* patches/security/20100330/6904691.patch,
+	* patches/security/20100330/6909597.patch,
+	* patches/security/20100330/6910590.patch,
+	* patches/security/20100330/6914823.patch,
+	* patches/security/20100330/6914866.patch,
+	* patches/security/20100330/6932480.patch,
+	* patches/security/20100330/hotspot/hs16/6626217.patch,
+	* patches/security/20100330/hotspot/original/6626217.patch:
+	New security and hardening patches
+	http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html
+
 2010-03-18  Pavel Tisnovsky <ptisnovs at redhat.com>
 
 	* patches/icedtea-jtreg-httpTest.patch: new regression test
diff -r 6bd87ceec77a -r 8571317a9879 Makefile.am
--- a/Makefile.am	Thu Mar 18 18:43:01 2010 +0000
+++ b/Makefile.am	Wed Mar 31 01:49:46 2010 +0100
@@ -310,7 +310,28 @@ ICEDTEA_PATCHES = \
 	patches/icedtea-parisc.patch \
 	patches/icedtea-sh4-support.patch \
 	patches/libpng.patch \
-	patches/icedtea-jtreg-httpTest.patch
+	patches/icedtea-jtreg-httpTest.patch \
+	patches/security/20100330/hotspot/$(HSBUILD)/6626217.patch \
+	patches/security/20100330/6633872.patch \
+	patches/security/20100330/6639665.patch \
+	patches/security/20100330/6736390.patch \
+	patches/security/20100330/6745393.patch \
+	patches/security/20100330/6887703.patch \
+	patches/security/20100330/6888149.patch \
+	patches/security/20100330/6892265.patch \
+	patches/security/20100330/6893947.patch \
+	patches/security/20100330/6893954.patch \
+	patches/security/20100330/6894807.patch \
+	patches/security/20100330/6898622.patch \
+	patches/security/20100330/6898739.patch \
+	patches/security/20100330/6899653.patch \
+	patches/security/20100330/6902299.patch \
+	patches/security/20100330/6904691.patch \
+	patches/security/20100330/6909597.patch \
+	patches/security/20100330/6910590.patch \
+	patches/security/20100330/6914823.patch \
+	patches/security/20100330/6914866.patch \
+	patches/security/20100330/6932480.patch
 
 if WITH_RHINO
 ICEDTEA_PATCHES += \
diff -r 6bd87ceec77a -r 8571317a9879 NEWS
--- a/NEWS	Thu Mar 18 18:43:01 2010 +0000
+++ b/NEWS	Wed Mar 31 01:49:46 2010 +0100
@@ -1,4 +1,29 @@ New in release 1.7 (2010-02-26):
-New in release 1.7 (2010-02-26):
+New in release 1.7.2 (2010-03-30):
+
+- Latest security updates and hardening patches:
+  - (CVE-2010-0837): JAR "unpack200" must verify input parameters (6902299)
+  - (CVE-2010-0845): No ClassCastException for HashAttributeSet constructors if run with -Xcomp (6894807)
+  - (CVE-2010-0838): CMM readMabCurveData Buffer Overflow Vulnerability (6899653)
+  - (CVE-2010-0082): Loader-constraint table allows arrays instead of only the base-classes (6626217)
+  - (CVE-2010-0095): Subclasses of InetAddress may incorrectly interpret network addresses (6893954)
+  - (CVE-2010-0085): File TOCTOU deserialization vulnerability (6736390)
+  - (CVE-2010-0091): Unsigned applet can retrieve the dragged information before drop action occurs (6887703)
+  - (CVE-2010-0088): Inflater/Deflater clone issues (6745393)
+  - (CVE-2010-0084): Policy/PolicyFile leak dynamic ProtectionDomains. (6633872)
+  - (CVE-2010-0092): AtomicReferenceArray causes SIGSEGV -> SEGV_MAPERR error (6888149)
+  - (CVE-2010-0094): Deserialization of RMIConnectionImpl objects should enforce stricter checks (6893947)
+  - (CVE-2010-0093): System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes (6892265)
+  - (CVE-2010-0840): Applet Trusted Methods Chaining Privilege Escalation Vulnerability (6904691)
+  - (CVE-2010-0848): AWT Library Invalid Index Vulnerability (6914823)
+  - (CVE-2010-0847): ImagingLib arbitrary code execution vulnerability (6914866)
+  - (CVE-2009-3555): TLS: MITM attacks via session renegotiation
+  - 6639665: ThreadGroup finalizer allows creation of false root ThreadGroups
+  - 6898622: ObjectIdentifer.equals is not capable of detecting incorrectly encoded CommonName OIDs
+  - 6910590: Application can modify command array in ProcessBuilder
+  - 6909597: JPEGImageReader stepX Integer Overflow Vulnerability
+  - 6932480: Crash in CompilerThread/Parser. Unloaded array klass?
+
+New in release 1.7.1 (2010-02-26):
 
 Bug fixes
 - PR179: Rhino bootclasspath issue
diff -r 6bd87ceec77a -r 8571317a9879 acinclude.m4
--- a/acinclude.m4	Thu Mar 18 18:43:01 2010 +0000
+++ b/acinclude.m4	Wed Mar 31 01:49:46 2010 +0100
@@ -698,6 +698,7 @@ AC_DEFUN([FIND_TOOL],
 
 AC_DEFUN([ENABLE_ZERO_BUILD],
 [
+  AC_REQUIRE([SET_ARCH_DIRS])
   AC_MSG_CHECKING([whether to use the zero-assembler port])
   use_zero=no
   AC_ARG_ENABLE([zero],
diff -r 6bd87ceec77a -r 8571317a9879 patches/security/20100330/6633872.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/security/20100330/6633872.patch	Wed Mar 31 01:49:46 2010 +0100
@@ -0,0 +1,443 @@
+--- openjdk.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	Mon Mar 15 10:28:30 2010
++++ openjdk/jdk/src/share/classes/java/security/ProtectionDomain.java	Mon Mar 15 10:28:30 2010
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
++ * Copyright 1997-2009 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,9 +25,15 @@
+ 
+ package java.security;
+ 
++import java.util.ArrayList;
++import java.util.Collections;
+ import java.util.Enumeration;
+ import java.util.List;
+-import java.util.ArrayList;
++import java.util.Map;
++import java.util.WeakHashMap;
++import sun.misc.JavaSecurityProtectionDomainAccess;
++import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache;
++import sun.misc.SharedSecrets;
+ import sun.security.util.Debug;
+ import sun.security.util.SecurityConstants;
+ 
+@@ -72,6 +78,11 @@
+        or dynamic (via a policy refresh) */
+     private boolean staticPermissions;
+ 
++    /*
++     * An object used as a key when the ProtectionDomain is stored in a Map.
++     */
++    final Key key = new Key();
++
+     private static final Debug debug = Debug.getInstance("domain");
+ 
+     /**
+@@ -238,7 +249,7 @@
+     /**
+      * Convert a ProtectionDomain to a String.
+      */
+-    public String toString() {
++    @Override public String toString() {
+         String pals = "<no principals>";
+         if (principals != null && principals.length > 0) {
+             StringBuilder palBuf = new StringBuilder("(principals ");
+@@ -396,4 +407,29 @@
+ 
+         return mergedPerms;
+     }
++
++    /**
++     * Used for storing ProtectionDomains as keys in a Map.
++     */
++    final class Key {}
++
++    static {
++        SharedSecrets.setJavaSecurityProtectionDomainAccess(
++            new JavaSecurityProtectionDomainAccess() {
++                public ProtectionDomainCache getProtectionDomainCache() {
++                    return new ProtectionDomainCache() {
++                        private final Map<Key, PermissionCollection> map =
++                            Collections.synchronizedMap
++                                (new WeakHashMap<Key, PermissionCollection>());
++                        public void put(ProtectionDomain pd,
++                            PermissionCollection pc) {
++                            map.put((pd == null ? null : pd.key), pc);
++                        }
++                        public PermissionCollection get(ProtectionDomain pd) {
++                            return pd == null ? map.get(null) : map.get(pd.key);
++                        }
++                    };
++                }
++            });
++    }
+ }
+--- openjdk.orig/jdk/src/share/classes/java/security/Policy.java	Mon Mar 15 10:28:30 2010
++++ openjdk/jdk/src/share/classes/java/security/Policy.java	Mon Mar 15 10:28:30 2010
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
++ * Copyright 1997-2009 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
+@@ -28,22 +28,19 @@
+ 
+ import java.io.*;
+ import java.lang.RuntimePermission;
++import java.lang.reflect.*;
+ import java.net.MalformedURLException;
+ import java.net.URL;
+ import java.util.Enumeration;
+ import java.util.Hashtable;
+-import java.util.Vector;
+-import java.util.StringTokenizer;
+ import java.util.PropertyPermission;
+-
+-import java.lang.reflect.*;
+-
++import java.util.StringTokenizer;
++import java.util.Vector;
+ import java.util.WeakHashMap;
+-import sun.security.util.Debug;
+ import sun.security.jca.GetInstance;
++import sun.security.util.Debug;
+ import sun.security.util.SecurityConstants;
+ 
+-
+ /**
+  * A Policy object is responsible for determining whether code executing
+  * in the Java runtime environment has permission to perform a
+@@ -113,8 +110,8 @@
+ 
+     private static final Debug debug = Debug.getInstance("policy");
+ 
+-    // Cache mapping  ProtectionDomain to PermissionCollection
+-    private WeakHashMap<ProtectionDomain, PermissionCollection> pdMapping;
++    // Cache mapping ProtectionDomain.Key to PermissionCollection
++    private WeakHashMap<ProtectionDomain.Key, PermissionCollection> pdMapping;
+ 
+     /** package private for AccessControlContext */
+     static boolean isSet()
+@@ -307,7 +304,7 @@
+         synchronized (p) {
+             if (p.pdMapping == null) {
+                 p.pdMapping =
+-                    new WeakHashMap<ProtectionDomain, PermissionCollection>();
++                    new WeakHashMap<ProtectionDomain.Key, PermissionCollection>();
+            }
+         }
+ 
+@@ -323,7 +320,7 @@
+ 
+             synchronized (p.pdMapping) {
+                 // cache of pd to permissions
+-                p.pdMapping.put(policyDomain, policyPerms);
++                p.pdMapping.put(policyDomain.key, policyPerms);
+             }
+         }
+         return;
+@@ -638,7 +635,7 @@
+         }
+ 
+         synchronized (pdMapping) {
+-            pc = pdMapping.get(domain);
++            pc = pdMapping.get(domain.key);
+         }
+ 
+         if (pc != null) {
+@@ -697,7 +694,7 @@
+         }
+ 
+         synchronized (pdMapping) {
+-            pc = pdMapping.get(domain);
++            pc = pdMapping.get(domain.key);
+         }
+ 
+         if (pc != null) {
+@@ -711,7 +708,7 @@
+ 
+         synchronized (pdMapping) {
+             // cache it
+-            pdMapping.put(domain, pc);
++            pdMapping.put(domain.key, pc);
+         }
+ 
+         return pc.implies(permission);
+@@ -747,21 +744,25 @@
+             this.params = params;
+         }
+ 
+-        public String getType() { return type; }
++        @Override public String getType() { return type; }
+ 
+-        public Policy.Parameters getParameters() { return params; }
++        @Override public Policy.Parameters getParameters() { return params; }
+ 
+-        public Provider getProvider() { return p; }
++        @Override public Provider getProvider() { return p; }
+ 
++        @Override
+         public PermissionCollection getPermissions(CodeSource codesource) {
+             return spi.engineGetPermissions(codesource);
+         }
++        @Override
+         public PermissionCollection getPermissions(ProtectionDomain domain) {
+             return spi.engineGetPermissions(domain);
+         }
++        @Override
+         public boolean implies(ProtectionDomain domain, Permission perm) {
+             return spi.engineImplies(domain, perm);
+         }
++        @Override
+         public void refresh() {
+             spi.engineRefresh();
+         }
+@@ -803,7 +804,7 @@
+          * @exception SecurityException - if this PermissionCollection object
+          *                                has been marked readonly
+          */
+-        public void add(Permission permission) {
++        @Override public void add(Permission permission) {
+             perms.add(permission);
+         }
+ 
+@@ -816,7 +817,7 @@
+          * @return true if "permission" is implied by the  permissions in
+          * the collection, false if not.
+          */
+-        public boolean implies(Permission permission) {
++        @Override public boolean implies(Permission permission) {
+             return perms.implies(permission);
+         }
+ 
+@@ -826,7 +827,7 @@
+          *
+          * @return an enumeration of all the Permissions.
+          */
+-        public Enumeration<Permission> elements() {
++        @Override public Enumeration<Permission> elements() {
+             return perms.elements();
+         }
+     }
+--- openjdk.orig/jdk/src/share/classes/sun/misc/SharedSecrets.java	Mon Mar 15 10:28:31 2010
++++ openjdk/jdk/src/share/classes/sun/misc/SharedSecrets.java	Mon Mar 15 10:28:30 2010
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 2002-2007 Sun Microsystems, Inc.  All Rights Reserved.
++ * Copyright 2002-2009 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
+@@ -47,6 +47,7 @@
+     private static JavaIODeleteOnExitAccess javaIODeleteOnExitAccess;
+     private static JavaNetAccess javaNetAccess;
+     private static JavaIOFileDescriptorAccess javaIOFileDescriptorAccess;
++    private static JavaSecurityProtectionDomainAccess javaSecurityProtectionDomainAccess;
+ 
+     public static JavaUtilJarAccess javaUtilJarAccess() {
+         if (javaUtilJarAccess == null) {
+@@ -110,4 +111,16 @@
+         return javaIOFileDescriptorAccess;
+     }
+ 
++    public static void setJavaSecurityProtectionDomainAccess
++        (JavaSecurityProtectionDomainAccess jspda) {
++            javaSecurityProtectionDomainAccess = jspda;
++    }
++
++    public static JavaSecurityProtectionDomainAccess
++        getJavaSecurityProtectionDomainAccess() {
++        if (javaSecurityProtectionDomainAccess == null)
++            unsafe.ensureClassInitialized(java.security.ProtectionDomain.class);
++
++        return javaSecurityProtectionDomainAccess;
++    }
+ }
+--- /dev/null	Mon Mar 15 10:28:31 2010
++++ openjdk/jdk/src/share/classes/sun/misc/JavaSecurityProtectionDomainAccess.java	Mon Mar 15 10:28:31 2010
+@@ -0,0 +1,40 @@
++/*
++ * Copyright 2009 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
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.  Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++ * by Sun in the LICENSE file that accompanied this code.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++ * CA 95054 USA or visit www.sun.com if you need additional information or
++ * have any questions.
++ */
++
++package sun.misc;
++
++import java.security.PermissionCollection;
++import java.security.ProtectionDomain;
++
++public interface JavaSecurityProtectionDomainAccess {
++    interface ProtectionDomainCache {
++        void put(ProtectionDomain pd, PermissionCollection pc);
++        PermissionCollection get(ProtectionDomain pd);
++    }
++    /**
++     * Returns the ProtectionDomainCache.
++     */
++    ProtectionDomainCache getProtectionDomainCache();
++}
+--- openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	Mon Mar 15 10:28:31 2010
++++ openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java	Mon Mar 15 10:28:31 2010
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
++ * Copyright 1997-2009 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
+@@ -66,6 +66,9 @@
+ import javax.sound.sampled.AudioPermission;
+ import javax.net.ssl.SSLPermission;
+ */
++import sun.misc.JavaSecurityProtectionDomainAccess;
++import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache;
++import sun.misc.SharedSecrets;
+ import sun.security.util.Password;
+ import sun.security.util.PolicyUtil;
+ import sun.security.util.PropertyExpander;
+@@ -1108,7 +1111,7 @@
+     /**
+      * Refreshes the policy object by re-reading all the policy files.
+      */
+-    public void refresh() {
++    @Override public void refresh() {
+         init(url);
+     }
+ 
+@@ -1125,9 +1128,10 @@
+      *
+      * @see java.security.ProtectionDomain
+      */
++    @Override
+     public boolean implies(ProtectionDomain pd, Permission p) {
+         PolicyInfo pi = policyInfo.get();
+-        Map<ProtectionDomain, PermissionCollection> pdMap = pi.getPdMapping();
++        ProtectionDomainCache pdMap = pi.getPdMapping();
+ 
+         PermissionCollection pc = pdMap.get(pd);
+ 
+@@ -1173,6 +1177,7 @@
+      * @return the Permissions granted to the provided
+      *          <code>ProtectionDomain</code>.
+      */
++    @Override
+     public PermissionCollection getPermissions(ProtectionDomain domain) {
+         Permissions perms = new Permissions();
+ 
+@@ -1208,6 +1213,7 @@
+      *
+      * @return the set of permissions according to the policy.
+      */
++    @Override
+     public PermissionCollection getPermissions(CodeSource codesource) {
+         return getPermissions(new Permissions(), codesource);
+     }
+@@ -2200,7 +2206,7 @@
+             return codesource;
+         }
+ 
+-        public String toString(){
++        @Override public String toString(){
+             StringBuilder sb = new StringBuilder();
+             sb.append(ResourcesMgr.getString("("));
+             sb.append(getCodeSource());
+@@ -2336,7 +2342,7 @@
+          *
+          * @return false.
+          */
+-        public boolean implies(Permission p) {
++        @Override public boolean implies(Permission p) {
+             return false;
+         }
+ 
+@@ -2353,7 +2359,7 @@
+          * type (class) name, permission name, actions, and



More information about the distro-pkg-dev mailing list