From 79cad53bba094cffa1d25581edbf4972a5158cd4 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Nov 2013 11:03:01 -0500
Subject: [PATCH] Update to Moxie 0.9.1
---
src/main/java/com/gitblit/PAMUserService.java | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/gitblit/PAMUserService.java b/src/main/java/com/gitblit/PAMUserService.java
index 692b0f4..e6ab04a 100644
--- a/src/main/java/com/gitblit/PAMUserService.java
+++ b/src/main/java/com/gitblit/PAMUserService.java
@@ -24,13 +24,14 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants.AccountType;
+import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
/**
* Implementation of a PAM user service for Linux/Unix/MacOSX.
- *
+ *
* @author James Moger
*/
public class PAMUserService extends GitblitUserService {
@@ -38,7 +39,7 @@
private final Logger logger = LoggerFactory.getLogger(PAMUserService.class);
private IStoredSettings settings;
-
+
public PAMUserService() {
super();
}
@@ -48,11 +49,12 @@
this.settings = settings;
String file = settings.getString(Keys.realm.pam.backingUserService, "${baseFolder}/users.conf");
- File realmFile = GitBlit.getFileOrFolder(file);
+ IRuntimeManager runtimeManager = GitBlit.getManager(IRuntimeManager.class);
+ File realmFile = runtimeManager.getFileOrFolder(file);
serviceImpl = createUserService(realmFile);
logger.info("PAM User Service backed by " + serviceImpl.toString());
-
+
// Try to identify the passwd database
String [] files = { "/etc/shadow", "/etc/master.passwd" };
File passwdFile = null;
@@ -69,7 +71,7 @@
logger.error("PAM User Service can not read passwd database {}! PAM authentications may fail!", passwdFile);
}
}
-
+
@Override
public boolean supportsCredentialChanges() {
return false;
@@ -89,7 +91,7 @@
public boolean supportsTeamMembershipChanges() {
return true;
}
-
+
@Override
protected AccountType getAccountType() {
return AccountType.PAM;
@@ -101,7 +103,7 @@
// local account, bypass PAM authentication
return super.authenticate(username, password);
}
-
+
if (CLibrary.libc.getpwnam(username) == null) {
logger.warn("Can not get PAM passwd for " + username);
return null;
@@ -136,7 +138,7 @@
// push the changes to the backing user service
super.updateUserModel(user);
-
+
return user;
}
}
--
Gitblit v1.9.1