You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by dj...@apache.org on 2007/05/19 00:09:30 UTC
svn commit: r539614 -
/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java
Author: djd
Date: Fri May 18 15:09:28 2007
New Revision: 539614
URL: http://svn.apache.org/viewvc?view=rev&rev=539614
Log:
DERBY-2673 If derby.system.home does not exist then first attempt to create it with File.mkdir() to
avoid requiring read permission on the parent folder.
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java?view=diff&rev=539614&r1=539613&r2=539614
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/services/monitor/FileMonitor.java Fri May 18 15:09:28 2007
@@ -130,7 +130,20 @@
try {
// SECURITY PERMISSION - OP2b
- home.mkdirs();
+ // Attempt to create just the folder initially
+ // which does not require read permission on
+ // the parent folder. This is to allow a policy
+ // file to limit file permissions for derby.jar
+ // to be contained under derby.system.home.
+ // If the folder cannot be created that way
+ // due to missing parent folder(s)
+ // then mkdir() will return false and thus
+ // mkdirs will be called to create the
+ // intermediate folders. This use of mkdir()
+ // and mkdirs() retains existing (pre10.3) behaviour
+ // but avoids requiring read permission on the parent
+ // directory if it exists.
+ boolean created = home.mkdir() || home.mkdirs();
} catch (SecurityException se) {
return false;
}