From 8bfa014ab3825333b62107e4c8e32ac30c99e00d Mon Sep 17 00:00:00 2001 From: mguessan Date: Fri, 18 Sep 2009 12:17:57 +0000 Subject: [PATCH] Various fixes from FindBugs audit git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@731 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/AbstractServer.java | 13 +++++++++++-- src/java/davmail/exchange/ExchangeSession.java | 2 +- .../davmail/http/DavGatewayX509TrustManager.java | 6 +++++- src/java/davmail/ui/PasswordPromptDialog.java | 2 +- src/java/davmail/ui/tray/AwtGatewayTray.java | 4 ++-- src/java/davmail/ui/tray/FrameGatewayTray.java | 8 ++++---- src/java/davmail/ui/tray/SwtGatewayTray.java | 2 +- src/java/davmailmessages.properties | 3 ++- src/java/davmailmessages_fr.properties | 3 ++- 9 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/java/davmail/AbstractServer.java b/src/java/davmail/AbstractServer.java index 6d29cb3e..3dcca5b0 100644 --- a/src/java/davmail/AbstractServer.java +++ b/src/java/davmail/AbstractServer.java @@ -86,12 +86,13 @@ public abstract class AbstractServer extends Thread { if (keystoreFile == null || keystoreFile.length() == 0) { serverSocketFactory = ServerSocketFactory.getDefault(); } else { - + FileInputStream keyStoreInputStream = null; try { + keyStoreInputStream = new FileInputStream(keystoreFile); // keystore for keys and certificates // keystore and private keys should be password protected... KeyStore keystore = KeyStore.getInstance(Settings.getProperty("davmail.ssl.keystoreType")); - keystore.load(new FileInputStream(keystoreFile), + keystore.load(keyStoreInputStream, Settings.getProperty("davmail.ssl.keystorePass").toCharArray()); // KeyManagerFactory to create key managers @@ -113,6 +114,14 @@ public abstract class AbstractServer extends Thread { throw new DavMailException("LOG_EXCEPTION_CREATING_SSL_SERVER_SOCKET", getProtocolName(), port, ex.getMessage() == null ? ex.toString() : ex.getMessage()); } catch (GeneralSecurityException ex) { throw new DavMailException("LOG_EXCEPTION_CREATING_SSL_SERVER_SOCKET", getProtocolName(), port, ex.getMessage() == null ? ex.toString() : ex.getMessage()); + } finally { + if (keyStoreInputStream != null) { + try { + keyStoreInputStream.close(); + } catch (IOException exc) { + DavGatewayTray.warn(new BundleMessage("LOG_EXCEPTION_CLOSING_KEYSTORE_INPUT_STREAM"), exc); + } + } } } try { diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index 6170e2f1..2ad025e6 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -1697,7 +1697,7 @@ public class ExchangeSession { } private static int dumpIndex = 1; - private static String defaultSound = "Basso"; + private String defaultSound = "Basso"; protected void dumpICS(String icsBody, boolean fromServer, boolean after) { // additional setting to activate ICS dump (not available in GUI) diff --git a/src/java/davmail/http/DavGatewayX509TrustManager.java b/src/java/davmail/http/DavGatewayX509TrustManager.java index 8372cdd3..c3365c54 100644 --- a/src/java/davmail/http/DavGatewayX509TrustManager.java +++ b/src/java/davmail/http/DavGatewayX509TrustManager.java @@ -128,7 +128,11 @@ public class DavGatewayX509TrustManager implements X509TrustManager { while (!yes.equals(answer) && !no.equals(answer)) { System.out.println(buffer.toString()); try { - answer = inReader.readLine().toLowerCase(); + answer = inReader.readLine(); + if (answer == null) { + answer = no; + } + answer = answer.toLowerCase(); } catch (IOException e) { System.err.println(e); } diff --git a/src/java/davmail/ui/PasswordPromptDialog.java b/src/java/davmail/ui/PasswordPromptDialog.java index 059a9a13..33479f70 100644 --- a/src/java/davmail/ui/PasswordPromptDialog.java +++ b/src/java/davmail/ui/PasswordPromptDialog.java @@ -39,7 +39,7 @@ public class PasswordPromptDialog extends JDialog { * @return user password as char array */ public char[] getPassword() { - return password; + return password.clone(); } /** diff --git a/src/java/davmail/ui/tray/AwtGatewayTray.java b/src/java/davmail/ui/tray/AwtGatewayTray.java index 1c455bd9..110cc455 100644 --- a/src/java/davmail/ui/tray/AwtGatewayTray.java +++ b/src/java/davmail/ui/tray/AwtGatewayTray.java @@ -49,11 +49,11 @@ public class AwtGatewayTray implements DavGatewayTrayInterface { static SettingsFrame settingsFrame; ActionListener settingsListener; - protected static TrayIcon trayIcon; + static TrayIcon trayIcon; private static Image image; private static Image image2; private static Image inactiveImage; - protected static LogBrokerMonitor logBrokerMonitor; + LogBrokerMonitor logBrokerMonitor; private boolean isActive = true; /** diff --git a/src/java/davmail/ui/tray/FrameGatewayTray.java b/src/java/davmail/ui/tray/FrameGatewayTray.java index 4dbcb4d9..0fe09326 100644 --- a/src/java/davmail/ui/tray/FrameGatewayTray.java +++ b/src/java/davmail/ui/tray/FrameGatewayTray.java @@ -41,10 +41,10 @@ public class FrameGatewayTray implements DavGatewayTrayInterface { protected FrameGatewayTray() { } - protected static JFrame mainFrame; - protected static AboutFrame aboutFrame; - protected static SettingsFrame settingsFrame; - protected static LogBrokerMonitor logBrokerMonitor; + static JFrame mainFrame; + static AboutFrame aboutFrame; + static SettingsFrame settingsFrame; + LogBrokerMonitor logBrokerMonitor; private static JEditorPane errorArea; private static JLabel errorLabel; private static JEditorPane messageArea; diff --git a/src/java/davmail/ui/tray/SwtGatewayTray.java b/src/java/davmail/ui/tray/SwtGatewayTray.java index 60132b14..c4307a5f 100644 --- a/src/java/davmail/ui/tray/SwtGatewayTray.java +++ b/src/java/davmail/ui/tray/SwtGatewayTray.java @@ -50,7 +50,7 @@ public class SwtGatewayTray implements DavGatewayTrayInterface { private static Image inactiveImage; private static Display display; private static Shell shell; - private static LogBrokerMonitor logBrokerMonitor; + private LogBrokerMonitor logBrokerMonitor; private boolean isActive = true; private boolean isReady; diff --git a/src/java/davmailmessages.properties b/src/java/davmailmessages.properties index 688c3ff4..1adec753 100644 --- a/src/java/davmailmessages.properties +++ b/src/java/davmailmessages.properties @@ -226,4 +226,5 @@ UI_UNTRUSTED_CERTIFICATE=Server provided an untrusted certificate,\n you can cho UI_UNTRUSTED_CERTIFICATE_HTML=Server provided an untrusted certificate,
you can choose to accept or deny access
UI_VALID_FROM=Valid from UI_VALID_UNTIL=Valid until -MEETING_REQUEST=Meeting request \ No newline at end of file +MEETING_REQUEST=Meeting request +LOG_EXCEPTION_CLOSING_KEYSTORE_INPUT_STREAM=Exception closing keystore input stream \ No newline at end of file diff --git a/src/java/davmailmessages_fr.properties b/src/java/davmailmessages_fr.properties index f4bb0ac7..4c9e7865 100644 --- a/src/java/davmailmessages_fr.properties +++ b/src/java/davmailmessages_fr.properties @@ -226,4 +226,5 @@ MEETING_REQUEST=Invitation LOG_ACCESS_FORBIDDEN=Accès à {0} non autorisé: {1} LOG_LDAP_REQ_BIND_INVALID_CREDENTIALS=LDAP_REQ_BIND Utilisateur ou mot de passe invalide LOG_LDAP_REQ_BIND_SUCCESS=LOG_LDAP_REQ_BIND Authentification réussie -EXCEPTION_GET_FAILED=La requête GET a échoué avec le statut {0} à l''adresse {1} \ No newline at end of file +EXCEPTION_GET_FAILED=La requête GET a échoué avec le statut {0} à l''adresse {1} +LOG_EXCEPTION_CLOSING_KEYSTORE_INPUT_STREAM=Erreur à la fermeture du flux d''entrée du fichier de clés \ No newline at end of file