From b016de996e77b3d7b6e68d8442c47a50e2a3d2eb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 07 May 2014 09:25:02 -0400
Subject: [PATCH] Fix transport determination for SSH urls on port 22

---
 src/main/java/com/gitblit/Constants.java |    7 ++++++-
 releases.moxie                           |    2 ++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/releases.moxie b/releases.moxie
index a657019..2a36ac6 100644
--- a/releases.moxie
+++ b/releases.moxie
@@ -16,6 +16,7 @@
     - Fix forcing default locale to en or LANG_CC for web ui (ticket-51)
     - Fix inconsistency with repository ownership permission checking (ticket-52)
     - Prevent submission from New|Edit ticket page with empty titles (ticket-53)
+    - Fix transport determination for SSH urls served on port 22 (issue-421, ticket-63)
     changes:
     - improve French translation (pr-176)
     - simplify current plugin release detection and ignore the currentRelease registry field 
@@ -31,6 +32,7 @@
     - Owen Nelson
     - Alexander Zabluda
     - Philipp Beckmann
+    - Jakob Boysen
 }
 
 #
diff --git a/src/main/java/com/gitblit/Constants.java b/src/main/java/com/gitblit/Constants.java
index af53399..e4d92e1 100644
--- a/src/main/java/com/gitblit/Constants.java
+++ b/src/main/java/com/gitblit/Constants.java
@@ -554,7 +554,12 @@
 		}
 
 		public static Transport fromUrl(String url) {
-			String scheme = url.substring(0, url.indexOf("://"));
+			int delim = url.indexOf("://");
+			if (delim == -1) {
+				// if no protocol is specified, SSH is assumed by git clients
+				return SSH;
+			}
+			String scheme = url.substring(0, delim);
 			return fromString(scheme);
 		}
 	}

--
Gitblit v1.9.1