You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bv...@apache.org on 2017/08/22 15:28:28 UTC
camel git commit: CAMEL-11611: polish
Repository: camel
Updated Branches:
refs/heads/master 23d39d469 -> 325d28b46
CAMEL-11611: polish
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/325d28b4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/325d28b4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/325d28b4
Branch: refs/heads/master
Commit: 325d28b46b83eac22ba5b1231e5c870a7ff3948e
Parents: 23d39d4
Author: Babak Vahdat <bv...@apache.org>
Authored: Tue Aug 22 17:28:21 2017 +0200
Committer: Babak Vahdat <bv...@apache.org>
Committed: Tue Aug 22 17:28:21 2017 +0200
----------------------------------------------------------------------
.../ssh/ResourceBasedSSHKeyVerifier.java | 38 ++++++--------------
.../component/ssh/SshComponentConsumerTest.java | 2 +-
.../ssh/SshComponentKnownHostTest.java | 6 ++--
3 files changed, 14 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/325d28b4/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceBasedSSHKeyVerifier.java
----------------------------------------------------------------------
diff --git a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceBasedSSHKeyVerifier.java b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceBasedSSHKeyVerifier.java
index 508e16e..5924b4b 100644
--- a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceBasedSSHKeyVerifier.java
+++ b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceBasedSSHKeyVerifier.java
@@ -16,14 +16,11 @@
*/
package org.apache.camel.component.ssh;
-import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.math.BigInteger;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
-import java.nio.charset.Charset;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;
@@ -32,6 +29,7 @@ import java.util.LinkedList;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ResourceHelper;
import org.apache.sshd.client.keyverifier.ServerKeyVerifier;
import org.apache.sshd.client.session.ClientSession;
@@ -51,9 +49,7 @@ public class ResourceBasedSSHKeyVerifier implements ServerKeyVerifier {
private String knownHostsResource;
public ResourceBasedSSHKeyVerifier(CamelContext camelContext, String knownHostsResource) {
- this.camelContext = camelContext;
- this.knownHostsResource = knownHostsResource;
- this.failOnUnknownHost = false;
+ this(camelContext, knownHostsResource, false);
}
public ResourceBasedSSHKeyVerifier(CamelContext camelContext, String knownHostsResource,
@@ -81,13 +77,7 @@ public class ResourceBasedSSHKeyVerifier implements ServerKeyVerifier {
} catch (IOException ioException) {
log.debug(String.format("Could not find known_hosts file %s", knownHostsResource), ioException);
} finally {
- if (knownHostsInputStream != null) {
- try {
- knownHostsInputStream.close();
- } catch (IOException e) {
- // Ignore
- }
- }
+ IOHelper.close(knownHostsInputStream);
}
if (failOnUnknownHost) {
log.warn("Could not find matching key for client session, connection will fail due to configuration");
@@ -99,11 +89,14 @@ public class ResourceBasedSSHKeyVerifier implements ServerKeyVerifier {
}
}
- private PublicKey findKeyForServerToken(InputStream knownHostsInputStream, List<String> possibleTokens)
- throws IOException {
- List<String> knowHostsLines = readInputStreamToStringList(knownHostsInputStream);
+ private PublicKey findKeyForServerToken(InputStream knownHostsInputStream, List<String> possibleTokens) {
+ String knowHostsLines = camelContext.getTypeConverter().convertTo(String.class, knownHostsInputStream);
+ if (knowHostsLines == null) {
+ log.warn("Could not read from the known_hosts file input stream");
+ return null;
+ }
- for (String s : knowHostsLines) {
+ for (String s : knowHostsLines.split("\n")) {
String[] parts = s.split(" ");
if (parts.length != 3) {
log.warn("Found malformed entry in known_hosts file");
@@ -124,17 +117,6 @@ public class ResourceBasedSSHKeyVerifier implements ServerKeyVerifier {
return null;
}
- private List<String> readInputStreamToStringList(InputStream knownHostsInputStream) throws IOException {
- List<String> returnList = new LinkedList<>();
- String line;
- BufferedReader bufferedReader = new BufferedReader(
- new InputStreamReader(knownHostsInputStream, Charset.forName("UTF-8")));
- while ((line = bufferedReader.readLine()) != null) {
- returnList.add(line);
- }
- return returnList;
- }
-
private List<String> getKnownHostsFileTokensForSocketAddress(SocketAddress remoteAddress) {
List<String> returnList = new LinkedList<>();
if (remoteAddress instanceof InetSocketAddress) {
http://git-wip-us.apache.org/repos/asf/camel/blob/325d28b4/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentConsumerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentConsumerTest.java b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentConsumerTest.java
index f1e01d4..2b843c9 100644
--- a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentConsumerTest.java
+++ b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentConsumerTest.java
@@ -37,7 +37,7 @@ public class SshComponentConsumerTest extends SshComponentTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0D")
+ from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0A")
.to("mock:result");
}
};
http://git-wip-us.apache.org/repos/asf/camel/blob/325d28b4/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentKnownHostTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentKnownHostTest.java b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentKnownHostTest.java
index 06a4242..0dd0e7c 100644
--- a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentKnownHostTest.java
+++ b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentKnownHostTest.java
@@ -98,13 +98,13 @@ public class SshComponentKnownHostTest extends SshComponentTestSupport {
public void configure() {
onException(Exception.class).handled(true).to("mock:error");
- from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0D&knownHostsResource=classpath:known_hosts_valid&failOnUnknownHost=true")
+ from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0A&knownHostsResource=classpath:known_hosts_valid&failOnUnknownHost=true")
.to("mock:result");
- from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0D&knownHostsResource=classpath:known_hosts_invalid&failOnUnknownHost=true")
+ from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0A&knownHostsResource=classpath:known_hosts_invalid&failOnUnknownHost=true")
.to("mock:resultInvalid");
- from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0D&knownHostsResource=classpath:known_hosts_invalid")
+ from("ssh://smx:smx@localhost:" + port + "?useFixedDelay=true&delay=40000&pollCommand=test%0A&knownHostsResource=classpath:known_hosts_invalid")
.to("mock:resultInvalidWarnOnly");
from("direct:ssh")