Author: nextgens
Date: 2008-01-21 12:30:14 +0000 (Mon, 21 Jan 2008)
New Revision: 17182
Modified:
trunk/freenet/src/freenet/crypt/SSL.java
Log:
Don't leave the closure of the FD up to the GC
Modified: trunk/freenet/src/freenet/crypt/SSL.java
===================================================================
--- trunk/freenet/src/freenet/crypt/SSL.java 2008-01-21 12:25:09 UTC (rev
17181)
+++ trunk/freenet/src/freenet/crypt/SSL.java 2008-01-21 12:30:14 UTC (rev
17182)
@@ -36,6 +36,7 @@
import freenet.support.api.BooleanCallback;
import freenet.support.api.StringCallback;
+import freenet.support.io.Closer;
import sun.security.x509.X500Name;
import sun.security.x509.CertAndKeyGen;
@@ -49,10 +50,6 @@
private static String keyPass;
private static String version;
- private SSL() {
-
- }
-
/**
* Call this function before ask ServerSocket
* @return True is ssl is available
@@ -218,8 +215,9 @@
if(enable) {
// A keystore is where keys and certificates are kept
// Both the keystore and individual private keys should
be password protected
+ FileInputStream fis = null;
try {
- FileInputStream fis = new
FileInputStream(keyStore);
+ fis = new FileInputStream(keyStore);
keystore.load(fis, keyStorePass.toCharArray());
} catch (FileNotFoundException fnfe) {
//If keystore not exist, create keystore and
server certificat
@@ -240,6 +238,8 @@
keystore.setKeyEntry("freenet", privKey,
keyPass.toCharArray(), chain);
storeKeyStore();
createSSLContext();
+ } finally {
+ Closer.close(fis);
}
}
}