[jboss-cvs] Repository SVN: r2183 - hsqldb/1.8.0.8.patch01-brew/src.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Dec 18 12:42:27 EST 2007


Author: fnasser at redhat.com
Date: 2007-12-18 12:42:27 -0500 (Tue, 18 Dec 2007)
New Revision: 2183

Added:
   hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-CVE-2007-4576.patch
Removed:
   hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-backport.patch
Log:
Rename patch file for better description of contents

Copied: hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-CVE-2007-4576.patch (from rev 2182, hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-backport.patch)
===================================================================
--- hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-CVE-2007-4576.patch	                        (rev 0)
+++ hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-CVE-2007-4576.patch	2007-12-18 17:42:27 UTC (rev 2183)
@@ -0,0 +1,90 @@
+--- hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java.orig	2007-10-19 13:25:36.000000000 -0400
++++ hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java	2007-10-23 14:54:25.000000000 -0400
+@@ -44,6 +44,7 @@ import org.hsqldb.lib.Set;
+ import org.hsqldb.lib.SimpleLog;
+ import org.hsqldb.lib.java.JavaSystem;
+ import org.hsqldb.store.ValuePool;
++import org.hsqldb.lib.StringUtil;
+ 
+ /**
+  * Manages a .properties file for a database.
+@@ -53,6 +54,53 @@ import org.hsqldb.store.ValuePool;
+  * @since 1.7.0
+  */
+ public class HsqlDatabaseProperties extends HsqlProperties {
++    private static String hsqldb_method_class_names =
++        "hsqldb.method_class_names";
++    private static HashSet accessibleJavaMethodNames;
++
++    static {
++        try {
++            String prop = System.getProperty(hsqldb_method_class_names);
++
++            if (prop != null) {
++                accessibleJavaMethodNames = new HashSet();
++
++                String[] names = StringUtil.split(prop, ";");
++
++                for (int i = 0; i < names.length; i++) {
++                    accessibleJavaMethodNames.add(names[i]);
++                }
++            }
++        } catch (Exception e) {}
++    }
++
++    /**
++     * If the system property "hsqldb.method_class_names" is not set, then
++     * static methods of all available Java classes can be accessed as functions
++     * in HSQLDB. If the property is set, then only the list of semicolon
++     * seperated method names becomes accessible. An empty property value means
++     * no class is accessible.<p>
++     *
++     * All methods of org.hsqldb.Library are always accessible.
++     *
++     *
++     */
++    public static boolean supportsJavaMethod(String name) {
++
++        if (name.startsWith("org.hsqldb.Library")) {
++            return true;
++        }
++
++        if (accessibleJavaMethodNames == null) {
++            return true;
++        }
++
++        if (accessibleJavaMethodNames.contains(name)) {
++            return true;
++        }
++
++        return false;
++    }
+ 
+     // column number mappings
+     public static final int indexName         = 0;
+--- hsqldb/src/org/hsqldb/Database.java.orig	2007-10-19 13:24:32.000000000 -0400
++++ hsqldb/src/org/hsqldb/Database.java	2007-10-23 14:55:07.000000000 -0400
+@@ -473,12 +473,19 @@ public class Database {
+      *  the given method alias. If there is no Java method, then returns the
+      *  alias itself.
+      */
+-    String getJavaName(String s) {
++    String getJavaName(String name) throws HsqlException {
+ 
+-        String alias = (String) hAlias.get(s);
++        String target = (String) hAlias.get(name);
+ 
+-        return (alias == null) ? s
+-                               : alias;
++        if (target == null) {
++            target = name;
++        }
++
++        if (HsqlDatabaseProperties.supportsJavaMethod(target)) {
++            return target;
++        }
++
++        throw Trace.error(Trace.ACCESS_IS_DENIED, target);
+     }
+ 
+     /**

Deleted: hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-backport.patch
===================================================================
--- hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-backport.patch	2007-12-18 17:32:00 UTC (rev 2182)
+++ hsqldb/1.8.0.8.patch01-brew/src/hsqldb-1.8.0.8-backport.patch	2007-12-18 17:42:27 UTC (rev 2183)
@@ -1,90 +0,0 @@
---- hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java.orig	2007-10-19 13:25:36.000000000 -0400
-+++ hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java	2007-10-23 14:54:25.000000000 -0400
-@@ -44,6 +44,7 @@ import org.hsqldb.lib.Set;
- import org.hsqldb.lib.SimpleLog;
- import org.hsqldb.lib.java.JavaSystem;
- import org.hsqldb.store.ValuePool;
-+import org.hsqldb.lib.StringUtil;
- 
- /**
-  * Manages a .properties file for a database.
-@@ -53,6 +54,53 @@ import org.hsqldb.store.ValuePool;
-  * @since 1.7.0
-  */
- public class HsqlDatabaseProperties extends HsqlProperties {
-+    private static String hsqldb_method_class_names =
-+        "hsqldb.method_class_names";
-+    private static HashSet accessibleJavaMethodNames;
-+
-+    static {
-+        try {
-+            String prop = System.getProperty(hsqldb_method_class_names);
-+
-+            if (prop != null) {
-+                accessibleJavaMethodNames = new HashSet();
-+
-+                String[] names = StringUtil.split(prop, ";");
-+
-+                for (int i = 0; i < names.length; i++) {
-+                    accessibleJavaMethodNames.add(names[i]);
-+                }
-+            }
-+        } catch (Exception e) {}
-+    }
-+
-+    /**
-+     * If the system property "hsqldb.method_class_names" is not set, then
-+     * static methods of all available Java classes can be accessed as functions
-+     * in HSQLDB. If the property is set, then only the list of semicolon
-+     * seperated method names becomes accessible. An empty property value means
-+     * no class is accessible.<p>
-+     *
-+     * All methods of org.hsqldb.Library are always accessible.
-+     *
-+     *
-+     */
-+    public static boolean supportsJavaMethod(String name) {
-+
-+        if (name.startsWith("org.hsqldb.Library")) {
-+            return true;
-+        }
-+
-+        if (accessibleJavaMethodNames == null) {
-+            return true;
-+        }
-+
-+        if (accessibleJavaMethodNames.contains(name)) {
-+            return true;
-+        }
-+
-+        return false;
-+    }
- 
-     // column number mappings
-     public static final int indexName         = 0;
---- hsqldb/src/org/hsqldb/Database.java.orig	2007-10-19 13:24:32.000000000 -0400
-+++ hsqldb/src/org/hsqldb/Database.java	2007-10-23 14:55:07.000000000 -0400
-@@ -473,12 +473,19 @@ public class Database {
-      *  the given method alias. If there is no Java method, then returns the
-      *  alias itself.
-      */
--    String getJavaName(String s) {
-+    String getJavaName(String name) throws HsqlException {
- 
--        String alias = (String) hAlias.get(s);
-+        String target = (String) hAlias.get(name);
- 
--        return (alias == null) ? s
--                               : alias;
-+        if (target == null) {
-+            target = name;
-+        }
-+
-+        if (HsqlDatabaseProperties.supportsJavaMethod(target)) {
-+            return target;
-+        }
-+
-+        throw Trace.error(Trace.ACCESS_IS_DENIED, target);
-     }
- 
-     /**




More information about the jboss-cvs-commits mailing list