From b724448b589d60a9a7dda60cf30741048c98e199 Mon Sep 17 00:00:00 2001
From: Florian Zschocke <florian.zschocke@cycos.com>
Date: Mon, 26 Aug 2013 06:39:57 -0400
Subject: [PATCH] Fix set-gid bit clearing under Linux when effective gid is different from file gid.

---
 src/main/java/com/gitblit/authority/GitblitAuthority.java |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/gitblit/authority/GitblitAuthority.java b/src/main/java/com/gitblit/authority/GitblitAuthority.java
index 1c0c142..bddb1cf 100644
--- a/src/main/java/com/gitblit/authority/GitblitAuthority.java
+++ b/src/main/java/com/gitblit/authority/GitblitAuthority.java
@@ -261,12 +261,9 @@
 		String us = gitblitSettings.getString(Keys.realm.userService, "${baseFolder}/users.conf");
 		String ext = us.substring(us.lastIndexOf(".") + 1).toLowerCase();
 		IUserService service = null;
-		if (!ext.equals("conf") && !ext.equals("properties")) {
-			if (us.equals("com.gitblit.LdapUserService")) {
-				us = gitblitSettings.getString(Keys.realm.ldap.backingUserService, "${baseFolder}/users.conf");		
-			} else if (us.equals("com.gitblit.LdapUserService")) {
-				us = gitblitSettings.getString(Keys.realm.redmine.backingUserService, "${baseFolder}/users.conf");
-			}
+		if (!ext.equals("conf") && !ext.equals("properties") && ext.contains("userservice")) {
+			String realm = ext.substring(0, ext.indexOf("userservice"));
+			us = gitblitSettings.getString(MessageFormat.format("realm.{0}.backingUserService", realm), "${baseFolder}/users.conf");
 		}
 
 		if (us.endsWith(".conf")) {
@@ -804,6 +801,8 @@
 	}
 	
 	private void filterUsers(final String fragment) {
+		table.clearSelection();
+		userCertificatePanel.setUserCertificateModel(null);
 		if (StringUtils.isEmpty(fragment)) {
 			table.setRowSorter(defaultSorter);
 			return;

--
Gitblit v1.9.1