diff options
author | James Moger <james.moger@gitblit.com> | 2013-10-24 14:59:29 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2013-10-25 07:54:08 -0400 |
commit | b4f946d4c964612d5398fd6450f63618c327b7dd (patch) | |
tree | 0bd681d7d8a038a9beefb9546b55aa26320fb6b7 | |
parent | 40b49016ec87a4b4af9df173bdfc36c5a9da20cc (diff) | |
download | gitblit-b4f946d4c964612d5398fd6450f63618c327b7dd.tar.gz gitblit-b4f946d4c964612d5398fd6450f63618c327b7dd.zip |
Remove upload pack ref filtering
Change-Id: I7ffcbf00e70eea68803eb6c046d5ddca55503b8b
-rw-r--r-- | releases.moxie | 1 | ||||
-rw-r--r-- | src/main/java/com/gitblit/git/GitblitUploadPackFactory.java | 43 |
2 files changed, 1 insertions, 43 deletions
diff --git a/releases.moxie b/releases.moxie index a48473da..6dfb7446 100644 --- a/releases.moxie +++ b/releases.moxie @@ -22,6 +22,7 @@ r20: { - Do not log passwords on failed authentication attempts (issue-316) - Updated default binary and Lucene ignore extensions - Change the WAR baseFolder context parameter to a JNDI env-entry to improve enterprise deployments + - Removed internal Gitblit ref exclusions in the upload pack additions: - Added branch graph image servlet based on EGit's branch graph renderer (issue-194) - Added option to render Markdown commit messages (issue-203) diff --git a/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java b/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java index 01dfc08b..90875b59 100644 --- a/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java +++ b/src/main/java/com/gitblit/git/GitblitUploadPackFactory.java @@ -15,21 +15,14 @@ */ package com.gitblit.git; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - import javax.servlet.http.HttpServletRequest; -import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; -import org.eclipse.jgit.transport.RefFilter; import org.eclipse.jgit.transport.UploadPack; import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException; import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException; import org.eclipse.jgit.transport.resolver.UploadPackFactory; -import com.gitblit.Constants; import com.gitblit.GitBlit; import com.gitblit.models.UserModel; @@ -63,45 +56,9 @@ public class GitblitUploadPackFactory<X> implements UploadPackFactory<X> { timeout = client.getDaemon().getTimeout(); } - RefFilter refFilter = new UserRefFilter(user); UploadPack up = new UploadPack(db); - up.setRefFilter(refFilter); up.setTimeout(timeout); return up; } - - /** - * Restricts advertisement of certain refs based on the permission of the - * requesting user. - */ - public static class UserRefFilter implements RefFilter { - - final UserModel user; - - public UserRefFilter(UserModel user) { - this.user = user; - } - - @Override - public Map<String, Ref> filter(Map<String, Ref> refs) { - if (user.canAdmin()) { - // admins can see all refs - return refs; - } - - // normal users can not clone any gitblit refs - // JGit's RefMap is custom and does not support iterator removal :( - List<String> toRemove = new ArrayList<String>(); - for (String ref : refs.keySet()) { - if (ref.startsWith(Constants.R_GITBLIT)) { - toRemove.add(ref); - } - } - for (String ref : toRemove) { - refs.remove(ref); - } - return refs; - } - } }
\ No newline at end of file |