diff --git a/keyring.impl/src/org/netbeans/modules/keyring/kde/KWalletProvider.java b/keyring.impl/src/org/netbeans/modules/keyring/kde/KWallet5Provider.java copy from keyring.impl/src/org/netbeans/modules/keyring/kde/KWalletProvider.java copy to keyring.impl/src/org/netbeans/modules/keyring/kde/KWallet5Provider.java --- a/keyring.impl/src/org/netbeans/modules/keyring/kde/KWalletProvider.java +++ b/keyring.impl/src/org/netbeans/modules/keyring/kde/KWallet5Provider.java @@ -48,36 +48,37 @@ import java.io.InputStreamReader; import java.util.Arrays; import java.util.logging.Level; import java.util.logging.Logger; import org.netbeans.spi.keyring.KeyringProvider; import org.openide.util.lookup.ServiceProvider; /** * - * @author psychollek, ynov + * @author psychollek, ynov, hlavki */ -@ServiceProvider(service=KeyringProvider.class, position=99) -public class KWalletProvider implements KeyringProvider{ +@ServiceProvider(service=KeyringProvider.class, position=98) +public class KWallet5Provider implements KeyringProvider{ - private static final Logger logger = Logger.getLogger(KWalletProvider.class.getName()); + private static final Logger logger = Logger.getLogger(KWallet5Provider.class.getName()); private char[] handler = "0".toCharArray(); private boolean timeoutHappened = false; private char[] defaultLocalWallet = "kdewallet".toCharArray(); @Override public boolean enabled(){ if (Boolean.getBoolean("netbeans.keyring.no.native")) { logger.fine("native keyring integration disabled"); return false; } CommandResult result = runCommand("isEnabled"); - if(new String(result.retVal).equals("true")) { + logger.log(Level.INFO, "KWallet5 enabled: {0}", result); + if(new String(result.retVal).equals("true")) { return updateHandler(); - } + } return false; }; @Override public char[] read(String key){ if (updateHandler()){ CommandResult result = runCommand("readPassword", handler, getApplicationName(), key.toCharArray(), getApplicationName()); if (result.exitCode != 0){ @@ -153,18 +154,18 @@ public class KWalletProvider implements return true; } private CommandResult runCommand(String command,char[]... commandArgs) { String[] argv = new String[commandArgs.length+4]; argv[0] = "qdbus"; - argv[1] = "org.kde.kwalletd"; - argv[2] = "/modules/kwalletd"; + argv[1] = "org.kde.kwalletd5"; + argv[2] = "/modules/kwalletd5"; argv[3] = "org.kde.KWallet."+command; for (int i = 0; i < commandArgs.length; i++) { //unfortunatelly I cannot pass char[] to the exec in any way - so this poses a security issue with passwords in String() ! //TODO: find a way to avoid changing char[] into String argv[i+4] = new String(commandArgs[i]); } Runtime rt = Runtime.getRuntime(); String retVal = ""; @@ -225,12 +226,12 @@ public class KWalletProvider implements private int exitCode; private char[] retVal; private String errVal; public CommandResult(int exitCode, char[] retVal, String errVal) { this.exitCode = exitCode; this.retVal = retVal; this.errVal = errVal; - } + } } } diff --git a/keyring.impl/test/unit/src/org/netbeans/modules/keyring/kde/KWalletProviderTest.java b/keyring.impl/test/unit/src/org/netbeans/modules/keyring/kde/KWallet5ProviderTest.java copy from keyring.impl/test/unit/src/org/netbeans/modules/keyring/kde/KWalletProviderTest.java copy to keyring.impl/test/unit/src/org/netbeans/modules/keyring/kde/KWallet5ProviderTest.java --- a/keyring.impl/test/unit/src/org/netbeans/modules/keyring/kde/KWalletProviderTest.java +++ b/keyring.impl/test/unit/src/org/netbeans/modules/keyring/kde/KWallet5ProviderTest.java @@ -44,20 +44,20 @@ package org.netbeans.modules.keyring.kde import org.netbeans.modules.keyring.KeyringProviderTestBase; import org.netbeans.spi.keyring.KeyringProvider; /** * * @author psychollek */ -public class KWalletProviderTest extends KeyringProviderTestBase { +public class KWallet5ProviderTest extends KeyringProviderTestBase { - public KWalletProviderTest(String n) { + public KWallet5ProviderTest(String n) { super(n); } @Override protected KeyringProvider createProvider() { - return new KWalletProvider(); + return new KWallet5Provider(); } }