[jboss-cvs] Repository SVN: r2175 - in hsqldb/1.8.0.8-brew: lib and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Dec 17 20:28:42 EST 2007
Author: fnasser at redhat.com
Date: 2007-12-17 20:28:41 -0500 (Mon, 17 Dec 2007)
New Revision: 2175
Added:
hsqldb/1.8.0.8-brew/src/hsqldb-1.8.0.8-backport.patch
Modified:
hsqldb/1.8.0.8-brew/component-info.xml
hsqldb/1.8.0.8-brew/lib/hsqldb.jar
Log:
CVE-2007-4576
Modified: hsqldb/1.8.0.8-brew/component-info.xml
===================================================================
--- hsqldb/1.8.0.8-brew/component-info.xml 2007-12-18 01:01:38 UTC (rev 2174)
+++ hsqldb/1.8.0.8-brew/component-info.xml 2007-12-18 01:28:41 UTC (rev 2175)
@@ -3,9 +3,9 @@
version="1.8.0.8-brew"
licenseType="hsqldb"
projectHome="http://hsqldb.org/"
- description="Java relational database engine supporting a subset of ANSI-92 SQL plus SQL 99 and 2003 enhancements"
+ description="Java relational database engine supporting a subset of ANSI-92 SQL plus SQL 99 and 2003 enhancements (with fix for CVE-2007-4576)"
scm=":ext:cvs.devel.redhat.com:/cvs/dist/hsqldb"
- tag="hsqldb-1_8_0_8-1jpp_ep1_1">
+ tag="hsqldb-1_8_0_8-1jpp_ep1_5">
<!-- Built using JDK 1.4 -->
<artifact id="hsqldb.jar"/>
<export>
Modified: hsqldb/1.8.0.8-brew/lib/hsqldb.jar
===================================================================
(Binary files differ)
Added: hsqldb/1.8.0.8-brew/src/hsqldb-1.8.0.8-backport.patch
===================================================================
--- hsqldb/1.8.0.8-brew/src/hsqldb-1.8.0.8-backport.patch (rev 0)
+++ hsqldb/1.8.0.8-brew/src/hsqldb-1.8.0.8-backport.patch 2007-12-18 01:28:41 UTC (rev 2175)
@@ -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);
+ }
+
+ /**
More information about the jboss-cvs-commits
mailing list