summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/transport/ssh/SshCommandServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/gitblit/transport/ssh/SshCommandServer.java')
-rw-r--r--src/main/java/com/gitblit/transport/ssh/SshCommandServer.java12
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