Added global request handlers to SshDaemon
Since sshd 0.10.0 the handling of global requests is refactored out of [1] ServerConnectionService.globalRequest method to AbstractConnectionService.globalRequest. The implementation has been refactored into a list of RequestHandlers, one for each type of request. These handlers are never set in SshDaemon constructor as they should be. See SshServer.getUpDefaultServer line 503 Change-Id: I7a38145c021538838d11427950db66eb57a50582
This commit is contained in:
parent
52c73b831d
commit
67c38c87d9
@ -43,6 +43,7 @@ import org.apache.sshd.common.ForwardingFilter;
|
|||||||
import org.apache.sshd.common.KeyExchange;
|
import org.apache.sshd.common.KeyExchange;
|
||||||
import org.apache.sshd.common.KeyPairProvider;
|
import org.apache.sshd.common.KeyPairProvider;
|
||||||
import org.apache.sshd.common.NamedFactory;
|
import org.apache.sshd.common.NamedFactory;
|
||||||
|
import org.apache.sshd.common.RequestHandler;
|
||||||
import org.apache.sshd.common.Session;
|
import org.apache.sshd.common.Session;
|
||||||
import org.apache.sshd.common.Signature;
|
import org.apache.sshd.common.Signature;
|
||||||
import org.apache.sshd.common.SshdSocketAddress;
|
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.JceRandom;
|
||||||
import org.apache.sshd.common.random.SingletonRandomFactory;
|
import org.apache.sshd.common.random.SingletonRandomFactory;
|
||||||
import org.apache.sshd.common.session.AbstractSession;
|
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.SignatureDSA;
|
||||||
import org.apache.sshd.common.signature.SignatureRSA;
|
import org.apache.sshd.common.signature.SignatureRSA;
|
||||||
import org.apache.sshd.common.util.Buffer;
|
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.GSSAuthenticator;
|
||||||
import org.apache.sshd.server.auth.gss.UserAuthGSS;
|
import org.apache.sshd.server.auth.gss.UserAuthGSS;
|
||||||
import org.apache.sshd.server.channel.ChannelSession;
|
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.DHG1;
|
||||||
import org.apache.sshd.server.kex.DHG14;
|
import org.apache.sshd.server.kex.DHG14;
|
||||||
import org.apache.sshd.server.session.SessionFactory;
|
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 final List<HostKey> hostKeys;
|
||||||
private volatile IoAcceptor acceptor;
|
private volatile IoAcceptor acceptor;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Inject
|
@Inject
|
||||||
SshDaemon(final CommandFactory commandFactory, final NoShell noShell,
|
SshDaemon(final CommandFactory commandFactory, final NoShell noShell,
|
||||||
final PublickeyAuthenticator userAuth,
|
final PublickeyAuthenticator userAuth,
|
||||||
@ -248,6 +255,12 @@ public class SshDaemon extends SshServer implements SshInfo, LifecycleListener {
|
|||||||
return new GerritServerSession(server, ioSession);
|
return new GerritServerSession(server, ioSession);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
setGlobalRequestHandlers(Arrays.<RequestHandler<ConnectionService>> asList(
|
||||||
|
new KeepAliveHandler(),
|
||||||
|
new NoMoreSessionsHandler(),
|
||||||
|
new TcpipForwardHandler(),
|
||||||
|
new CancelTcpipForwardHandler()
|
||||||
|
));
|
||||||
|
|
||||||
hostKeys = computeHostKeys();
|
hostKeys = computeHostKeys();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user