From 644667ccc605fcf199784c44f28a41446fc2daef Mon Sep 17 00:00:00 2001
From: David Ostrovsky <david@ostrovsky.org>
Date: Mon, 02 Dec 2013 15:50:41 -0500
Subject: [PATCH] Bump bouncycastle version to 1.49
---
src/main/java/com/gitblit/servlet/GitFilter.java | 38 ++++++++++++++++++++++++++++++--------
1 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/gitblit/servlet/GitFilter.java b/src/main/java/com/gitblit/servlet/GitFilter.java
index c44f7ef..15facbe 100644
--- a/src/main/java/com/gitblit/servlet/GitFilter.java
+++ b/src/main/java/com/gitblit/servlet/GitFilter.java
@@ -18,18 +18,18 @@
import java.text.MessageFormat;
import javax.inject.Inject;
-import javax.inject.Singleton;
+import javax.servlet.http.HttpServletRequest;
-import com.gitblit.Constants;
+import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.Constants.AuthorizationControl;
import com.gitblit.GitBlitException;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
-import com.gitblit.Constants.AccessRestrictionType;
-import com.gitblit.Constants.AuthorizationControl;
-import com.gitblit.Keys.git;
+import com.gitblit.manager.IAuthenticationManager;
+import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
-import com.gitblit.manager.IAuthenticationManager;
+import com.gitblit.manager.IUserManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
@@ -42,7 +42,6 @@
* @author James Moger
*
*/
-@Singleton
public class GitFilter extends AccessRestrictionFilter {
protected static final String gitReceivePack = "/git-receive-pack";
@@ -54,14 +53,22 @@
private final IStoredSettings settings;
+ private final IUserManager userManager;
+
+ private final IFederationManager federationManager;
+
@Inject
public GitFilter(
IRuntimeManager runtimeManager,
+ IUserManager userManager,
IAuthenticationManager authenticationManager,
- IRepositoryManager repositoryManager) {
+ IRepositoryManager repositoryManager,
+ IFederationManager federationManager) {
super(runtimeManager, authenticationManager, repositoryManager);
this.settings = runtimeManager.getSettings();
+ this.userManager = userManager;
+ this.federationManager = federationManager;
}
/**
@@ -118,6 +125,21 @@
}
/**
+ * Returns the user making the request, if the user has authenticated.
+ *
+ * @param httpRequest
+ * @return user
+ */
+ @Override
+ protected UserModel getUser(HttpServletRequest httpRequest) {
+ UserModel user = authenticationManager.authenticate(httpRequest, requiresClientCertificate());
+ if (user == null) {
+ user = federationManager.authenticate(httpRequest);
+ }
+ return user;
+ }
+
+ /**
* Determine if a non-existing repository can be created using this filter.
*
* @return true if the server allows repository creation on-push
--
Gitblit v1.9.1