db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kmars...@apache.org
Subject svn commit: r545251 - /db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java
Date Thu, 07 Jun 2007 17:50:37 GMT
Author: kmarsden
Date: Thu Jun  7 10:50:36 2007
New Revision: 545251

URL: http://svn.apache.org/viewvc?view=rev&rev=545251
Log:
DERBY-2754 Client connections should not fail if permission is not granted to read derby.client.traceLevel
and derby.client.traceDirectory

Ignore properties if there is no permission to read them.


Modified:
    db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java

Modified: db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java?view=diff&rev=545251&r1=545250&r2=545251
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/jdbc/ClientBaseDataSource.java Thu Jun
 7 10:50:36 2007
@@ -25,6 +25,7 @@
 import java.io.PrintWriter;
 import java.io.File;
 import java.security.AccessController;
+import java.security.PrivilegedActionException;
 import java.util.Properties;
 import java.util.StringTokenizer;
 import java.util.NoSuchElementException;
@@ -379,17 +380,20 @@
      */
     public static String getTraceDirectory(Properties properties) {
     	String traceDirectoryString;
+       
     	traceDirectoryString  = readSystemProperty(Attribute.CLIENT_JVM_PROPERTY_PREFIX+Attribute.CLIENT_TRACE_DIRECTORY);
+
 		if (traceDirectoryString == null) 
 			return properties.getProperty(Attribute.CLIENT_TRACE_DIRECTORY);
 		else
 			return traceDirectoryString;
     }
     
+    
     /**
      * Read the value of the passed system property.
      * @param key name of the system property
-     * @return value of the system property
+     * @return value of the system property, null if there is no permission to read the property
      */
     private static String readSystemProperty(final String key) {
     	//Using an anonymous class to read the system privilege because the
@@ -404,7 +408,14 @@
     	return (String )AccessController.doPrivileged
     	    (new java.security.PrivilegedAction(){
     		    public Object run(){
-    			return System.getProperty(key);
+                    try {
+                        return System.getProperty(key);
+                    } catch (SecurityException se) {
+                        // We do not want the connection to fail if the user does not have
permission to 
+                        // read the property, so if a security exception occurs, just return
null and 
+                        // continue with the connection.  
+                        return null;
+                    }
     		    }
     	    }
     	    );



Mime
View raw message