aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net
diff options
context:
space:
mode:
Diffstat (limited to 'netx/net')
-rw-r--r--netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java43
-rw-r--r--netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java82
-rw-r--r--netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java24
-rw-r--r--netx/net/sourceforge/jnlp/security/CertWarningPane.java6
-rw-r--r--netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java6
5 files changed, 92 insertions, 69 deletions
diff --git a/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java b/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java
index 34d1092..45f6faa 100644
--- a/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java
+++ b/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java
@@ -85,31 +85,34 @@ public class FirefoxPreferencesFinder {
*/
// find the section with an entry Default=1
- while (true) {
- String line = reader.readLine();
- if (line == null) {
- break;
- }
-
- line = line.trim();
- if (line.startsWith("[") && line.endsWith("]")) {
- if (foundDefaultSection) {
+ try {
+ while (true) {
+ String line = reader.readLine();
+ if (line == null) {
break;
}
- // new section
- linesInSection = new ArrayList<String>();
- } else {
- linesInSection.add(line);
- int equalSignPos = line.indexOf('=');
- if (equalSignPos > 0) {
- String key = line.substring(0, equalSignPos).trim();
- String value = line.substring(equalSignPos+1).trim();
- if (key.toLowerCase().equals("default") && value.equals("1")) {
- foundDefaultSection = true;
+
+ line = line.trim();
+ if (line.startsWith("[") && line.endsWith("]")) {
+ if (foundDefaultSection) {
+ break;
+ }
+ // new section
+ linesInSection = new ArrayList<String>();
+ } else {
+ linesInSection.add(line);
+ int equalSignPos = line.indexOf('=');
+ if (equalSignPos > 0) {
+ String key = line.substring(0, equalSignPos).trim();
+ String value = line.substring(equalSignPos+1).trim();
+ if (key.toLowerCase().equals("default") && value.equals("1")) {
+ foundDefaultSection = true;
+ }
}
}
}
-
+ } finally {
+ reader.close();
}
if (!foundDefaultSection) {
diff --git a/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java b/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java
index 1f206a9..9555b00 100644
--- a/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java
+++ b/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java
@@ -87,52 +87,56 @@ public final class FirefoxPreferencesParser {
BufferedReader reader = new BufferedReader(new FileReader(prefsFile));
- while (true) {
- String line = reader.readLine();
- // end of stream
- if (line == null) {
- break;
- }
-
- line = line.trim();
- if (line.startsWith("user_pref")) {
-
- /*
- * each line is of the form: user_pref("key",value); where value
- * can be a string in double quotes or an integer or float or
- * boolean
- */
-
- boolean foundKey = false;
- boolean foundValue = false;
-
- // extract everything inside user_pref( and );
- String pref = line.substring("user_pref(".length(), line.length() - 2);
- // key and value are separated by a ,
- int firstCommaPos = pref.indexOf(',');
- if (firstCommaPos >= 1) {
- String key = pref.substring(0, firstCommaPos).trim();
- if (key.startsWith("\"") && key.endsWith("\"")) {
- key = key.substring(1, key.length() - 1);
- if (key.trim().length() > 0) {
- foundKey = true;
- }
- }
+ try {
+ while (true) {
+ String line = reader.readLine();
+ // end of stream
+ if (line == null) {
+ break;
+ }
- if (pref.length() > firstCommaPos + 1) {
- String value = pref.substring(firstCommaPos + 1).trim();
- if (value.startsWith("\"") && value.endsWith("\"")) {
- value = value.substring(1, value.length() - 1).trim();
+ line = line.trim();
+ if (line.startsWith("user_pref")) {
+
+ /*
+ * each line is of the form: user_pref("key",value); where value
+ * can be a string in double quotes or an integer or float or
+ * boolean
+ */
+
+ boolean foundKey = false;
+ boolean foundValue = false;
+
+ // extract everything inside user_pref( and );
+ String pref = line.substring("user_pref(".length(), line.length() - 2);
+ // key and value are separated by a ,
+ int firstCommaPos = pref.indexOf(',');
+ if (firstCommaPos >= 1) {
+ String key = pref.substring(0, firstCommaPos).trim();
+ if (key.startsWith("\"") && key.endsWith("\"")) {
+ key = key.substring(1, key.length() - 1);
+ if (key.trim().length() > 0) {
+ foundKey = true;
+ }
}
- foundValue = true;
- if (foundKey && foundValue) {
- // System.out.println("added (\"" + key + "\", \"" + value + "\")");
- prefs.put(key, value);
+ if (pref.length() > firstCommaPos + 1) {
+ String value = pref.substring(firstCommaPos + 1).trim();
+ if (value.startsWith("\"") && value.endsWith("\"")) {
+ value = value.substring(1, value.length() - 1).trim();
+ }
+ foundValue = true;
+
+ if (foundKey && foundValue) {
+ // System.out.println("added (\"" + key + "\", \"" + value + "\")");
+ prefs.put(key, value);
+ }
}
}
}
}
+ } finally {
+ reader.close();
}
if (JNLPRuntime.isDebug()) {
System.out.println("Read " + prefs.size() + " entries from Firefox's preferences");
diff --git a/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java b/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java
index d5e4ffb..e08feb2 100644
--- a/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java
+++ b/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java
@@ -140,11 +140,15 @@ public class RhinoBasedPacEvaluator implements PacEvaluator {
StringBuilder contents = null;
try {
String line = null;
- BufferedReader pacReader = new BufferedReader(new InputStreamReader(pacUrl.openStream()));
contents = new StringBuilder();
- while ((line = pacReader.readLine()) != null) {
- // System.out.println(line);
- contents = contents.append(line).append("\n");
+ BufferedReader pacReader = new BufferedReader(new InputStreamReader(pacUrl.openStream()));
+ try {
+ while ((line = pacReader.readLine()) != null) {
+ // System.out.println(line);
+ contents = contents.append(line).append("\n");
+ }
+ } finally {
+ pacReader.close();
}
} catch (IOException e) {
contents = null;
@@ -167,10 +171,14 @@ public class RhinoBasedPacEvaluator implements PacEvaluator {
}
InputStream in = cl.getResourceAsStream("net/sourceforge/jnlp/runtime/pac-funcs.js");
BufferedReader pacFuncsReader = new BufferedReader(new InputStreamReader(in));
- contents = new StringBuilder();
- while ((line = pacFuncsReader.readLine()) != null) {
- // System.out.println(line);
- contents = contents.append(line).append("\n");
+ try {
+ contents = new StringBuilder();
+ while ((line = pacFuncsReader.readLine()) != null) {
+ // System.out.println(line);
+ contents = contents.append(line).append("\n");
+ }
+ } finally {
+ pacFuncsReader.close();
}
} catch (IOException e) {
e.printStackTrace();
diff --git a/netx/net/sourceforge/jnlp/security/CertWarningPane.java b/netx/net/sourceforge/jnlp/security/CertWarningPane.java
index fcee971..383120d 100644
--- a/netx/net/sourceforge/jnlp/security/CertWarningPane.java
+++ b/netx/net/sourceforge/jnlp/security/CertWarningPane.java
@@ -252,7 +252,11 @@ public class CertWarningPane extends SecurityDialogPanel {
}
OutputStream os = new FileOutputStream(keyStoreFile);
- ks.store(os, KeyStores.getPassword());
+ try {
+ ks.store(os, KeyStores.getPassword());
+ } finally {
+ os.close();
+ }
if (JNLPRuntime.isDebug()) {
System.out.println("certificate is now permanently trusted");
}
diff --git a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
index ed71d0d..db4e0cb 100644
--- a/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
+++ b/netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
@@ -369,7 +369,11 @@ public class CertificatePane extends JPanel {
}
OutputStream os = new FileOutputStream(keyStoreFile);
- ks.store(os, KeyStores.getPassword());
+ try {
+ ks.store(os, KeyStores.getPassword());
+ } finally {
+ os.close();
+ }
repopulateTables();
} catch (Exception ex) {
// TODO: handle exception