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")