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