From aa61fc86db4f5ebf645ecf69c6f5ec36f2973e5a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 21 Feb 2014 11:14:47 -0500
Subject: [PATCH] Add GO launch parameter to specify daily, rolling log file generation

---
 src/main/java/com/gitblit/servlet/GitFilter.java |   46 ++++++++++++++++++++++++++++------------------
 1 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/gitblit/servlet/GitFilter.java b/src/main/java/com/gitblit/servlet/GitFilter.java
index f39d68f..402f72d 100644
--- a/src/main/java/com/gitblit/servlet/GitFilter.java
+++ b/src/main/java/com/gitblit/servlet/GitFilter.java
@@ -17,22 +17,19 @@
 
 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.IRepositoryManager;
-import com.gitblit.manager.IRuntimeManager;
-import com.gitblit.manager.ISessionManager;
+import com.gitblit.manager.IFederationManager;
 import com.gitblit.models.RepositoryModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.StringUtils;
+
+import dagger.ObjectGraph;
 
 /**
  * The GitFilter is an AccessRestrictionFilter which ensures that Git client
@@ -42,7 +39,6 @@
  * @author James Moger
  *
  */
-@Singleton
 public class GitFilter extends AccessRestrictionFilter {
 
 	protected static final String gitReceivePack = "/git-receive-pack";
@@ -52,16 +48,15 @@
 	protected static final String[] suffixes = { gitReceivePack, gitUploadPack, "/info/refs", "/HEAD",
 			"/objects" };
 
-	private final IStoredSettings settings;
+	private IStoredSettings settings;
 
-	@Inject
-	public GitFilter(
-			IRuntimeManager runtimeManager,
-			ISessionManager sessionManager,
-			IRepositoryManager repositoryManager) {
+	private IFederationManager federationManager;
 
-		super(runtimeManager, sessionManager, repositoryManager);
-		this.settings = runtimeManager.getSettings();
+	@Override
+	protected void inject(ObjectGraph dagger) {
+		super.inject(dagger);
+		this.settings = dagger.get(IStoredSettings.class);
+		this.federationManager = dagger.get(IFederationManager.class);
 	}
 
 	/**
@@ -118,6 +113,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