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;