From 13417cf9c6eec555b51da49742e47939d2f5715b Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 19 Oct 2012 22:47:33 -0400
Subject: [PATCH] Exclude submodules from zip downloads (issue 151)

---
 src/com/gitblit/RpcFilter.java |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/RpcFilter.java b/src/com/gitblit/RpcFilter.java
index e768a51..1de9fcc 100644
--- a/src/com/gitblit/RpcFilter.java
+++ b/src/com/gitblit/RpcFilter.java
@@ -64,7 +64,7 @@
 			return;
 		}
 
-		boolean adminRequest = requestType.exceeds(RpcRequest.LIST_BRANCHES);
+		boolean adminRequest = requestType.exceeds(RpcRequest.LIST_SETTINGS);
 
 		// conditionally reject all rpc requests
 		if (!GitBlit.getBoolean(Keys.web.enableRpcServlet, true)) {
@@ -86,8 +86,8 @@
 
 		// conditionally reject rpc management/administration requests
 		if (adminRequest && !GitBlit.getBoolean(Keys.web.enableRpcManagement, false)) {
-			logger.warn(Keys.web.enableRpcManagement
-					+ " must be set TRUE for management/administrative rpc requests.");
+			logger.warn(MessageFormat.format("{0} must be set TRUE for {1} rpc requests.",
+					Keys.web.enableRpcManagement, requestType.toString()));
 			httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN);
 			return;
 		}
@@ -105,7 +105,7 @@
 				return;
 			} else {
 				// check user access for request
-				if (user.canAdmin || canAccess(user, requestType)) {
+				if (user.canAdmin() || canAccess(user, requestType)) {
 					// authenticated request permitted.
 					// pass processing to the restricted servlet.
 					newSession(authenticatedRequest, httpResponse);
@@ -135,10 +135,12 @@
 
 	private boolean canAccess(UserModel user, RpcRequest requestType) {
 		switch (requestType) {
+		case GET_PROTOCOL:
+			return true;
 		case LIST_REPOSITORIES:
 			return true;
 		default:
-			return user.canAdmin;
+			return user.canAdmin();
 		}
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.1