From be2d71efb0f369ed05d87b556ac543435d30f6bf Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 20 Jun 2013 17:29:05 -0400
Subject: [PATCH] Improve username (en|de)coding for urls

---
 src/main/java/com/gitblit/GitBlit.java |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java
index 3aaa8c6..c6e24d7 100644
--- a/src/main/java/com/gitblit/GitBlit.java
+++ b/src/main/java/com/gitblit/GitBlit.java
@@ -967,12 +967,24 @@
 		userService.logout(user);
 	}
 
+	/**
+	 * Encode the username for user in an url.
+	 * 
+	 * @param name
+	 * @return the encoded name
+	 */
 	protected String encodeUsername(String name) {
-		return name.replace("@", "%40");	
+		return name.replace("@", "%40").replace(" ", "%20").replace("\\", "%5C");	
 	}
 
+	/**
+	 * Decode a username from an encoded url.
+	 * 
+	 * @param name
+	 * @return the decoded name
+	 */
 	protected String decodeUsername(String name) {
-		return name.replace("%40", "@");	
+		return name.replace("%40", "@").replace("%20", " ").replace("%5C", "\\");
 	}
 	
 	/**

--
Gitblit v1.9.1