From 96560e4426643be5805fe106764da8f3d1f09613 Mon Sep 17 00:00:00 2001
From: Omair Majid <omajid@redhat.com>
Date: Wed, 24 Nov 2010 15:47:50 -0500
Subject: 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.
---
 netx/net/sourceforge/jnlp/services/XFileSaveService.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'netx/net/sourceforge/jnlp/services/XFileSaveService.java')

diff --git a/netx/net/sourceforge/jnlp/services/XFileSaveService.java b/netx/net/sourceforge/jnlp/services/XFileSaveService.java
index dc4fdc0..c4e856b 100644
--- a/netx/net/sourceforge/jnlp/services/XFileSaveService.java
+++ b/netx/net/sourceforge/jnlp/services/XFileSaveService.java
@@ -44,6 +44,7 @@ import java.lang.ref.*;
 import javax.jnlp.*;
 
 import net.sourceforge.jnlp.security.SecurityWarning.AccessType;
+import net.sourceforge.jnlp.util.FileUtils;
 
 import javax.swing.JFileChooser;
 import javax.swing.JOptionPane;
@@ -121,7 +122,7 @@ class XFileSaveService implements FileSaveService {
             if (!replace)
                 return;
         } else {
-            file.createNewFile();
+            FileUtils.createRestrictedFile(file, true);
         }
 
         if (file.canWrite()) {
-- 
cgit v1.2.3