From 6fdbc6b5bdb805d1faefe3f26105d5adfa37d5a1 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 28 Mar 2012 12:03:19 -0400
Subject: [PATCH] Merge pull request #9 from mohamedmansour/master
---
src/com/gitblit/RpcFilter.java | 21 ++++++++++++---------
1 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/com/gitblit/RpcFilter.java b/src/com/gitblit/RpcFilter.java
index 2786f2a..4c0f03d 100644
--- a/src/com/gitblit/RpcFilter.java
+++ b/src/com/gitblit/RpcFilter.java
@@ -60,11 +60,11 @@
String fullUrl = getFullUrl(httpRequest);
RpcRequest requestType = RpcRequest.fromName(httpRequest.getParameter("req"));
if (requestType == null) {
- httpResponse.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED);
+ httpResponse.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED);
return;
}
- boolean adminRequest = requestType.exceeds(RpcRequest.LIST_REPOSITORIES);
+ boolean adminRequest = requestType.exceeds(RpcRequest.LIST_SETTINGS);
// conditionally reject all rpc requests
if (!GitBlit.getBoolean(Keys.web.enableRpcServlet, true)) {
@@ -75,22 +75,23 @@
boolean authenticateView = GitBlit.getBoolean(Keys.web.authenticateViewPages, false);
boolean authenticateAdmin = GitBlit.getBoolean(Keys.web.authenticateAdminPages, true);
-
- // Wrap the HttpServletRequest with the RpcServletnRequest which
+
+ // Wrap the HttpServletRequest with the RpcServletRequest which
// overrides the servlet container user principal methods.
AuthenticatedRequest authenticatedRequest = new AuthenticatedRequest(httpRequest);
UserModel user = getUser(httpRequest);
if (user != null) {
authenticatedRequest.setUser(user);
}
-
- // conditionally reject rpc administration requests
- if (adminRequest && !GitBlit.getBoolean(Keys.web.enableRpcAdministration, false)) {
- logger.warn(Keys.web.enableRpcAdministration + " must be set TRUE for administrative rpc requests.");
+
+ // conditionally reject rpc management/administration requests
+ if (adminRequest && !GitBlit.getBoolean(Keys.web.enableRpcManagement, false)) {
+ logger.warn(MessageFormat.format("{0} must be set TRUE for {1} rpc requests.",
+ Keys.web.enableRpcManagement, requestType.toString()));
httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN);
return;
}
-
+
// BASIC authentication challenge and response processing
if ((adminRequest && authenticateAdmin) || (!adminRequest && authenticateView)) {
if (user == null) {
@@ -134,6 +135,8 @@
private boolean canAccess(UserModel user, RpcRequest requestType) {
switch (requestType) {
+ case GET_PROTOCOL:
+ return true;
case LIST_REPOSITORIES:
return true;
default:
--
Gitblit v1.9.1