From 06fa257080ab8de7986ad5debbf317eddf5608e7 Mon Sep 17 00:00:00 2001
From: Alex Lewis <alex.lewis001@gmail.com>
Date: Tue, 10 Dec 2013 11:41:36 -0500
Subject: [PATCH] issue-350: Fixes issue when an apostrophe is present in a User's name

---
 src/main/java/com/gitblit/manager/AuthenticationManager.java |   34 +++-------------------------------
 1 files changed, 3 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/gitblit/manager/AuthenticationManager.java b/src/main/java/com/gitblit/manager/AuthenticationManager.java
index 6e541c4..60687d4 100644
--- a/src/main/java/com/gitblit/manager/AuthenticationManager.java
+++ b/src/main/java/com/gitblit/manager/AuthenticationManager.java
@@ -108,10 +108,10 @@
 		String realm = settings.getString(Keys.realm.userService, "${baseFolder}/users.conf");
 		if (legacyRedirects.containsKey(realm)) {
 			logger.warn("");
-			logger.warn("#################################################################");
+			logger.warn(Constants.BORDER2);
 			logger.warn(" IUserService '{}' is obsolete!", realm);
 			logger.warn(" Please set '{}={}'", "realm.authenticationProviders", legacyRedirects.get(realm));
-			logger.warn("#################################################################");
+			logger.warn(Constants.BORDER2);
 			logger.warn("");
 
 			// conditionally override specified authentication providers
@@ -183,7 +183,7 @@
 			if (principal != null) {
 				String username = principal.getName();
 				if (!StringUtils.isEmpty(username)) {
-					boolean internalAccount = isInternalAccount(username);
+					boolean internalAccount = userManager.isInternalAccount(username);
 					UserModel user = userManager.getUserModel(username);
 					if (user != null) {
 						// existing user
@@ -322,15 +322,6 @@
 			// can not authenticate empty password
 			return null;
 		}
-		// check to see if this is the federation user
-//		if (canFederate()) {
-//			if (usernameDecoded.equalsIgnoreCase(Constants.FEDERATION_USER)) {
-//				List<String> tokens = getFederationTokens();
-//				if (tokens.contains(pw)) {
-//					return getFederationUser();
-//				}
-//			}
-//		}
 
 		// try local authentication
 		UserModel user = userManager.getUserModel(usernameDecoded);
@@ -489,23 +480,4 @@
 		}
 		return AuthenticationProvider.NULL_PROVIDER;
 	}
-
-	/**
-	 * Returns true if the username represents an internal account
-	 *
-	 * @param username
-	 * @return true if the specified username represents an internal account
-	 */
-	protected boolean isInternalAccount(String username) {
-		return !StringUtils.isEmpty(username)
-				&& (username.equalsIgnoreCase(Constants.FEDERATION_USER)
-						|| username.equalsIgnoreCase(UserModel.ANONYMOUS.username));
-	}
-
-//	protected UserModel getFederationUser() {
-//		// the federation user is an administrator
-//		UserModel federationUser = new UserModel(Constants.FEDERATION_USER);
-//		federationUser.canAdmin = true;
-//		return federationUser;
-//	}
 }

--
Gitblit v1.9.1