summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Pearce <sop@google.com>2014-04-25 15:51:18 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-04-25 15:51:19 +0000
commit5cca35c3650966b4cecfb0beab69477592a3774d (patch)
tree876bd2f130d210c13372a5f111e0aee41fec8f04
parent9038df0a8b0ccf2876e31d6569bff321a5b6fa3a (diff)
parent67c38c87d9df37e49af6ce4c11729b4eb1c1cf5b (diff)
Merge "Added global request handlers to SshDaemon" into stable-2.8
-rw-r--r--gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java
index cf4384463d..40b3db07da 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/SshDaemon.java
@@ -43,6 +43,7 @@ import org.apache.sshd.common.ForwardingFilter;
import org.apache.sshd.common.KeyExchange;
import org.apache.sshd.common.KeyPairProvider;
import org.apache.sshd.common.NamedFactory;
+import org.apache.sshd.common.RequestHandler;
import org.apache.sshd.common.Session;
import org.apache.sshd.common.Signature;
import org.apache.sshd.common.SshdSocketAddress;
@@ -74,6 +75,7 @@ import org.apache.sshd.common.random.BouncyCastleRandom;
import org.apache.sshd.common.random.JceRandom;
import org.apache.sshd.common.random.SingletonRandomFactory;
import org.apache.sshd.common.session.AbstractSession;
+import org.apache.sshd.common.session.ConnectionService;
import org.apache.sshd.common.signature.SignatureDSA;
import org.apache.sshd.common.signature.SignatureRSA;
import org.apache.sshd.common.util.Buffer;
@@ -86,6 +88,10 @@ import org.apache.sshd.server.auth.UserAuthPublicKey;
import org.apache.sshd.server.auth.gss.GSSAuthenticator;
import org.apache.sshd.server.auth.gss.UserAuthGSS;
import org.apache.sshd.server.channel.ChannelSession;
+import org.apache.sshd.server.global.CancelTcpipForwardHandler;
+import org.apache.sshd.server.global.KeepAliveHandler;
+import org.apache.sshd.server.global.NoMoreSessionsHandler;
+import org.apache.sshd.server.global.TcpipForwardHandler;
import org.apache.sshd.server.kex.DHG1;
import org.apache.sshd.server.kex.DHG14;
import org.apache.sshd.server.session.SessionFactory;
@@ -141,6 +147,7 @@ public class SshDaemon extends SshServer implements SshInfo, LifecycleListener {
private final List<HostKey> hostKeys;
private volatile IoAcceptor acceptor;
+ @SuppressWarnings("unchecked")
@Inject
SshDaemon(final CommandFactory commandFactory, final NoShell noShell,
final PublickeyAuthenticator userAuth,
@@ -248,6 +255,12 @@ public class SshDaemon extends SshServer implements SshInfo, LifecycleListener {
return new GerritServerSession(server, ioSession);
}
});
+ setGlobalRequestHandlers(Arrays.<RequestHandler<ConnectionService>> asList(
+ new KeepAliveHandler(),
+ new NoMoreSessionsHandler(),
+ new TcpipForwardHandler(),
+ new CancelTcpipForwardHandler()
+ ));
hostKeys = computeHostKeys();
}