From 0d232164930581ccc9eac1b54e4c624a62f107bd Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 10 Apr 2014 18:58:08 -0400
Subject: [PATCH] Pass IGitblit into the SSH command context

---
 src/main/java/com/gitblit/transport/ssh/SshDaemon.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/transport/ssh/SshDaemon.java b/src/main/java/com/gitblit/transport/ssh/SshDaemon.java
index 40a310e..b6c5d68 100644
--- a/src/main/java/com/gitblit/transport/ssh/SshDaemon.java
+++ b/src/main/java/com/gitblit/transport/ssh/SshDaemon.java
@@ -32,6 +32,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.gitblit.Constants;
 import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
 import com.gitblit.manager.IAuthenticationManager;
@@ -105,20 +106,24 @@
 			addr = new InetSocketAddress(bindInterface, port);
 		}
 
+		File hostKeyStore = new File(gitblit.getBaseFolder(), HOST_KEY_STORE);
 		CachingPublicKeyAuthenticator keyAuthenticator =
 				getPublicKeyAuthenticator(keyManager, gitblit);
 
 		sshd = SshServer.setUpDefaultServer();
 		sshd.setPort(addr.getPort());
 		sshd.setHost(addr.getHostName());
-		sshd.setKeyPairProvider(new PEMGeneratorHostKeyProvider(new File(
-				gitblit.getBaseFolder(), HOST_KEY_STORE).getPath()));
+		sshd.setKeyPairProvider(new PEMGeneratorHostKeyProvider(hostKeyStore.getPath()));
 		sshd.setPublickeyAuthenticator(keyAuthenticator);
 		sshd.setPasswordAuthenticator(new UsernamePasswordAuthenticator(gitblit));
 		sshd.setSessionFactory(new SshServerSessionFactory());
 		sshd.setFileSystemFactory(new DisabledFilesystemFactory());
 		sshd.setTcpipForwardingFilter(new NonForwardingFilter());
 		sshd.setCommandFactory(new SshCommandFactory(gitblit, keyAuthenticator, idGenerator));
+		sshd.setShellFactory(new WelcomeShell(settings));
+
+		String version = Constants.getGitBlitVersion() + " (" + sshd.getVersion() + ")";
+		sshd.getProperties().put(SshServer.SERVER_IDENTIFICATION, version);
 
 		run = new AtomicBoolean(false);
 	}

--
Gitblit v1.9.1