From ae0b135ecdbc0e85ba2d612356f4493f2f97bd7a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 16 Jan 2012 08:28:37 -0500
Subject: [PATCH] Fixed username case-sensitivity bugs (issue 43)

---
 src/com/gitblit/FileUserService.java |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/FileUserService.java b/src/com/gitblit/FileUserService.java
index 37ca9a7..dfc4da8 100644
--- a/src/com/gitblit/FileUserService.java
+++ b/src/com/gitblit/FileUserService.java
@@ -165,11 +165,11 @@
 	@Override
 	public UserModel getUserModel(String username) {
 		Properties allUsers = read();
-		String userInfo = allUsers.getProperty(username);
+		String userInfo = allUsers.getProperty(username.toLowerCase());
 		if (userInfo == null) {
 			return null;
 		}
-		UserModel model = new UserModel(username);
+		UserModel model = new UserModel(username.toLowerCase());
 		String[] userValues = userInfo.split(",");
 		model.password = userValues[0];
 		for (int i = 1; i < userValues.length; i++) {
@@ -219,7 +219,7 @@
 	 */
 	@Override
 	public boolean updateUserModel(String username, UserModel model) {
-		try {
+		try {			
 			Properties allUsers = read();
 			UserModel oldUser = getUserModel(username);
 			ArrayList<String> roles = new ArrayList<String>(model.repositories);
@@ -241,8 +241,8 @@
 			}
 			// trim trailing comma
 			sb.setLength(sb.length() - 1);
-			allUsers.remove(username);
-			allUsers.put(model.username, sb.toString());
+			allUsers.remove(username.toLowerCase());
+			allUsers.put(model.username.toLowerCase(), sb.toString());
 
 			// null check on "final" teams because JSON-sourced UserModel
 			// can have a null teams object
@@ -661,7 +661,7 @@
 				} else {
 					// user definition
 					String password = roles[0];
-					cookies.put(StringUtils.getSHA1(username + password), username);
+					cookies.put(StringUtils.getSHA1(username.toLowerCase() + password), username.toLowerCase());
 				}
 			}
 		}

--
Gitblit v1.9.1