diff options
author | David Ostrovsky <david@ostrovsky.org> | 2014-02-17 21:56:36 +0100 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-04-10 18:58:07 -0400 |
commit | 7613df52959b6e2ac1094d2263be310fb3e2723b (patch) | |
tree | f0a644a1256dc8665555d94a6d0bd813661c7809 /src/main/java/com/gitblit/transport/ssh/SshCommandServer.java | |
parent | 41124cddb6edd82c1630efb99b29c839304ed897 (diff) | |
download | gitblit-7613df52959b6e2ac1094d2263be310fb3e2723b.tar.gz gitblit-7613df52959b6e2ac1094d2263be310fb3e2723b.zip |
SSHD: Add support for generic commands
Change-Id: I5a60710323ca674d70e34f7451422ec167105429
Diffstat (limited to 'src/main/java/com/gitblit/transport/ssh/SshCommandServer.java')
-rw-r--r-- | src/main/java/com/gitblit/transport/ssh/SshCommandServer.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/com/gitblit/transport/ssh/SshCommandServer.java b/src/main/java/com/gitblit/transport/ssh/SshCommandServer.java index 26e3d67e..7186737f 100644 --- a/src/main/java/com/gitblit/transport/ssh/SshCommandServer.java +++ b/src/main/java/com/gitblit/transport/ssh/SshCommandServer.java @@ -17,12 +17,15 @@ package com.gitblit.transport.ssh; import java.io.IOException; import java.net.InetSocketAddress; +import java.net.SocketAddress; import java.security.InvalidKeyException; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import javax.inject.Inject; + import org.apache.mina.core.future.IoFuture; import org.apache.mina.core.future.IoFutureListener; import org.apache.mina.core.session.IoSession; @@ -69,6 +72,8 @@ import org.apache.sshd.server.session.SessionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.gitblit.utils.IdGenerator; + /** * * @author Eric Myhre @@ -78,7 +83,8 @@ public class SshCommandServer extends SshServer { private static final Logger log = LoggerFactory.getLogger(SshCommandServer.class); - public SshCommandServer() { + @Inject + public SshCommandServer(final IdGenerator idGenerator) { setSessionFactory(new SessionFactory() { @Override protected ServerSession createSession(final IoSession io) throws Exception { @@ -90,7 +96,9 @@ public class SshCommandServer extends SshServer { } final ServerSession s = (ServerSession) super.createSession(io); - s.setAttribute(SshDaemonClient.ATTR_KEY, new SshDaemonClient()); + SocketAddress peer = io.getRemoteAddress(); + SshSession session = new SshSession(idGenerator.next(), peer); + s.setAttribute(SshSession.KEY, session); io.getCloseFuture().addListener(new IoFutureListener<IoFuture>() { @Override |