File: 50-preferences_world_readable.patch

package info (click to toggle)
josm 0.0.svn3376-1%2Bsqueeze1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 53,192 kB
  • ctags: 15,964
  • sloc: java: 109,690; xml: 7,599; perl: 821; makefile: 51; sh: 21
file content (39 lines) | stat: -rw-r--r-- 1,309 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From: David Paleino <dapal@debian.org>
Subject: make the preferences file owner-only readable
Forwarded: https://josm.openstreetmap.de/ticket/4667

---
 src/org/openstreetmap/josm/data/Preferences.java |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

--- josm.orig/src/org/openstreetmap/josm/data/Preferences.java
+++ josm/src/org/openstreetmap/josm/data/Preferences.java
@@ -393,6 +393,14 @@ public class Preferences {
         File tmpFile = new File(prefFile + "_tmp");
         copyFile(tmpFile, prefFile);
         tmpFile.delete();
+
+        setCorrectPermissions();
+    }
+
+    public void setCorrectPermissions() throws IOException {
+        // Make it owner-only-readable.
+        // FIXME: newest versions will use JDK 1.6, it has set*() functions.
+        Runtime.getRuntime().exec("/bin/chmod 600 " + getPreferenceFile().getAbsolutePath());
     }
 
     /**
@@ -509,6 +517,13 @@ public class Preferences {
                 System.err.println(tr("Warning: Failed to initialize preferences.Failed to reset preference file to default: {0}", getPreferenceFile()));
             }
         }
+
+        try {
+            setCorrectPermissions();
+        }
+        catch (IOException e) {
+            e.printStackTrace();
+        }
     }
 
     public final void resetToDefault(){