Repository: camel
Updated Branches:
  refs/heads/master 5743f8342 -> bbbc5d5ca


CAMEL-11638: upgrade camel-ssh to use apache-sshd version 1.6.0


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/bbbc5d5c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/bbbc5d5c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/bbbc5d5c

Branch: refs/heads/master
Commit: bbbc5d5ca73b7611fba647fb93913af0a7a2efa4
Parents: 5743f83
Author: Babak Vahdat <bvah...@apache.org>
Authored: Fri Aug 18 19:45:53 2017 +0200
Committer: Babak Vahdat <bvah...@apache.org>
Committed: Fri Aug 18 19:45:53 2017 +0200

----------------------------------------------------------------------
 components/camel-ssh/pom.xml                    |  5 --
 .../ssh/ResourceHelperKeyPairProvider.java      |  4 +-
 .../camel/component/ssh/SshComponent.java       |  2 +-
 .../camel/component/ssh/SshConfiguration.java   |  9 +--
 .../apache/camel/component/ssh/SshConsumer.java |  2 +-
 .../apache/camel/component/ssh/SshEndpoint.java |  2 +-
 .../apache/camel/component/ssh/SshHelper.java   | 65 +++++++++++---------
 .../apache/camel/component/ssh/SshProducer.java |  2 +-
 .../ssh/BogusPasswordAuthenticator.java         | 28 ---------
 .../ssh/BogusPublickeyAuthenticator.java        | 30 ---------
 .../component/ssh/SshComponentConsumerTest.java |  4 +-
 .../ssh/SshComponentErrorHandlingTest.java      |  2 +-
 .../component/ssh/SshComponentProducerTest.java | 12 ++--
 .../component/ssh/SshComponentSecurityTest.java | 10 +--
 .../component/ssh/SshComponentTestSupport.java  | 10 +--
 parent/pom.xml                                  |  4 +-
 .../springboot/SshComponentConfiguration.java   |  2 +-
 17 files changed, 70 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-ssh/pom.xml b/components/camel-ssh/pom.xml
index 0a6172f..1f01baf 100644
--- a/components/camel-ssh/pom.xml
+++ b/components/camel-ssh/pom.xml
@@ -41,11 +41,6 @@
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-core</artifactId>
     </dependency>
-
-    <dependency>
-      <groupId>org.apache.mina</groupId>
-      <artifactId>mina-core</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.apache.sshd</groupId>
       <artifactId>sshd-core</artifactId>

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceHelperKeyPairProvider.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceHelperKeyPairProvider.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceHelperKeyPairProvider.java
index 0116e3d..35f9530 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceHelperKeyPairProvider.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/ResourceHelperKeyPairProvider.java
@@ -26,8 +26,8 @@ import java.util.List;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.util.ResourceHelper;
 import org.apache.sshd.common.keyprovider.AbstractKeyPairProvider;
-import org.apache.sshd.common.util.IoUtils;
-import org.apache.sshd.common.util.SecurityUtils;
+import org.apache.sshd.common.util.io.IoUtils;
+import org.apache.sshd.common.util.security.SecurityUtils;
 import org.bouncycastle.openssl.PEMDecryptorProvider;
 import org.bouncycastle.openssl.PEMEncryptedKeyPair;
 import org.bouncycastle.openssl.PEMKeyPair;

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
index 51a55a8..d11923e 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshComponent.java
@@ -22,7 +22,7 @@ import java.util.Map;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
 import org.apache.camel.spi.Metadata;
