You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2017/08/04 15:43:24 UTC
[1/2] karaf git commit: Cache keypair
Repository: karaf
Updated Branches:
refs/heads/master 6b160e852 -> d00f282b6
Cache keypair
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/45731559
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/45731559
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/45731559
Branch: refs/heads/master
Commit: 45731559f516a3ca759ab5f322c80274f8daf2eb
Parents: 6b160e8
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Fri Aug 4 17:42:55 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Fri Aug 4 17:42:55 2017 +0200
----------------------------------------------------------------------
.../karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/45731559/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java
----------------------------------------------------------------------
diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java
index 43728a3..df3e025 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/OpenSSHKeyPairProvider.java
@@ -32,6 +32,7 @@ import org.apache.sshd.common.keyprovider.AbstractKeyPairProvider;
public class OpenSSHKeyPairProvider extends AbstractKeyPairProvider {
private File keyFile;
private String password;
+ private KeyPair cachedKey;
public OpenSSHKeyPairProvider(File keyFile) {
this.keyFile = keyFile;
@@ -39,8 +40,12 @@ public class OpenSSHKeyPairProvider extends AbstractKeyPairProvider {
@Override
public Iterable<KeyPair> loadKeys() {
+ if (cachedKey != null) {
+ return singleton(cachedKey);
+ }
try (FileInputStream is = new FileInputStream(keyFile)) {
KeyPair kp = getKeyPair(is);
+ cachedKey = kp;
return singleton(kp);
} catch (Exception e) {
throw new RuntimeException(e);
[2/2] karaf git commit: Make sure authentication is also retried
Posted by cs...@apache.org.
Make sure authentication is also retried
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d00f282b
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d00f282b
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d00f282b
Branch: refs/heads/master
Commit: d00f282b6109cbebd5d799bac947f34ee9f4a80e
Parents: 4573155
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Fri Aug 4 17:43:18 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Fri Aug 4 17:43:18 2017 +0200
----------------------------------------------------------------------
.../karaf/itests/ssh/SshCommandTestBase.java | 18 +++++++++---------
.../org/apache/karaf/shell/ssh/Activator.java | 1 -
.../karaf/shell/ssh/keygenerator/PemWriter.java | 6 +++---
3 files changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/d00f282b/itests/src/test/java/org/apache/karaf/itests/ssh/SshCommandTestBase.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/ssh/SshCommandTestBase.java b/itests/src/test/java/org/apache/karaf/itests/ssh/SshCommandTestBase.java
index e9c628f..66339f9 100644
--- a/itests/src/test/java/org/apache/karaf/itests/ssh/SshCommandTestBase.java
+++ b/itests/src/test/java/org/apache/karaf/itests/ssh/SshCommandTestBase.java
@@ -111,18 +111,18 @@ public class SshCommandTestBase extends KarafTestSupport {
ConnectFuture future = client.connect(username, "localhost", Integer.parseInt(sshPort));
future.await();
session = future.getSession();
+ Set<ClientSessionEvent> ret = EnumSet.of(ClientSessionEvent.WAIT_AUTH);
+ while (ret.contains(ClientSessionEvent.WAIT_AUTH)) {
+ session.addPasswordIdentity(password);
+ session.auth().verify();
+ ret = session.waitFor(EnumSet.of(ClientSessionEvent.WAIT_AUTH, ClientSessionEvent.CLOSED, ClientSessionEvent.AUTHED), 0);
+ }
+ if (ret.contains(ClientSessionEvent.CLOSED)) {
+ throw new Exception("Could not open SSH channel");
+ }
return true;
});
- Set<ClientSessionEvent> ret = EnumSet.of(ClientSessionEvent.WAIT_AUTH);
- while (ret.contains(ClientSessionEvent.WAIT_AUTH)) {
- session.addPasswordIdentity(password);
- session.auth().verify();
- ret = session.waitFor(EnumSet.of(ClientSessionEvent.WAIT_AUTH, ClientSessionEvent.CLOSED, ClientSessionEvent.AUTHED), 0);
- }
- if (ret.contains(ClientSessionEvent.CLOSED)) {
- throw new Exception("Could not open SSH channel");
- }
channel = session.createChannel("shell");
PipedOutputStream pipe = new PipedOutputStream();
channel.setIn(new PipedInputStream(pipe));
http://git-wip-us.apache.org/repos/asf/karaf/blob/d00f282b/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 1006af7..584771f 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
@@ -166,7 +166,6 @@ public class Activator extends BaseActivator implements ManagedService {
Path serverKeyPath = Paths.get(hostKey);
if (!serverKeyPath.toFile().exists()) {
-
createServerKey(serverKeyPath.toFile(), algorithm, keySize);
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/d00f282b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/PemWriter.java
----------------------------------------------------------------------
diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/PemWriter.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/PemWriter.java
index 960570d..078a125 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/PemWriter.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/keygenerator/PemWriter.java
@@ -40,8 +40,8 @@ public class PemWriter {
Collection<Object> items = new ArrayList<>();
items.add(new PEMItem(kp.getPrivate().getEncoded(), "PRIVATE KEY"));
byte[] bytes = PEMUtil.encode(items);
- FileOutputStream os = new FileOutputStream(keyFile);
- os.write(bytes);
- os.close();
+ try (FileOutputStream os = new FileOutputStream(keyFile)) {
+ os.write(bytes);
+ }
}
}