KARAF-3882: more cleanup, but stalled for lack of BouncyCastle when testing.
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/5fc3615b Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/5fc3615b Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/5fc3615b Branch: refs/heads/master Commit: 5fc3615b4f14e84b0b486e8c62bc951e0fb20b34 Parents: 85bff8a Author: Benson Margulies <[email protected]> Authored: Sun Jul 26 21:49:38 2015 -0400 Committer: Benson Margulies <[email protected]> Committed: Sun Jul 26 21:49:38 2015 -0400 ---------------------------------------------------------------------- .../java/org/apache/karaf/itests/SshKeyFormatTest.java | 1 + .../main/java/org/apache/karaf/shell/ssh/Activator.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/5fc3615b/itests/src/test/java/org/apache/karaf/itests/SshKeyFormatTest.java ---------------------------------------------------------------------- diff --git a/itests/src/test/java/org/apache/karaf/itests/SshKeyFormatTest.java b/itests/src/test/java/org/apache/karaf/itests/SshKeyFormatTest.java index 3e0e631..1fa1333 100644 --- a/itests/src/test/java/org/apache/karaf/itests/SshKeyFormatTest.java +++ b/itests/src/test/java/org/apache/karaf/itests/SshKeyFormatTest.java @@ -77,6 +77,7 @@ public class SshKeyFormatTest extends SshCommandTestBase { ret = session.waitFor(ClientSession.WAIT_AUTH | ClientSession.CLOSED | ClientSession.AUTHED, 0); } if ((ret & ClientSession.CLOSED) != 0) { + System.err.format("ret %d%n", ret); throw new Exception("Could not open SSH channel"); } session.close(true); http://git-wip-us.apache.org/repos/asf/karaf/blob/5fc3615b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java ---------------------------------------------------------------------- diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java index 63d51eb..66b55e8 100644 --- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java +++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/Activator.java @@ -18,6 +18,7 @@ */ package org.apache.karaf.shell.ssh; +import java.io.File; import java.io.IOException; import java.util.Arrays; @@ -161,8 +162,13 @@ public class Activator extends BaseActivator implements ManagedService { } keyPairProvider.setPath(hostKey); - keyPairProvider.setKeySize(keySize); - keyPairProvider.setAlgorithm(algorithm); + if (new File(hostKey).exists()) { + // do not trash key file if there's something wrong with it. + keyPairProvider.setOverwriteAllowed(false); + } else { + keyPairProvider.setKeySize(keySize); + keyPairProvider.setAlgorithm(algorithm); + } KarafJaasAuthenticator authenticator = new KarafJaasAuthenticator(sshRealm);