-import org.apache.sshd.common.KeyPairProvider;
+import org.apache.sshd.common.keyprovider.KeyPairProvider;
 
 /**
  * Represents the component that manages {@link SshEndpoint}.

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
index 54c6d84..11f2df9 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
@@ -23,8 +23,9 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.sshd.common.KeyPairProvider;
+import org.apache.camel.util.StringHelper;
+
+import org.apache.sshd.common.keyprovider.KeyPairProvider;
 
 @UriParams
 public class SshConfiguration implements Cloneable {
@@ -62,8 +63,8 @@ public class SshConfiguration implements Cloneable {
         String username = uri.getUserInfo();
         String pw = null;
         if (username != null && username.contains(":")) {
-            pw = ObjectHelper.after(username, ":");
-            username = ObjectHelper.before(username, ":");
+            pw = StringHelper.after(username, ":");
+            username = StringHelper.before(username, ":");
         }
         if (username != null) {
             setUsername(username);

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
index 3e07bb9..5558fca 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConsumer.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.ssh;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.impl.ScheduledPollConsumer;
-import org.apache.sshd.SshClient;
+import org.apache.sshd.client.SshClient;
 
 public class SshConsumer extends ScheduledPollConsumer {
     private final SshEndpoint endpoint;

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
index 6c16ec9..f20d5f5 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshEndpoint.java
@@ -22,7 +22,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.impl.ScheduledPollEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
-import org.apache.sshd.common.KeyPairProvider;
+import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshHelper.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshHelper.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshHelper.java
index 972bb8a..936241c 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshHelper.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshHelper.java
@@ -19,16 +19,19 @@ package org.apache.camel.component.ssh;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.security.KeyPair;
+import java.util.Arrays;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.camel.RuntimeCamelException;
-import org.apache.sshd.ClientChannel;
-import org.apache.sshd.ClientSession;
-import org.apache.sshd.SshClient;
+import org.apache.sshd.client.SshClient;
+import org.apache.sshd.client.channel.ClientChannel;
+import org.apache.sshd.client.channel.ClientChannelEvent;
 import org.apache.sshd.client.future.AuthFuture;
 import org.apache.sshd.client.future.ConnectFuture;
 import org.apache.sshd.client.future.OpenFuture;
-import org.apache.sshd.common.KeyPairProvider;
+import org.apache.sshd.client.session.ClientSession;
+import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -40,23 +43,25 @@ public final class SshHelper {
     }
     
     public static SshResult sendExecCommand(Map<String, Object> headers, 
String command, SshEndpoint endpoint, SshClient client) throws Exception {
-        SshResult result = null;
-        
         SshConfiguration configuration = endpoint.getConfiguration();
 
         if (configuration == null) {
             throw new IllegalStateException("Configuration must be set");
         }
 
-        ConnectFuture connectFuture = client.connect(null, 
configuration.getHost(), configuration.getPort());
+        String userName = configuration.getUsername();
+        Object userNameHeaderObj = headers.get(SshConstants.USERNAME_HEADER);
+        if (userNameHeaderObj != null && userNameHeaderObj instanceof String) {
+            userName = (String) headers.get(SshConstants.USERNAME_HEADER);
+        }
+
+        ConnectFuture connectFuture = client.connect(userName, 
configuration.getHost(), configuration.getPort());
 
-        // Wait getTimeout milliseconds for connect operation to complete
+        // wait getTimeout milliseconds for connect operation to complete
         connectFuture.await(configuration.getTimeout());
 
         if (!connectFuture.isDone() || !connectFuture.isConnected()) {
-            final String msg = "Failed to connect to " + 
configuration.getHost() + ":" + configuration.getPort() + " within timeout " + 
configuration.getTimeout() + "ms";
-            LOG.debug(msg);
-            throw new RuntimeCamelException(msg);
+            throw new RuntimeCamelException("Failed to connect to " + 
configuration.getHost() + ":" + configuration.getPort() + " within timeout " + 
configuration.getTimeout() + "ms");
         }
 
         LOG.debug("Connected to {}:{}", configuration.getHost(), 
configuration.getPort());
@@ -76,29 +81,27 @@ public final class SshHelper {
             } else {
                 keyPairProvider = configuration.getKeyPairProvider();
             }
-    
+
+            // either provide a keypair or password identity first
             if (keyPairProvider != null) {
-                LOG.debug("Attempting to authenticate username '{}' using 
Key...", configuration.getUsername());
+                LOG.debug("Attempting to authenticate username '{}' using a 
key identity", userName);
                 KeyPair pair = 
keyPairProvider.loadKey(configuration.getKeyType());
-                authResult = 
session.authPublicKey(configuration.getUsername(), pair);
+                session.addPublicKeyIdentity(pair);
             } else {
-                String userName = configuration.getUsername();
                 String password = configuration.getPassword();
-                
-                Object userNameHeaderObj = 
headers.get(SshConstants.USERNAME_HEADER);
-                if (userNameHeaderObj != null && userNameHeaderObj instanceof 
String) {
-                    userName = (String) 
headers.get(SshConstants.USERNAME_HEADER);
-                }
-                
+
                 Object passwordHeaderObj = 
headers.get(SshConstants.PASSWORD_HEADER);
                 if (passwordHeaderObj != null && passwordHeaderObj instanceof 
String) {
                     password = (String) 
headers.get(SshConstants.PASSWORD_HEADER);
                 }
-                
-                LOG.debug("Attempting to authenticate username '{}' using 
Password...", userName);
-                authResult = session.authPassword(userName, password);
+
+                LOG.debug("Attempting to authenticate username '{}' using a 
password identity", userName);
+                session.addPasswordIdentity(password);
             }
-    
+
+            // now start the authentication process
+            authResult = session.auth();
+
             authResult.await(configuration.getTimeout());
     
             if (!authResult.isDone() || authResult.isFailure()) {
@@ -118,12 +121,14 @@ public final class SshHelper {
             channel.setErr(err);
             OpenFuture openFuture = channel.open();
             openFuture.await(configuration.getTimeout());
+            SshResult result = null;
             if (openFuture.isOpened()) {
-                channel.waitFor(ClientChannel.CLOSED, 0);
-                result = new SshResult(command, channel.getExitStatus(),
-                        new ByteArrayInputStream(out.toByteArray()),
-                        new ByteArrayInputStream(err.toByteArray()));
-    
+                Set<ClientChannelEvent> events = 
channel.waitFor(Arrays.asList(ClientChannelEvent.CLOSED), 0);
+                if (!events.contains(ClientChannelEvent.TIMEOUT)) {
+                    result = new SshResult(command, channel.getExitStatus(),
+                            new ByteArrayInputStream(out.toByteArray()),
+                            new ByteArrayInputStream(err.toByteArray()));
+                }
             }
             return result;
         } finally {

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
index 9a731cf..f2b82f8 100644
--- 
a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
+++ 
b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshProducer.java
@@ -22,7 +22,7 @@ import org.apache.camel.CamelExchangeException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.impl.DefaultProducer;
-import org.apache.sshd.SshClient;
+import org.apache.sshd.client.SshClient;
 
 public class SshProducer extends DefaultProducer {
     private SshEndpoint endpoint;

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPasswordAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPasswordAuthenticator.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPasswordAuthenticator.java
deleted file mode 100644
index 958c8ab..0000000
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPasswordAuthenticator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.ssh;
-
-import org.apache.sshd.server.PasswordAuthenticator;
-import org.apache.sshd.server.session.ServerSession;
-
-public class BogusPasswordAuthenticator implements PasswordAuthenticator {
-
-    @Override
-    public boolean authenticate(String username, String password, 
ServerSession session) {
-        return username != null && username.equals(password);
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPublickeyAuthenticator.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPublickeyAuthenticator.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPublickeyAuthenticator.java
deleted file mode 100644
index e4d9222..0000000
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/BogusPublickeyAuthenticator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.ssh;
-
-import java.security.PublicKey;
-
-import org.apache.sshd.server.PublickeyAuthenticator;
-import org.apache.sshd.server.session.ServerSession;
-
-public class BogusPublickeyAuthenticator implements PublickeyAuthenticator {
-
-    @Override
-    public boolean authenticate(String username, PublicKey key, ServerSession 
session) {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/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 fcea813..f1e01d4 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
@@ -26,9 +26,9 @@ public class SshComponentConsumerTest extends 
SshComponentTestSupport {
     public void testPollingConsumer() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMinimumMessageCount(1);
-        mock.expectedBodiesReceived("test\r");
+        mock.expectedBodiesReceived("test");
         mock.expectedHeaderReceived(SshResult.EXIT_VALUE, 0);
-        mock.expectedHeaderReceived(SshResult.STDERR, "Error:test\r");
+        mock.expectedHeaderReceived(SshResult.STDERR, "Error:test");
         assertMockEndpointsSatisfied();
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentErrorHandlingTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentErrorHandlingTest.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentErrorHandlingTest.java
index d6808fd..d72af09 100644
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentErrorHandlingTest.java
+++ 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentErrorHandlingTest.java
@@ -27,7 +27,7 @@ public class SshComponentErrorHandlingTest extends 
SshComponentTestSupport {
 
     @Test
     public void testRedelivery() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mockError = getMockEndpoint("mock:error");
         mockError.expectedMinimumMessageCount(0);

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentProducerTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentProducerTest.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentProducerTest.java
index b781e33..bb11120 100644
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentProducerTest.java
+++ 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentProducerTest.java
@@ -28,13 +28,13 @@ public class SshComponentProducerTest extends 
SshComponentTestSupport {
 
     @Test
     public void testProducer() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mock = getMockEndpoint("mock:password");
         mock.expectedMinimumMessageCount(1);
         mock.expectedBodiesReceived(msg);
         mock.expectedHeaderReceived(SshResult.EXIT_VALUE, 0);
-        mock.expectedHeaderReceived(SshResult.STDERR, "Error:test\n");
+        mock.expectedHeaderReceived(SshResult.STDERR, "Error:test");
 
         template.sendBody("direct:ssh", msg);
 
@@ -43,7 +43,7 @@ public class SshComponentProducerTest extends 
SshComponentTestSupport {
 
     @Test
     public void testReconnect() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mock = getMockEndpoint("mock:password");
         mock.expectedMinimumMessageCount(1);
@@ -67,7 +67,7 @@ public class SshComponentProducerTest extends 
SshComponentTestSupport {
 
     @Test
     public void testConnectionTimeout() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mock = getMockEndpoint("mock:password");
         mock.expectedMinimumMessageCount(0);
@@ -85,13 +85,13 @@ public class SshComponentProducerTest extends 
SshComponentTestSupport {
     
     @Test
     public void testCredentialsAsHeaders() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mock = getMockEndpoint("mock:password");
         mock.expectedMinimumMessageCount(1);
         mock.expectedBodiesReceived(msg);
         mock.expectedHeaderReceived(SshResult.EXIT_VALUE, 0);
-        mock.expectedHeaderReceived(SshResult.STDERR, "Error:test\n");
+        mock.expectedHeaderReceived(SshResult.STDERR, "Error:test");
         
         Map<String, Object> headers = new HashMap<String, Object>();
         headers.put(SshConstants.USERNAME_HEADER, "smx");

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentSecurityTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentSecurityTest.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentSecurityTest.java
index cd5c2df..9a3fb9d 100644
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentSecurityTest.java
+++ 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentSecurityTest.java
@@ -16,17 +16,19 @@
  */
 package org.apache.camel.component.ssh;
 
