diff --git a/WORKSPACE b/WORKSPACE index dca68d3bc2..abaa3c174d 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -740,13 +740,10 @@ maven_jar( sha1 = "d0c46320fbc07be3a24eb13a56cee4e3d38e0c75", ) -# TODO(davido): Remove exlusion of file system provider, when this issue is fixed: -# https://issues.apache.org/jira/browse/SSHD-736 maven_jar( name = "sshd", - artifact = "org.apache.sshd:sshd-core:1.7.0", - exclude = ["META-INF/services/java.nio.file.spi.FileSystemProvider"], - sha1 = "2e8b14f6d841b098e46bf407b6fdccab4c19fa41", + artifact = "org.apache.sshd:sshd-core:2.0.0", + sha1 = "f4275079a2463cfd2bf1548a80e1683288a8e86b", ) maven_jar( @@ -757,8 +754,14 @@ maven_jar( maven_jar( name = "mina-core", - artifact = "org.apache.mina:mina-core:2.0.16", - sha1 = "f720f17643eaa7b0fec07c1d7f6272972c02bba4", + artifact = "org.apache.mina:mina-core:2.0.17", + sha1 = "7e10ec974760436d931f3e58be507d1957bcc8db", +) + +maven_jar( + name = "sshd-mina", + artifact = "org.apache.sshd:sshd-mina:2.0.0", + sha1 = "50f2669312494f6c1996d8bd0d266c1fca7be6f6", ) maven_jar( diff --git a/java/com/google/gerrit/sshd/AliasCommand.java b/java/com/google/gerrit/sshd/AliasCommand.java index cb61651475..567cf00735 100644 --- a/java/com/google/gerrit/sshd/AliasCommand.java +++ b/java/com/google/gerrit/sshd/AliasCommand.java @@ -26,8 +26,8 @@ import java.util.LinkedList; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; -import org.apache.sshd.server.Command; import org.apache.sshd.server.Environment; +import org.apache.sshd.server.command.Command; /** Command that executes some other command. */ public class AliasCommand extends BaseCommand { diff --git a/java/com/google/gerrit/sshd/AliasCommandProvider.java b/java/com/google/gerrit/sshd/AliasCommandProvider.java index 085b6d6aaa..58e255920a 100644 --- a/java/com/google/gerrit/sshd/AliasCommandProvider.java +++ b/java/com/google/gerrit/sshd/AliasCommandProvider.java @@ -17,7 +17,7 @@ package com.google.gerrit.sshd; import com.google.gerrit.server.permissions.PermissionBackend; import com.google.inject.Inject; import com.google.inject.Provider; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; /** Resolves an alias to another command. */ public class AliasCommandProvider implements Provider { diff --git a/java/com/google/gerrit/sshd/BaseCommand.java b/java/com/google/gerrit/sshd/BaseCommand.java index dae9016d9b..6aac2d326d 100644 --- a/java/com/google/gerrit/sshd/BaseCommand.java +++ b/java/com/google/gerrit/sshd/BaseCommand.java @@ -54,9 +54,9 @@ import java.util.concurrent.Future; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.atomic.AtomicReference; import org.apache.sshd.common.SshException; -import org.apache.sshd.server.Command; import org.apache.sshd.server.Environment; import org.apache.sshd.server.ExitCallback; +import org.apache.sshd.server.command.Command; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.Option; diff --git a/java/com/google/gerrit/sshd/CommandFactoryProvider.java b/java/com/google/gerrit/sshd/CommandFactoryProvider.java index 1fdf7d8203..3fb2ed411b 100644 --- a/java/com/google/gerrit/sshd/CommandFactoryProvider.java +++ b/java/com/google/gerrit/sshd/CommandFactoryProvider.java @@ -39,11 +39,11 @@ import java.util.concurrent.Future; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; -import org.apache.sshd.server.Command; -import org.apache.sshd.server.CommandFactory; import org.apache.sshd.server.Environment; import org.apache.sshd.server.ExitCallback; import org.apache.sshd.server.SessionAware; +import org.apache.sshd.server.command.Command; +import org.apache.sshd.server.command.CommandFactory; import org.apache.sshd.server.session.ServerSession; import org.eclipse.jgit.lib.Config; diff --git a/java/com/google/gerrit/sshd/CommandModule.java b/java/com/google/gerrit/sshd/CommandModule.java index 93aab0bb45..ac0705679e 100644 --- a/java/com/google/gerrit/sshd/CommandModule.java +++ b/java/com/google/gerrit/sshd/CommandModule.java @@ -16,7 +16,7 @@ package com.google.gerrit.sshd; import com.google.gerrit.lifecycle.LifecycleModule; import com.google.inject.binder.LinkedBindingBuilder; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; /** Module to register commands in the SSH daemon. */ public abstract class CommandModule extends LifecycleModule { diff --git a/java/com/google/gerrit/sshd/CommandProvider.java b/java/com/google/gerrit/sshd/CommandProvider.java index 61c36cbe53..cf2e84c44b 100644 --- a/java/com/google/gerrit/sshd/CommandProvider.java +++ b/java/com/google/gerrit/sshd/CommandProvider.java @@ -15,7 +15,7 @@ package com.google.gerrit.sshd; import com.google.inject.Provider; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; final class CommandProvider { diff --git a/java/com/google/gerrit/sshd/Commands.java b/java/com/google/gerrit/sshd/Commands.java index 43d2c5033a..b6d3401955 100644 --- a/java/com/google/gerrit/sshd/Commands.java +++ b/java/com/google/gerrit/sshd/Commands.java @@ -17,7 +17,7 @@ package com.google.gerrit.sshd; import com.google.auto.value.AutoAnnotation; import com.google.inject.Key; import java.lang.annotation.Annotation; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; /** Utilities to support {@link CommandName} construction. */ public class Commands { diff --git a/java/com/google/gerrit/sshd/DispatchCommand.java b/java/com/google/gerrit/sshd/DispatchCommand.java index 490dd525af..4c9ca91471 100644 --- a/java/com/google/gerrit/sshd/DispatchCommand.java +++ b/java/com/google/gerrit/sshd/DispatchCommand.java @@ -31,8 +31,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; -import org.apache.sshd.server.Command; import org.apache.sshd.server.Environment; +import org.apache.sshd.server.command.Command; import org.kohsuke.args4j.Argument; /** Command that dispatches to a subcommand from its command table. */ diff --git a/java/com/google/gerrit/sshd/DispatchCommandProvider.java b/java/com/google/gerrit/sshd/DispatchCommandProvider.java index c782d2fa4f..7ff7224b9a 100644 --- a/java/com/google/gerrit/sshd/DispatchCommandProvider.java +++ b/java/com/google/gerrit/sshd/DispatchCommandProvider.java @@ -24,7 +24,7 @@ import com.google.inject.TypeLiteral; import java.lang.annotation.Annotation; import java.util.List; import java.util.concurrent.ConcurrentMap; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; /** Creates DispatchCommand using commands registered by {@link CommandModule}. */ public class DispatchCommandProvider implements Provider { diff --git a/java/com/google/gerrit/sshd/NoShell.java b/java/com/google/gerrit/sshd/NoShell.java index ba0dcbaaa6..02355547f0 100644 --- a/java/com/google/gerrit/sshd/NoShell.java +++ b/java/com/google/gerrit/sshd/NoShell.java @@ -30,10 +30,10 @@ import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; import org.apache.sshd.common.Factory; -import org.apache.sshd.server.Command; import org.apache.sshd.server.Environment; import org.apache.sshd.server.ExitCallback; import org.apache.sshd.server.SessionAware; +import org.apache.sshd.server.command.Command; import org.apache.sshd.server.session.ServerSession; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.util.SystemReader; diff --git a/java/com/google/gerrit/sshd/PluginCommandModule.java b/java/com/google/gerrit/sshd/PluginCommandModule.java index b0116e4013..984c8a6aa3 100644 --- a/java/com/google/gerrit/sshd/PluginCommandModule.java +++ b/java/com/google/gerrit/sshd/PluginCommandModule.java @@ -18,7 +18,7 @@ import com.google.common.base.Preconditions; import com.google.gerrit.extensions.annotations.PluginName; import com.google.inject.Inject; import com.google.inject.binder.LinkedBindingBuilder; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; public abstract class PluginCommandModule extends CommandModule { private CommandName command; diff --git a/java/com/google/gerrit/sshd/SingleCommandPluginModule.java b/java/com/google/gerrit/sshd/SingleCommandPluginModule.java index 079661ad02..5b602f48e9 100644 --- a/java/com/google/gerrit/sshd/SingleCommandPluginModule.java +++ b/java/com/google/gerrit/sshd/SingleCommandPluginModule.java @@ -18,7 +18,7 @@ import com.google.common.base.Preconditions; import com.google.gerrit.extensions.annotations.PluginName; import com.google.inject.Inject; import com.google.inject.binder.LinkedBindingBuilder; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; /** * Binds one SSH command to the plugin name itself. diff --git a/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java b/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java index 0fdde816ce..830dba7755 100644 --- a/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java +++ b/java/com/google/gerrit/sshd/SshAutoRegisterModuleGenerator.java @@ -28,7 +28,7 @@ import com.google.inject.TypeLiteral; import java.lang.annotation.Annotation; import java.util.HashMap; import java.util.Map; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; class SshAutoRegisterModuleGenerator extends AbstractModule implements ModuleGenerator { private final Map> commands = new HashMap<>(); diff --git a/java/com/google/gerrit/sshd/SshDaemon.java b/java/com/google/gerrit/sshd/SshDaemon.java index 688c5730ab..ef356f1687 100644 --- a/java/com/google/gerrit/sshd/SshDaemon.java +++ b/java/com/google/gerrit/sshd/SshDaemon.java @@ -93,8 +93,6 @@ import org.apache.sshd.common.util.buffer.Buffer; import org.apache.sshd.common.util.buffer.ByteArrayBuffer; import org.apache.sshd.common.util.net.SshdSocketAddress; import org.apache.sshd.common.util.security.SecurityUtils; -import org.apache.sshd.server.Command; -import org.apache.sshd.server.CommandFactory; import org.apache.sshd.server.ServerBuilder; import org.apache.sshd.server.SshServer; import org.apache.sshd.server.auth.UserAuth; @@ -102,6 +100,8 @@ import org.apache.sshd.server.auth.gss.GSSAuthenticator; import org.apache.sshd.server.auth.gss.UserAuthGSSFactory; import org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator; import org.apache.sshd.server.auth.pubkey.UserAuthPublicKeyFactory; +import org.apache.sshd.server.command.Command; +import org.apache.sshd.server.command.CommandFactory; import org.apache.sshd.server.forward.ForwardingFilter; import org.apache.sshd.server.global.CancelTcpipForwardHandler; import org.apache.sshd.server.global.KeepAliveHandler; diff --git a/java/com/google/gerrit/sshd/SshModule.java b/java/com/google/gerrit/sshd/SshModule.java index f047017d6a..acdc9582ed 100644 --- a/java/com/google/gerrit/sshd/SshModule.java +++ b/java/com/google/gerrit/sshd/SshModule.java @@ -45,9 +45,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ScheduledThreadPoolExecutor; -import org.apache.sshd.server.CommandFactory; import org.apache.sshd.server.auth.gss.GSSAuthenticator; import org.apache.sshd.server.auth.pubkey.PublickeyAuthenticator; +import org.apache.sshd.server.command.CommandFactory; import org.eclipse.jgit.lib.Config; /** Configures standard dependencies for {@link SshDaemon}. */ diff --git a/java/com/google/gerrit/sshd/SshPluginStarterCallback.java b/java/com/google/gerrit/sshd/SshPluginStarterCallback.java index e9a095f661..6e8590c888 100644 --- a/java/com/google/gerrit/sshd/SshPluginStarterCallback.java +++ b/java/com/google/gerrit/sshd/SshPluginStarterCallback.java @@ -24,7 +24,7 @@ import com.google.inject.Inject; import com.google.inject.Key; import com.google.inject.Provider; import com.google.inject.Singleton; -import org.apache.sshd.server.Command; +import org.apache.sshd.server.command.Command; @Singleton class SshPluginStarterCallback implements StartPluginListener, ReloadPluginListener { diff --git a/java/com/google/gerrit/sshd/SuExec.java b/java/com/google/gerrit/sshd/SuExec.java index 54371c1119..7053a0d5f4 100644 --- a/java/com/google/gerrit/sshd/SuExec.java +++ b/java/com/google/gerrit/sshd/SuExec.java @@ -34,8 +34,8 @@ import java.net.SocketAddress; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicReference; -import org.apache.sshd.server.Command; import org.apache.sshd.server.Environment; +import org.apache.sshd.server.command.Command; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; diff --git a/lib/mina/BUILD b/lib/mina/BUILD index 8595bb52c1..6ee7e41657 100644 --- a/lib/mina/BUILD +++ b/lib/mina/BUILD @@ -4,6 +4,7 @@ java_library( visibility = ["//visibility:public"], exports = [ ":eddsa", + "@sshd-mina//jar", "@sshd//jar", ], runtime_deps = [":core"],