From 30f9d25d77ccb5cd978d4cf8fa389ec819e90e95 Mon Sep 17 00:00:00 2001 From: Philip L. McMahon <philip.l.mcmahon@gmail.com> Date: Fri, 27 Jan 2012 02:02:19 -0500 Subject: [PATCH] Correct update of HEAD symbolic reference when target is a tag. --- src/com/gitblit/SyndicationFilter.java | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/SyndicationFilter.java b/src/com/gitblit/SyndicationFilter.java index 68f383b..d6dd1f2 100644 --- a/src/com/gitblit/SyndicationFilter.java +++ b/src/com/gitblit/SyndicationFilter.java @@ -19,26 +19,64 @@ import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; +/** + * The SyndicationFilter is an AccessRestrictionFilter which ensures that feed + * requests for view-restricted repositories have proper authentication + * credentials and are authorized for the requested feed. + * + * @author James Moger + * + */ public class SyndicationFilter extends AccessRestrictionFilter { + /** + * Extract the repository name from the url. + * + * @param url + * @return repository name + */ @Override protected String extractRepositoryName(String url) { + if (url.indexOf('?') > -1) { + return url.substring(0, url.indexOf('?')); + } return url; } + /** + * Analyze the url and returns the action of the request. + * + * @param url + * @return action of the request + */ @Override - protected String getUrlRequestType(String url) { - return "RESTRICTED"; + protected String getUrlRequestAction(String url) { + return "VIEW"; } + /** + * Determine if the repository requires authentication. + * + * @param repository + * @return true if authentication required + */ @Override protected boolean requiresAuthentication(RepositoryModel repository) { return repository.accessRestriction.atLeast(AccessRestrictionType.VIEW); } + /** + * Determine if the user can access the repository and perform the specified + * action. + * + * @param repository + * @param user + * @param action + * @return true if user may execute the action on the repository + */ @Override - protected boolean canAccess(RepositoryModel repository, UserModel user, String restrictedURL) { - return user.canAccessRepository(repository.name); + protected boolean canAccess(RepositoryModel repository, UserModel user, String action) { + return user.canAccessRepository(repository); } } -- Gitblit v1.9.1