+import java.nio.file.Paths;
+
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.sshd.common.KeyPairProvider;
 import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
+import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.junit.Test;
 
 public class SshComponentSecurityTest extends SshComponentTestSupport {
 
     @Test
     public void testRsa() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mock = getMockEndpoint("mock:rsa");
         mock.expectedMinimumMessageCount(1);
@@ -39,7 +41,7 @@ public class SshComponentSecurityTest extends 
SshComponentTestSupport {
 
     @Test
     public void testRsaFile() throws Exception {
-        final String msg = "test\n";
+        final String msg = "test";
 
         MockEndpoint mock = getMockEndpoint("mock:rsaFile");
         mock.expectedMinimumMessageCount(1);
@@ -63,7 +65,7 @@ public class SshComponentSecurityTest extends 
SshComponentTestSupport {
                 sshComponent.setHost("localhost");
                 sshComponent.setPort(port);
                 sshComponent.setUsername("smx");
-                sshComponent.setKeyPairProvider(new FileKeyPairProvider(new 
String[]{"src/test/resources/hostkey.pem"}));
+                sshComponent.setKeyPairProvider(new 
FileKeyPairProvider(Paths.get("src/test/resources/hostkey.pem")));
                 sshComponent.setKeyType(KeyPairProvider.SSH_RSA);
 
                 getContext().addComponent("ssh-rsa", sshComponent);

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
index 3a2eb1d..93a67d7 100644
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
+++ 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
@@ -16,10 +16,12 @@
  */
 package org.apache.camel.component.ssh;
 
+import java.nio.file.Paths;
+
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.sshd.SshServer;
 import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
+import org.apache.sshd.server.SshServer;
 
 public class SshComponentTestSupport extends CamelTestSupport {
     protected SshServer sshd;
@@ -31,10 +33,10 @@ public class SshComponentTestSupport extends 
CamelTestSupport {
 
         sshd = SshServer.setUpDefaultServer();
         sshd.setPort(port);
-        sshd.setKeyPairProvider(new FileKeyPairProvider(new 
String[]{"src/test/resources/hostkey.pem"}));
+        sshd.setKeyPairProvider(new 
FileKeyPairProvider(Paths.get("src/test/resources/hostkey.pem")));
         sshd.setCommandFactory(new TestEchoCommandFactory());
-        sshd.setPasswordAuthenticator(new BogusPasswordAuthenticator());
-        sshd.setPublickeyAuthenticator(new BogusPublickeyAuthenticator());
+        sshd.setPasswordAuthenticator((username, password, session) -> true);
+        sshd.setPublickeyAuthenticator((username, key, session) -> true);
         sshd.start();
 
         super.setUp();

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 4025825..95d6841 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -94,7 +94,7 @@
     <bndlib-version>2.4.0</bndlib-version>
     <bsh-version>2.0b6</bsh-version>
     <boon-version>0.34</boon-version>
-    <bouncycastle-version>1.55</bouncycastle-version>
+    <bouncycastle-version>1.57</bouncycastle-version>
     <boxjavalibv2.version>3.2.1</boxjavalibv2.version>
     <box-java-sdk-version>2.1.1</box-java-sdk-version>
     <braintree-gateway-version>2.63.0</braintree-gateway-version>
@@ -662,7 +662,7 @@
     <squareup-okio-bundle-version>1.13.0_1</squareup-okio-bundle-version>
     
<squareup-retrofit-bundle-version>1.9.0_1</squareup-retrofit-bundle-version>
     
<squareup-retrofit2-bundle-version>2.3.0_1</squareup-retrofit2-bundle-version>
-    <sshd-version>0.14.0</sshd-version>
+    <sshd-version>1.6.0</sshd-version>
     <stompjms-version>1.19</stompjms-version>
     <swagger-scala-version>1.3.12</swagger-scala-version>
     <swagger-scala-guava-version>15.0</swagger-scala-guava-version>

http://git-wip-us.apache.org/repos/asf/camel/blob/bbbc5d5c/platforms/spring-boot/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/platforms/spring-boot/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
index 3cdff1f..5a09a0c 100644
--- 
a/platforms/spring-boot/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
@@ -18,7 +18,7 @@ package org.apache.camel.component.ssh.springboot;
 
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
-import org.apache.sshd.common.KeyPairProvider;
+import org.apache.sshd.common.keyprovider.KeyPairProvider;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import 
org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
 import org.springframework.boot.context.properties.NestedConfigurationProperty;

Reply via email to