summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/GitFilter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/gitblit/GitFilter.java')
-rw-r--r--src/com/gitblit/GitFilter.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/com/gitblit/GitFilter.java b/src/com/gitblit/GitFilter.java
index e76fd767..4ae5b6c2 100644
--- a/src/com/gitblit/GitFilter.java
+++ b/src/com/gitblit/GitFilter.java
@@ -105,11 +105,19 @@ public class GitFilter extends AccessRestrictionFilter {
* Determine if the repository requires authentication.
*
* @param repository
+ * @param action
* @return true if authentication required
*/
@Override
- protected boolean requiresAuthentication(RepositoryModel repository) {
- return repository.accessRestriction.atLeast(AccessRestrictionType.PUSH);
+ protected boolean requiresAuthentication(RepositoryModel repository, String action) {
+ if (gitUploadPack.equals(action)) {
+ // send to client
+ return repository.accessRestriction.atLeast(AccessRestrictionType.CLONE);
+ } else if (gitReceivePack.equals(action)) {
+ // receive from client
+ return repository.accessRestriction.atLeast(AccessRestrictionType.PUSH);
+ }
+ return false;
}
/**