aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
diff options
context:
space:
mode:
authorOmair Majid <omajid@redhat.com>2010-11-24 15:47:50 -0500
committerOmair Majid <omajid@redhat.com>2010-11-24 15:47:50 -0500
commit96560e4426643be5805fe106764da8f3d1f09613 (patch)
treeb391c5912ef4254af4977c3a45eead7c0b376b4c /netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
parent8a4ac3f07e3a60a8cf34fbe12b1b05219e865bf0 (diff)
create files with reduced permissions when possible
2010-11-24 Omair Majid <omajid@redhat.com> * netx/net/sourceforge/jnlp/util/FileUtils.java (createRestrictedDirectory): New method. Creates a directory with reduced permissions. (createRestrictedFile(File,boolean)): New method. Creates a file with reduced permissions. (createRestrictedFile(File,boolean,boolean): New method. Creates a file or a directory with reduced permissions. * netx/net/sourceforge/jnlp/Launcher.java (markNetxRunning): Do not grant unnecessary file permissions. * netx/net/sourceforge/jnlp/runtime/Boot.java: Remove umask from help message. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateNative): Create file with proper permissions. (getNativeDir): Create directory with proper permissions. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initializeStreams): Create files with proper permissions. * netx/net/sourceforge/jnlp/security/CertWarningPane.java (CheckBoxListener.actionPerformed): Likewise. * netx/net/sourceforge/jnlp/security/KeyStores.java (createKeyStoreFromFile): Likewise. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (ImportButtonListener.actionPerformed): Likewise. (RemoveButtonListener.actionPerformed): Likewise. * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java (createWithPort): Likewise. (getLockFile): Likewise. * netx/net/sourceforge/jnlp/services/XExtendedService.java (openFile): Likewise. * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create): Likewise. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java (installDesktopLauncher): Likewise. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CantCreateFile, RCantCreateDir and RCantRename. Remove BNoBase and BOUmask.
Diffstat (limited to 'netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java')
-rw-r--r--netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
index 13feed2..848a198 100644
--- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
@@ -268,12 +268,15 @@ public class JNLPRuntime {
.getProperty(DeploymentConfiguration.KEY_ENABLE_LOGGING));
if (redirectStreams || enableLogging) {
String logDir = config.getProperty(DeploymentConfiguration.KEY_USER_LOG_DIR);
- File errFile = new File(logDir, JNLPRuntime.STDERR_FILE);
- errFile.getParentFile().mkdirs();
- File outFile = new File(logDir, JNLPRuntime.STDOUT_FILE);
- outFile.getParentFile().mkdirs();
try {
+ File errFile = new File(logDir, JNLPRuntime.STDERR_FILE);
+ errFile.getParentFile().mkdirs();
+ FileUtils.createRestrictedFile(errFile, true);
+ File outFile = new File(logDir, JNLPRuntime.STDOUT_FILE);
+ outFile.getParentFile().mkdirs();
+ FileUtils.createRestrictedFile(outFile, true);
+
if (redirectStreams) {
System.setErr(new PrintStream(new FileOutputStream(errFile)));
System.setOut(new PrintStream(new FileOutputStream(outFile)));