diff --git a/build.gradle b/build.gradle index 8251bb37..410663c8 100644 --- a/build.gradle +++ b/build.gradle @@ -48,6 +48,7 @@ targetCompatibility = 1.6 configurations.compile.transitive = false def bouncycastleVersion = "1.60" +def sshdVersion = "2.1.0" dependencies { signature 'org.codehaus.mojo.signature:java16:1.1@signature' @@ -62,7 +63,9 @@ dependencies { testCompile "junit:junit:4.11" testCompile 'org.spockframework:spock-core:1.0-groovy-2.4' testCompile "org.mockito:mockito-core:2.9.2" - testCompile "org.apache.sshd:sshd-core:1.2.0" + testCompile "org.apache.sshd:sshd-core:$sshdVersion" + testCompile "org.apache.sshd:sshd-sftp:$sshdVersion" + testCompile "org.apache.sshd:sshd-scp:$sshdVersion" testRuntime "ch.qos.logback:logback-classic:1.1.2" testCompile 'org.glassfish.grizzly:grizzly-http-server:2.3.17' testCompile 'org.apache.httpcomponents:httpclient:4.5.2' diff --git a/src/test/java/com/hierynomus/sshj/connection/channel/forwarded/RemotePortForwarderTest.java b/src/test/java/com/hierynomus/sshj/connection/channel/forwarded/RemotePortForwarderTest.java index dc05613d..eda13fab 100644 --- a/src/test/java/com/hierynomus/sshj/connection/channel/forwarded/RemotePortForwarderTest.java +++ b/src/test/java/com/hierynomus/sshj/connection/channel/forwarded/RemotePortForwarderTest.java @@ -54,7 +54,7 @@ public class RemotePortForwarderTest { @Before public void setUp() throws IOException { - fixture.getServer().setTcpipForwardingFilter(new AcceptAllForwardingFilter()); + fixture.getServer().setForwardingFilter(new AcceptAllForwardingFilter()); File file = httpServer.getDocRoot().newFile("index.html"); FileUtil.writeToFile(file, "

Hi!

"); } diff --git a/src/test/java/com/hierynomus/sshj/test/SshFixture.java b/src/test/java/com/hierynomus/sshj/test/SshFixture.java index ae2a0e2b..0db60596 100644 --- a/src/test/java/com/hierynomus/sshj/test/SshFixture.java +++ b/src/test/java/com/hierynomus/sshj/test/SshFixture.java @@ -20,12 +20,11 @@ import net.schmizz.sshj.DefaultConfig; import net.schmizz.sshj.SSHClient; import net.schmizz.sshj.util.gss.BogusGSSAuthenticator; import org.apache.sshd.common.NamedFactory; -import org.apache.sshd.common.keyprovider.AbstractClassLoadableResourceKeyPairProvider; -import org.apache.sshd.common.util.SecurityUtils; -import org.apache.sshd.server.Command; -import org.apache.sshd.server.CommandFactory; +import org.apache.sshd.common.keyprovider.ClassLoadableResourceKeyPairProvider; import org.apache.sshd.server.SshServer; import org.apache.sshd.server.auth.password.PasswordAuthenticator; +import org.apache.sshd.server.command.Command; +import org.apache.sshd.server.command.CommandFactory; import org.apache.sshd.server.scp.ScpCommandFactory; import org.apache.sshd.server.session.ServerSession; import org.apache.sshd.server.shell.ProcessShellFactory; @@ -35,7 +34,6 @@ import org.junit.rules.ExternalResource; import java.io.IOException; import java.net.ServerSocket; import java.util.Arrays; -import java.util.Collections; import java.util.concurrent.atomic.AtomicBoolean; /** @@ -108,8 +106,7 @@ public class SshFixture extends ExternalResource { private SshServer defaultSshServer() { SshServer sshServer = SshServer.setUpDefaultServer(); sshServer.setPort(randomPort()); - AbstractClassLoadableResourceKeyPairProvider fileKeyPairProvider = SecurityUtils.createClassLoadableResourceKeyPairProvider(); - fileKeyPairProvider.setResources(Collections.singletonList(hostkey)); + ClassLoadableResourceKeyPairProvider fileKeyPairProvider = new ClassLoadableResourceKeyPairProvider(hostkey); sshServer.setKeyPairProvider(fileKeyPairProvider); sshServer.setPasswordAuthenticator(new PasswordAuthenticator() { @Override diff --git a/src/test/java/com/hierynomus/sshj/userauth/method/AuthPasswordTest.java b/src/test/java/com/hierynomus/sshj/userauth/method/AuthPasswordTest.java index 1e61e45a..acf4c2ea 100644 --- a/src/test/java/com/hierynomus/sshj/userauth/method/AuthPasswordTest.java +++ b/src/test/java/com/hierynomus/sshj/userauth/method/AuthPasswordTest.java @@ -27,6 +27,7 @@ import org.apache.sshd.server.auth.UserAuth; import org.apache.sshd.server.auth.password.PasswordAuthenticator; import org.apache.sshd.server.auth.password.PasswordChangeRequiredException; import org.apache.sshd.server.auth.password.UserAuthPassword; +import org.apache.sshd.server.auth.password.UserAuthPasswordFactory; import org.apache.sshd.server.session.ServerSession; import org.junit.Before; import org.junit.Rule; @@ -50,20 +51,24 @@ public class AuthPasswordTest { @Before public void setPasswordAuthenticator() throws IOException { fixture.getServer().setUserAuthFactories(Collections.>singletonList(new NamedFactory() { - @Override public String getName() { - return "password"; + return UserAuthPasswordFactory.NAME; + } + + @Override + public UserAuth get() { + return new UserAuthPassword() { + @Override + protected Boolean handleClientPasswordChangeRequest(Buffer buffer, ServerSession session, String username, String oldPassword, String newPassword) throws Exception { + return session.getPasswordAuthenticator().authenticate(username, newPassword, session); + } + }; } @Override public UserAuth create() { - return new UserAuthPassword() { - @Override - protected Boolean handleClientPasswordChangeRequest(Buffer buffer, ServerSession session, String username, String oldPassword, String newPassword) throws Exception { - return checkPassword(buffer, session, username, newPassword); - } - }; + return get(); } })); fixture.getServer().setPasswordAuthenticator(new PasswordAuthenticator() { diff --git a/src/test/java/net/schmizz/sshj/keyprovider/OpenSSHKeyFileTest.java b/src/test/java/net/schmizz/sshj/keyprovider/OpenSSHKeyFileTest.java index 1c7a6745..2a4628a0 100644 --- a/src/test/java/net/schmizz/sshj/keyprovider/OpenSSHKeyFileTest.java +++ b/src/test/java/net/schmizz/sshj/keyprovider/OpenSSHKeyFileTest.java @@ -18,13 +18,13 @@ package net.schmizz.sshj.keyprovider; import com.hierynomus.sshj.userauth.certificate.Certificate; import com.hierynomus.sshj.userauth.keyprovider.OpenSSHKeyV1KeyFile; import net.schmizz.sshj.common.KeyType; +import net.schmizz.sshj.common.SecurityUtils; import net.schmizz.sshj.userauth.keyprovider.FileKeyProvider; import net.schmizz.sshj.userauth.keyprovider.OpenSSHKeyFile; import net.schmizz.sshj.userauth.password.PasswordFinder; import net.schmizz.sshj.userauth.password.PasswordUtils; import net.schmizz.sshj.userauth.password.Resource; import net.schmizz.sshj.util.KeyUtil; -import org.apache.sshd.common.util.SecurityUtils; import org.junit.Before; import org.junit.Test; @@ -197,7 +197,7 @@ public class OpenSSHKeyFileTest { checkOpenSSHKeyV1("src/test/resources/keytypes/ed25519_aes256cbc.pem", "foobar"); } - private void checkOpenSSHKeyV1(String key, String password) throws IOException { + private void checkOpenSSHKeyV1(String key, final String password) throws IOException { OpenSSHKeyV1KeyFile keyFile = new OpenSSHKeyV1KeyFile(); keyFile.init(new File(key), new PasswordFinder() { @Override