summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2015-06-15 10:58:10 -0600
committerJames Moger <james.moger@gitblit.com>2015-06-15 10:58:10 -0600
commit0805ff838562e3b19d31083d80762abcd0ebd106 (patch)
tree2e1f1b470a3e7c9a8ae5faed48a0e1574fca547c /src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
parent35a925961d5df5cbdf5ddb7df80b616064b3e0e9 (diff)
parentb3aabb94c9935e61ba16bb5ab506c123ae29fbf3 (diff)
downloadgitblit-0805ff838562e3b19d31083d80762abcd0ebd106.tar.gz
gitblit-0805ff838562e3b19d31083d80762abcd0ebd106.zip
Merged #259 "Allow custom host & port specification for advertised SSH urls"
Diffstat (limited to 'src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java')
-rw-r--r--src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java b/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
index 69c254cb..e989ece3 100644
--- a/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
+++ b/src/main/java/com/gitblit/servlet/SparkleShareInviteServlet.java
@@ -19,8 +19,6 @@ import java.io.IOException;
import java.net.URL;
import java.text.MessageFormat;
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
@@ -34,6 +32,8 @@ import com.gitblit.manager.IUserManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
/**
* Handles requests for Sparkleshare Invites
@@ -89,6 +89,8 @@ public class SparkleShareInviteServlet extends HttpServlet {
response.getWriter().append("SSH is not active on this server!");
return;
}
+ int sshDisplayPort = settings.getInteger(Keys.git.sshAdvertisedPort, sshPort);
+
// extract repo name from request
String repoUrl = request.getPathInfo().substring(1);
@@ -112,6 +114,10 @@ public class SparkleShareInviteServlet extends HttpServlet {
if (!StringUtils.isEmpty(url) && url.indexOf("localhost") == -1) {
host = new URL(url).getHost();
}
+ String sshDisplayHost = settings.getString(Keys.git.sshAdvertisedHost, "");
+ if(sshDisplayHost.isEmpty()) {
+ sshDisplayHost = host;
+ }
UserModel user;
if (StringUtils.isEmpty(username)) {
@@ -141,7 +147,7 @@ public class SparkleShareInviteServlet extends HttpServlet {
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
sb.append("<sparkleshare><invite>\n");
- sb.append(MessageFormat.format("<address>ssh://{0}@{1}:{2,number,0}/</address>\n", user.username, host, sshPort));
+ sb.append(MessageFormat.format("<address>ssh://{0}@{1}:{2,number,0}/</address>\n", user.username, sshDisplayHost, sshDisplayPort));
sb.append(MessageFormat.format("<remote_path>/{0}</remote_path>\n", model.name));
int fanoutPort = settings.getInteger(Keys.fanout.port, 0);
if (fanoutPort > 0) {