From ed552ba47c02779c270ffd62841d6d1048dade70 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 22 Nov 2015 14:37:16 -0500 Subject: [PATCH] Merge branch 'develop' --- src/main/java/com/gitblit/transport/ssh/WelcomeShell.java | 38 +++++++++++++++++++++++++------------- 1 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java b/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java index a9fe6f0..ec6f729 100644 --- a/src/main/java/com/gitblit/transport/ssh/WelcomeShell.java +++ b/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); } } } -- Gitblit v1.9.1