You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2006/03/15 15:18:27 UTC
svn commit: r386077 - in
/incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework:
cache/DirectoryRevision.java cache/JarRevision.java util/SecureAction.java
Author: rickhall
Date: Wed Mar 15 06:18:25 2006
New Revision: 386077
URL: http://svn.apache.org/viewcvs?rev=386077&view=rev
Log:
Fixed a bug that was returning relative paths for native libraries if a
relative path was used for the profile directory property.
Modified:
incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java
incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/JarRevision.java
incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/util/SecureAction.java
Modified: incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java
URL: http://svn.apache.org/viewcvs/incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java?rev=386077&r1=386076&r2=386077&view=diff
==============================================================================
--- incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java (original)
+++ incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/DirectoryRevision.java Wed Mar 15 06:18:25 2006
@@ -145,7 +145,7 @@
// TODO: This will need to consider security.
public String findLibrary(String libName) throws Exception
{
- return new File(m_refDir, libName).toString();
+ return DefaultBundleCache.getSecureAction().getAbsolutePath(new File(m_refDir, libName));
}
public void dispose() throws Exception
Modified: incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/JarRevision.java
URL: http://svn.apache.org/viewcvs/incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/JarRevision.java?rev=386077&r1=386076&r2=386077&view=diff
==============================================================================
--- incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/JarRevision.java (original)
+++ incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/cache/JarRevision.java Wed Mar 15 06:18:25 2006
@@ -233,7 +233,7 @@
}
}
- return libFile.toString();
+ return DefaultBundleCache.getSecureAction().getAbsolutePath(libFile);
}
public void dispose() throws Exception
Modified: incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/util/SecureAction.java
URL: http://svn.apache.org/viewcvs/incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/util/SecureAction.java?rev=386077&r1=386076&r2=386077&view=diff
==============================================================================
--- incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/util/SecureAction.java (original)
+++ incubator/felix/trunk/org.apache.felix.framework/src/main/java/org/apache/felix/framework/util/SecureAction.java Wed Mar 15 06:18:25 2006
@@ -118,6 +118,26 @@
}
}
+ public synchronized String getAbsolutePath(File file)
+ {
+ if (System.getSecurityManager() != null)
+ {
+ try
+ {
+ m_actions.set(Actions.GET_ABSOLUTE_PATH_ACTION, file);
+ return (String) AccessController.doPrivileged(m_actions, m_acc);
+ }
+ catch (PrivilegedActionException ex)
+ {
+ throw (RuntimeException) ex.getException();
+ }
+ }
+ else
+ {
+ return file.getAbsolutePath();
+ }
+ }
+
public synchronized boolean fileExists(File file)
{
if (System.getSecurityManager() != null)
@@ -341,16 +361,17 @@
public static final int GET_PROPERTY_ACTION = 0;
public static final int FOR_NAME_ACTION = 1;
public static final int CREATE_URL_ACTION = 2;
- public static final int FILE_EXISTS_ACTION = 3;
- public static final int FILE_IS_DIRECTORY_ACTION = 4;
- public static final int MAKE_DIRECTORY_ACTION = 5;
- public static final int MAKE_DIRECTORIES_ACTION = 6;
- public static final int LIST_DIRECTORY_ACTION = 7;
- public static final int RENAME_FILE_ACTION = 8;
- public static final int GET_FILE_INPUT_ACTION = 9;
- public static final int GET_FILE_OUTPUT_ACTION = 10;
- public static final int DELETE_FILE_ACTION = 11;
- public static final int OPEN_JAR_ACTION = 12;
+ public static final int GET_ABSOLUTE_PATH_ACTION = 3;
+ public static final int FILE_EXISTS_ACTION = 4;
+ public static final int FILE_IS_DIRECTORY_ACTION = 5;
+ public static final int MAKE_DIRECTORY_ACTION = 6;
+ public static final int MAKE_DIRECTORIES_ACTION = 7;
+ public static final int LIST_DIRECTORY_ACTION = 8;
+ public static final int RENAME_FILE_ACTION = 9;
+ public static final int GET_FILE_INPUT_ACTION = 10;
+ public static final int GET_FILE_OUTPUT_ACTION = 11;
+ public static final int DELETE_FILE_ACTION = 12;
+ public static final int OPEN_JAR_ACTION = 13;
private int m_action = -1;
private Object m_arg1 = null;
@@ -415,6 +436,10 @@
else if (m_action == CREATE_URL_ACTION)
{
return new URL(m_protocol, m_host, m_port, m_path, m_handler);
+ }
+ else if (m_action == GET_ABSOLUTE_PATH_ACTION)
+ {
+ return ((File) m_arg1).getAbsolutePath();
}
else if (m_action == FILE_EXISTS_ACTION)
{