From 4e84166db5c5538e3984d9d2d6bb1f9902e65ee0 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 04 Nov 2014 17:38:17 -0500 Subject: [PATCH] Merged #217 "Exclude SSLv3 from Gitblit GO https protocols" --- src/main/java/com/gitblit/wicket/GitblitWicketFilter.java | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java b/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java index fbe68fe..68ad84a 100644 --- a/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java +++ b/src/main/java/com/gitblit/wicket/GitblitWicketFilter.java @@ -17,14 +17,17 @@ import java.util.Date; +import com.google.inject.Inject; +import com.google.inject.Singleton; import javax.servlet.http.HttpServletRequest; +import org.apache.wicket.protocol.http.IWebApplicationFactory; +import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.protocol.http.WicketFilter; import org.apache.wicket.util.string.Strings; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import com.gitblit.GitBlit; import com.gitblit.IStoredSettings; import com.gitblit.Keys; import com.gitblit.manager.IProjectManager; @@ -43,7 +46,43 @@ * @author James Moger * */ +@Singleton public class GitblitWicketFilter extends WicketFilter { + + private IStoredSettings settings; + + private IRuntimeManager runtimeManager; + + private IRepositoryManager repositoryManager; + + private IProjectManager projectManager; + + private GitBlitWebApp webapp; + + @Inject + public GitblitWicketFilter( + IStoredSettings settings, + IRuntimeManager runtimeManager, + IRepositoryManager repositoryManager, + IProjectManager projectManager, + GitBlitWebApp webapp) { + + this.settings = settings; + this.runtimeManager = runtimeManager; + this.repositoryManager = repositoryManager; + this.projectManager = projectManager; + this.webapp = webapp; + } + + @Override + protected IWebApplicationFactory getApplicationFactory() { + return new IWebApplicationFactory() { + @Override + public WebApplication createApplication(WicketFilter filter) { + return webapp; + } + }; + } /** * Determines the last-modified date of the requested resource. @@ -54,8 +93,9 @@ @Override protected long getLastModified(final HttpServletRequest servletRequest) { final String pathInfo = getRelativePath(servletRequest); - if (Strings.isEmpty(pathInfo)) + if (Strings.isEmpty(pathInfo)) { return -1; + } long lastModified = super.getLastModified(servletRequest); if (lastModified > -1) { return lastModified; @@ -80,11 +120,6 @@ if (!StringUtils.isEmpty(servletRequest.getParameter("h"))) { commitId = servletRequest.getParameter("h"); } - - IRuntimeManager runtimeManager = GitBlit.getManager(IRuntimeManager.class); - IStoredSettings settings = runtimeManager.getSettings(); - IRepositoryManager repositoryManager = GitBlit.getManager(IRepositoryManager.class); - IProjectManager projectManager = GitBlit.getManager(IProjectManager.class); repo = repo.replace("%2f", "/").replace("%2F", "/").replace(settings.getChar(Keys.web.forwardSlashCharacter, '/'), '/'); -- Gitblit v1.9.1