James Moger
2015-11-22 ed552ba47c02779c270ffd62841d6d1048dade70
src/main/java/com/gitblit/transport/ssh/WelcomeShell.java
@@ -1,4 +1,5 @@
/*
 * Copyright (C) 2009 The Android Open Source Project
 * Copyright 2014 gitblit.com.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
@@ -134,8 +135,10 @@
         msg.append(user.getDisplayName());
         msg.append(", you have successfully connected over SSH.");
         msg.append(nl);
         msg.append(" Interactive shells are not available.");
         msg.append(nl);
         msg.append("   client: ");
         msg.append(nl);
         msg.append("   client:   ");
         msg.append(session.getClientVersion());
         msg.append(nl);
         msg.append(nl);
@@ -156,17 +159,21 @@
         msg.append(nl);
         msg.append(nl);
         msg.append(" You may upload an SSH public key with the following syntax:");
         msg.append(nl);
         msg.append(nl);
         if (client.getKey() == null) {
            // user has authenticated with a password
            // display add public key instructions
            msg.append(" You may upload an SSH public key with the following syntax:");
            msg.append(nl);
            msg.append(nl);
         msg.append(String.format("   cat ~/.ssh/id_rsa.pub | ssh -l %s -p %d %s gitblit keys add -", user.username, port, hostname));
         msg.append(nl);
         msg.append(nl);
            msg.append(String.format("   cat ~/.ssh/id_rsa.pub | ssh -l %s -p %d %s keys add", user.username, port, hostname));
            msg.append(nl);
            msg.append(nl);
         msg.append(b2);
         msg.append(nl);
         msg.append(nl);
            msg.append(b2);
            msg.append(nl);
            msg.append(nl);
         }
         // display the core commands
         SshCommandFactory cmdFactory = (SshCommandFactory) session.getFactoryManager().getCommandFactory();
@@ -193,13 +200,18 @@
      }
      private String formatUrl(String hostname, int port, String username) {
         if (port == 22) {
         int displayPort = settings.getInteger(Keys.git.sshAdvertisedPort, port);
         String displayHostname = settings.getString(Keys.git.sshAdvertisedHost, "");
         if(displayHostname.isEmpty()) {
            displayHostname = hostname;
         }
         if (displayPort == 22) {
            // standard port
            return MessageFormat.format("{0}@{1}/REPOSITORY.git", username, hostname);
            return MessageFormat.format("{0}@{1}/REPOSITORY.git", username, displayHostname);
         } else {
            // non-standard port
            return MessageFormat.format("ssh://{0}@{1}:{2,number,0}/REPOSITORY.git",
                  username, hostname, port);
                  username, displayHostname, displayPort);
         }
      }
   }