From 8648cde81105326e9403e667378e699e201cf54d Mon Sep 17 00:00:00 2001 From: Ralph Plawetzki Date: Sat, 6 Jul 2024 09:31:12 +0200 Subject: [PATCH 1/3] Guard isSupported() --- .../linux/keychain/SecretServiceKeychainAccess.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java b/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java index 500c212..3948d5e 100644 --- a/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java +++ b/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java @@ -16,7 +16,7 @@ @OperatingSystem(OperatingSystem.Value.LINUX) public class SecretServiceKeychainAccess implements KeychainAccessProvider { - private static Logger LOG = LoggerFactory.getLogger(SecretServiceKeychainAccess.class); + private static final Logger LOG = LoggerFactory.getLogger(SecretServiceKeychainAccess.class); private final String LABEL_FOR_SECRET_IN_KEYRING = "Cryptomator"; @@ -29,6 +29,9 @@ public String displayName() { public boolean isSupported() { try { return SimpleCollection.isAvailable(); + } catch (RuntimeException e) { + LOG.warn("Initializing secret service keychain access failed", e); + return false; } catch (ExceptionInInitializerError e) { LOG.warn("Initializing secret service keychain access failed", e.getException()); return false; From 2d4d5b424a100246edbf6f985ad23e28c68be048 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 8 Jul 2024 13:28:57 +0200 Subject: [PATCH 2/3] Catch runtime exception and initError in same catch block. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../linux/keychain/SecretServiceKeychainAccess.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java b/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java index 3948d5e..8881bab 100644 --- a/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java +++ b/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java @@ -29,8 +29,8 @@ public String displayName() { public boolean isSupported() { try { return SimpleCollection.isAvailable(); - } catch (RuntimeException e) { - LOG.warn("Initializing secret service keychain access failed", e); + } catch (RuntimeException | ExceptionInInitializerError e) { + LOG.warn("Initializing secret service keychain access failed", e instanceof ExceptionInInitializerError ? e.getException() : e); return false; } catch (ExceptionInInitializerError e) { LOG.warn("Initializing secret service keychain access failed", e.getException()); From ab4c4d66a27e3b774f5a92eac36e98759af86a68 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 8 Jul 2024 13:34:55 +0200 Subject: [PATCH 3/3] fix previous commit --- .../linux/keychain/SecretServiceKeychainAccess.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java b/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java index 8881bab..01391c5 100644 --- a/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java +++ b/src/main/java/org/cryptomator/linux/keychain/SecretServiceKeychainAccess.java @@ -30,10 +30,7 @@ public boolean isSupported() { try { return SimpleCollection.isAvailable(); } catch (RuntimeException | ExceptionInInitializerError e) { - LOG.warn("Initializing secret service keychain access failed", e instanceof ExceptionInInitializerError ? e.getException() : e); - return false; - } catch (ExceptionInInitializerError e) { - LOG.warn("Initializing secret service keychain access failed", e.getException()); + LOG.warn("Initializing secret service keychain access failed", e instanceof ExceptionInInitializerError errInit ? errInit.getException() : e); return false; } }