From 8c8f1f537b62a608e9ef01b70bec5a8df4dc8e8a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 16 Jan 2013 07:57:18 -0500
Subject: [PATCH] Escape metacharacters for settings updates

---
 src/WEB-INF/web.xml |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 104 insertions(+), 2 deletions(-)

diff --git a/src/WEB-INF/web.xml b/src/WEB-INF/web.xml
index d557725..75ccf9b 100644
--- a/src/WEB-INF/web.xml
+++ b/src/WEB-INF/web.xml
@@ -3,6 +3,30 @@
 	xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
+	<!-- The base folder is used to specify the root location of your Gitblit data.
+	
+			${baseFolder}/gitblit.properties
+			${baseFolder}/users.conf
+			${baseFolder}/projects.conf
+			${baseFolder}/robots.txt
+			${baseFolder}/git
+			${baseFolder}/groovy
+			${baseFolder}/groovy/grape
+			${baseFolder}/proposals
+
+		By default, this location is WEB-INF/data.  It is recommended to set this
+		path to a location outside your webapps folder that is writable by your
+		servlet container.  Gitblit will copy the WEB-INF/data files to that
+		location for you when it restarts.  This approach makes upgrading simpler.
+		All you have to do is set this parameter for the new release and then
+		review the defaults for any new settings.  Settings are always versioned
+		with a SINCE x.y.z attribute and also noted in the release changelog.
+		-->
+	<context-param>
+		<param-name>baseFolder</param-name>
+		<param-value>${contextFolder}/WEB-INF/data</param-value>
+	</context-param>
+
 	<!-- PARAMS --> 
 	 
 	<!-- Gitblit Context Listener --><!-- STRIP	 
@@ -69,7 +93,49 @@
 		<url-pattern>/federation/*</url-pattern>
 	</servlet-mapping>	
 	
+	
+	<!-- Rpc Servlet
+		 <url-pattern> MUST match: 
+		 	* com.gitblit.Constants.RPC_PATH		 
+			* Wicket Filter ignorePaths parameter -->
+	<servlet>
+		<servlet-name>RpcServlet</servlet-name>
+		<servlet-class>com.gitblit.RpcServlet</servlet-class>		
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>RpcServlet</servlet-name>
+		<url-pattern>/rpc/*</url-pattern>
+	</servlet-mapping>	
 
+
+	<!-- Pages Servlet
+		 <url-pattern> MUST match: 
+			* PagesFilter
+			* com.gitblit.Constants.PAGES_PATH
+			* Wicket Filter ignorePaths parameter -->
+	<servlet>
+		<servlet-name>PagesServlet</servlet-name>
+		<servlet-class>com.gitblit.PagesServlet</servlet-class>
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>PagesServlet</servlet-name>		
+		<url-pattern>/pages/*</url-pattern>
+	</servlet-mapping>	
+	
+
+	<!-- Robots.txt Servlet
+		 <url-pattern> MUST match: 
+			* Wicket Filter ignorePaths parameter -->
+	<servlet>
+		<servlet-name>RobotsTxtServlet</servlet-name>
+		<servlet-class>com.gitblit.RobotsTxtServlet</servlet-class>
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>RobotsTxtServlet</servlet-name>		
+		<url-pattern>/robots.txt</url-pattern>
+	</servlet-mapping>
+
+	
 	<!-- Git Access Restriction Filter
 		 <url-pattern> MUST match: 
 			* GitServlet
@@ -113,7 +179,38 @@
 		<filter-name>ZipFilter</filter-name>
 		<url-pattern>/zip/*</url-pattern>
 	</filter-mapping>
+
 		
+	<!-- Rpc Restriction Filter
+		 <url-pattern> MUST match: 
+			* RpcServlet
+			* com.gitblit.Constants.RPC_PATH
+			* Wicket Filter ignorePaths parameter -->
+	<filter>
+		<filter-name>RpcFilter</filter-name>
+		<filter-class>com.gitblit.RpcFilter</filter-class>
+	</filter>
+	<filter-mapping>
+		<filter-name>RpcFilter</filter-name>
+		<url-pattern>/rpc/*</url-pattern>
+	</filter-mapping>
+
+
+	<!-- Pges Restriction Filter
+		 <url-pattern> MUST match: 
+			* PagesServlet
+			* com.gitblit.Constants.PAGES_PATH
+			* Wicket Filter ignorePaths parameter -->
+	<filter>
+		<filter-name>PagesFilter</filter-name>
+		<filter-class>com.gitblit.PagesFilter</filter-class>
+	</filter>
+	<filter-mapping>
+		<filter-name>PagesFilter</filter-name>
+		<url-pattern>/pages/*</url-pattern>
+	</filter-mapping>
+
+
 	<!-- Wicket Filter -->
     <filter>
         <filter-name>wicketFilter</filter-name>
@@ -136,8 +233,13 @@
              	* Zipfilter <url-pattern>
              	* ZipServlet <url-pattern>
              	* com.gitblit.Constants.ZIP_PATH
-             	* FederationServlet <url-pattern> -->
-            <param-value>git/,feed/,zip/,federation/</param-value>
+             	* FederationServlet <url-pattern>
+             	* RpcFilter <url-pattern>
+             	* RpcServlet <url-pattern>
+             	* PagesFilter <url-pattern>
+             	* PagesServlet <url-pattern>
+             	* com.gitblit.Constants.PAGES_PATH -->
+            <param-value>git/,feed/,zip/,federation/,rpc/,pages/,robots.txt</param-value>
         </init-param>
     </filter>
     <filter-mapping>

--
Gitblit v1.9.1