James Moger
2014-06-09 3cbd493b55f6b02df0a5efd1f714a077a8efc608
src/main/java/com/gitblit/transport/ssh/SshDaemon.java
@@ -41,16 +41,14 @@
import com.gitblit.Keys;
import com.gitblit.manager.IGitblit;
import com.gitblit.transport.ssh.commands.SshCommandFactory;
import com.gitblit.utils.IdGenerator;
import com.gitblit.utils.JnaUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.utils.WorkQueue;
import com.google.common.io.Files;
/**
 * Manager for the ssh transport. Roughly analogous to the
 * {@link com.gitblit.transport.git.GitDaemon} class.
 *
 * @author Eric Myhre
 *
 */
public class SshDaemon {
@@ -78,8 +76,9 @@
    * Construct the Gitblit SSH daemon.
    *
    * @param gitblit
    * @param workQueue
    */
   public SshDaemon(IGitblit gitblit, IdGenerator idGenerator) {
   public SshDaemon(IGitblit gitblit, WorkQueue workQueue) {
      this.gitblit = gitblit;
      IStoredSettings settings = gitblit.getSettings();
@@ -128,7 +127,7 @@
      sshd.setSessionFactory(new SshServerSessionFactory());
      sshd.setFileSystemFactory(new DisabledFilesystemFactory());
      sshd.setTcpipForwardingFilter(new NonForwardingFilter());
      sshd.setCommandFactory(new SshCommandFactory(gitblit, idGenerator));
      sshd.setCommandFactory(new SshCommandFactory(gitblit, workQueue));
      sshd.setShellFactory(new WelcomeShell(settings));
      // Set the server id.  This can be queried with:
@@ -143,7 +142,7 @@
   public String formatUrl(String gituser, String servername, String repository) {
      if (sshd.getPort() == DEFAULT_PORT) {
         // standard port
         return MessageFormat.format("{0}@{1}/{2}", gituser, servername,
         return MessageFormat.format("ssh://{0}@{1}/{2}", gituser, servername,
               repository);
      } else {
         // non-standard port
@@ -214,8 +213,8 @@
            Files.touch(file);
            try {
               JnaUtils.setFilemode(file, JnaUtils.S_IRUSR | JnaUtils.S_IWUSR);
            } catch (UnsupportedOperationException e) {
               // Windows
            } catch (UnsatisfiedLinkError | UnsupportedOperationException e) {
               // Unexpected/Unsupported OS or Architecture
            }
            FileOutputStream os = new FileOutputStream(file);