config/dist/web.xml

Code
Comments
Other
Rev Date Author Line
4888 06 Apr 09 nicklas 1 <?xml version="1.0" encoding="UTF-8"?>
4888 06 Apr 09 nicklas 2 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
4888 06 Apr 09 nicklas 3   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4888 06 Apr 09 nicklas 4   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
6144 21 Sep 12 nicklas 5   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
6144 21 Sep 12 nicklas 6    version="3.0">
4888 06 Apr 09 nicklas 7     
2959 27 Nov 06 nicklas 8 <!--
2959 27 Nov 06 nicklas 9   $Id$
2959 27 Nov 06 nicklas 10
3675 16 Aug 07 jari 11   Copyright (C) 2006, 2007 Nicklas Nordborg
2959 27 Nov 06 nicklas 12
2959 27 Nov 06 nicklas 13   This file is part of BASE - BioArray Software Environment.
2959 27 Nov 06 nicklas 14   Available at http://base.thep.lu.se/
2959 27 Nov 06 nicklas 15
2959 27 Nov 06 nicklas 16   BASE is free software; you can redistribute it and/or
2959 27 Nov 06 nicklas 17   modify it under the terms of the GNU General Public License
4474 05 Sep 08 jari 18   as published by the Free Software Foundation; either version 3
2959 27 Nov 06 nicklas 19   of the License, or (at your option) any later version.
2959 27 Nov 06 nicklas 20
2959 27 Nov 06 nicklas 21   BASE is distributed in the hope that it will be useful,
2959 27 Nov 06 nicklas 22   but WITHOUT ANY WARRANTY; without even the implied warranty of
2959 27 Nov 06 nicklas 23   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2959 27 Nov 06 nicklas 24   GNU General Public License for more details.
2959 27 Nov 06 nicklas 25
2959 27 Nov 06 nicklas 26   You should have received a copy of the GNU General Public License
4508 11 Sep 08 jari 27   along with BASE. If not, see <http://www.gnu.org/licenses/>.
2959 27 Nov 06 nicklas 28 -->
2959 27 Nov 06 nicklas 29
2959 27 Nov 06 nicklas 30   <display-name>BASE</display-name>
2959 27 Nov 06 nicklas 31   <description>
4483 07 Sep 08 jari 32     The BASE web application.
2959 27 Nov 06 nicklas 33   </description>
2959 27 Nov 06 nicklas 34   
2959 27 Nov 06 nicklas 35   <error-page>
2959 27 Nov 06 nicklas 36     <exception-type>java.lang.Throwable</exception-type>
2959 27 Nov 06 nicklas 37     <location>/exception/exception.jsp</location>
2959 27 Nov 06 nicklas 38   </error-page>
2959 27 Nov 06 nicklas 39   
7114 16 Mar 16 nicklas 40   <error-page>
7114 16 Mar 16 nicklas 41     <error-code>404</error-code>
7114 16 Mar 16 nicklas 42     <location>/exception/404.jsp</location>
7114 16 Mar 16 nicklas 43   </error-page>
7114 16 Mar 16 nicklas 44   
4888 06 Apr 09 nicklas 45   <jsp-config>
4888 06 Apr 09 nicklas 46     <jsp-property-group>
4888 06 Apr 09 nicklas 47       <url-pattern>*.jsp</url-pattern>
4888 06 Apr 09 nicklas 48       <page-encoding>UTF-8</page-encoding>
4888 06 Apr 09 nicklas 49     </jsp-property-group>
4888 06 Apr 09 nicklas 50   </jsp-config>
4888 06 Apr 09 nicklas 51   
4319 29 May 08 nicklas 52   <!-- 
4384 08 Aug 08 nicklas 53     If BASE Javascript encounters an URL that is longer than
4384 08 Aug 08 nicklas 54     specified by this setting when assigning it to for example
4384 08 Aug 08 nicklas 55     location.href = url, BASE will instead try to rewrite the document
4384 08 Aug 08 nicklas 56     to generate a POST request instead. This is to avoid problem with
4384 08 Aug 08 nicklas 57     web servers that doesn't accept URL:s longer than a specified size
4384 08 Aug 08 nicklas 58     For example, Apache has a default max length of 8190. If this setting
4384 08 Aug 08 nicklas 59     is 0, the rewrite functionality is disabled.
4384 08 Aug 08 nicklas 60   -->
4384 08 Aug 08 nicklas 61   <context-param>
4384 08 Aug 08 nicklas 62     <param-name>max-url-length</param-name>
4384 08 Aug 08 nicklas 63     <param-value>8000</param-value>
4384 08 Aug 08 nicklas 64   </context-param>
4384 08 Aug 08 nicklas 65   
4384 08 Aug 08 nicklas 66   <!-- 
6629 27 Nov 14 nicklas 67     Listener implementation that start and stop BASE 
6629 27 Nov 14 nicklas 68     when the Tomcat is starting/stopping.
4319 29 May 08 nicklas 69   -->
6629 27 Nov 14 nicklas 70   <listener>
6144 21 Sep 12 nicklas 71     <description>Starts and stops BASE when Tomcat is starting and stopping</description>
6144 21 Sep 12 nicklas 72     <display-name>BASE Start/Stop servlet</display-name>
6629 27 Nov 14 nicklas 73     <listener-class>net.sf.basedb.clients.web.servlet.StartStopServlet</listener-class>
6629 27 Nov 14 nicklas 74   </listener>
4319 29 May 08 nicklas 75   
2959 27 Nov 06 nicklas 76   <!-- The View servlet used to download files in view mode -->
2959 27 Nov 06 nicklas 77   <servlet>
6144 21 Sep 12 nicklas 78     <description>Servlet for viewing files in the BASE file system</description>
6144 21 Sep 12 nicklas 79     <display-name>File view servlet</display-name>
2959 27 Nov 06 nicklas 80     <servlet-name>view</servlet-name>
2959 27 Nov 06 nicklas 81     <servlet-class>
2959 27 Nov 06 nicklas 82       net.sf.basedb.clients.web.servlet.Download
2959 27 Nov 06 nicklas 83     </servlet-class>
2959 27 Nov 06 nicklas 84     <init-param>
2959 27 Nov 06 nicklas 85       <param-name>default_mime_type</param-name>
2959 27 Nov 06 nicklas 86       <param-value>text/plain</param-value>
2959 27 Nov 06 nicklas 87     </init-param>
2959 27 Nov 06 nicklas 88     <init-param>
2959 27 Nov 06 nicklas 89       <param-name>use_path_info</param-name>
2959 27 Nov 06 nicklas 90       <param-value>false</param-value>
2959 27 Nov 06 nicklas 91     </init-param>
2959 27 Nov 06 nicklas 92   </servlet>
2959 27 Nov 06 nicklas 93   <servlet-mapping>
2959 27 Nov 06 nicklas 94     <servlet-name>view</servlet-name>
2959 27 Nov 06 nicklas 95     <url-pattern>/filemanager/files/view/*</url-pattern>
2959 27 Nov 06 nicklas 96   </servlet-mapping>
2959 27 Nov 06 nicklas 97
2959 27 Nov 06 nicklas 98   <!-- The Download servlet used to download files in download mode -->
2959 27 Nov 06 nicklas 99   <servlet>
6144 21 Sep 12 nicklas 100     <description>
6144 21 Sep 12 nicklas 101       Servlet for downloading files from the BASE file system. Is the same as 
6144 21 Sep 12 nicklas 102       the 'view' servlet but sets the 'Content-Disposition' response header to
6144 21 Sep 12 nicklas 103       force browsers to prompt with a 'Save As' dialog.
6144 21 Sep 12 nicklas 104     </description>
6144 21 Sep 12 nicklas 105     <display-name>File download servlet</display-name>
2959 27 Nov 06 nicklas 106     <servlet-name>download</servlet-name>
2959 27 Nov 06 nicklas 107     <servlet-class>
2959 27 Nov 06 nicklas 108       net.sf.basedb.clients.web.servlet.Download
2959 27 Nov 06 nicklas 109     </servlet-class>
2959 27 Nov 06 nicklas 110     <init-param>
2959 27 Nov 06 nicklas 111       <param-name>default_mime_type</param-name>
2959 27 Nov 06 nicklas 112       <param-value>text/plain</param-value>
2959 27 Nov 06 nicklas 113     </init-param>
2959 27 Nov 06 nicklas 114     <init-param>
2959 27 Nov 06 nicklas 115       <param-name>download</param-name>
2959 27 Nov 06 nicklas 116       <param-value>true</param-value>
2959 27 Nov 06 nicklas 117     </init-param>
2959 27 Nov 06 nicklas 118     <init-param>
2959 27 Nov 06 nicklas 119       <param-name>use_path_info</param-name>
2959 27 Nov 06 nicklas 120       <param-value>false</param-value>
2959 27 Nov 06 nicklas 121     </init-param>
2959 27 Nov 06 nicklas 122   </servlet>
2959 27 Nov 06 nicklas 123   <servlet-mapping>
2959 27 Nov 06 nicklas 124     <servlet-name>download</servlet-name>
2959 27 Nov 06 nicklas 125     <url-pattern>/filemanager/files/download/*</url-pattern>
2959 27 Nov 06 nicklas 126   </servlet-mapping>
2959 27 Nov 06 nicklas 127
5395 27 Aug 10 nicklas 128   <!-- The Upload servlet used to upload files  -->
5395 27 Aug 10 nicklas 129   <servlet>
6144 21 Sep 12 nicklas 130     <description>Servlet that handles file upload</description>
6144 21 Sep 12 nicklas 131     <display-name>File upload servlet</display-name>
5395 27 Aug 10 nicklas 132     <servlet-name>upload</servlet-name>
5395 27 Aug 10 nicklas 133     <servlet-class>
5395 27 Aug 10 nicklas 134       net.sf.basedb.clients.web.servlet.Upload
5395 27 Aug 10 nicklas 135     </servlet-class>
5395 27 Aug 10 nicklas 136   </servlet>
5395 27 Aug 10 nicklas 137   <servlet-mapping>
5395 27 Aug 10 nicklas 138     <servlet-name>upload</servlet-name>
5395 27 Aug 10 nicklas 139     <url-pattern>/filemanager/upload/Upload</url-pattern>
5395 27 Aug 10 nicklas 140   </servlet-mapping>
2959 27 Nov 06 nicklas 141
2959 27 Nov 06 nicklas 142   <!-- The Generic PlotServlet for the HTML plot tool -->
2959 27 Nov 06 nicklas 143   <servlet>
6144 21 Sep 12 nicklas 144     <description>A generic plotter for analyzed data</description>
6144 21 Sep 12 nicklas 145     <display-name>Plot servlet</display-name>
2959 27 Nov 06 nicklas 146     <servlet-name>plotter</servlet-name>
2959 27 Nov 06 nicklas 147     <servlet-class>
2959 27 Nov 06 nicklas 148       net.sf.basedb.clients.web.servlet.PlotServlet
2959 27 Nov 06 nicklas 149     </servlet-class>
2959 27 Nov 06 nicklas 150     <init-param>
2959 27 Nov 06 nicklas 151       <param-name>maxWidth</param-name>
2959 27 Nov 06 nicklas 152       <param-value>1000</param-value>
2959 27 Nov 06 nicklas 153     </init-param>
2959 27 Nov 06 nicklas 154     <init-param>
2959 27 Nov 06 nicklas 155       <param-name>maxHeight</param-name>
2959 27 Nov 06 nicklas 156       <param-value>800</param-value>
2959 27 Nov 06 nicklas 157     </init-param>
2959 27 Nov 06 nicklas 158     <init-param>
2959 27 Nov 06 nicklas 159       <param-name>defaultWidth</param-name>
2959 27 Nov 06 nicklas 160       <param-value>600</param-value>
2959 27 Nov 06 nicklas 161     </init-param>
2959 27 Nov 06 nicklas 162     <init-param>
2959 27 Nov 06 nicklas 163       <param-name>defaultHeight</param-name>
2959 27 Nov 06 nicklas 164       <param-value>400</param-value>
2959 27 Nov 06 nicklas 165     </init-param>
2959 27 Nov 06 nicklas 166     <init-param>
2959 27 Nov 06 nicklas 167       <param-name>defaultFormat</param-name>
2959 27 Nov 06 nicklas 168       <param-value>png</param-value>
2959 27 Nov 06 nicklas 169     </init-param>
2959 27 Nov 06 nicklas 170   </servlet>
2959 27 Nov 06 nicklas 171   <servlet-mapping>
2959 27 Nov 06 nicklas 172     <servlet-name>plotter</servlet-name>
2959 27 Nov 06 nicklas 173     <url-pattern>/views/experiments/plotter/plot</url-pattern>
2959 27 Nov 06 nicklas 174   </servlet-mapping>
2959 27 Nov 06 nicklas 175
5114 02 Oct 09 nicklas 176   <!-- The ExperimentExplorer PlotServlet  -->
5114 02 Oct 09 nicklas 177   <servlet>
6144 21 Sep 12 nicklas 178     <description>A specialied plot servlet for the experiment explorer</description>
6144 21 Sep 12 nicklas 179     <display-name>Experiment explorer plot servlet</display-name>
5114 02 Oct 09 nicklas 180     <servlet-name>eeplotter</servlet-name>
5114 02 Oct 09 nicklas 181     <servlet-class>
5114 02 Oct 09 nicklas 182       net.sf.basedb.clients.web.servlet.ExperimentExplorerPlotServlet
5114 02 Oct 09 nicklas 183     </servlet-class>
5114 02 Oct 09 nicklas 184   </servlet>
5114 02 Oct 09 nicklas 185   <servlet-mapping>
5114 02 Oct 09 nicklas 186     <servlet-name>eeplotter</servlet-name>
5114 02 Oct 09 nicklas 187     <url-pattern>/views/experiments/explorer/plot</url-pattern>
5114 02 Oct 09 nicklas 188   </servlet-mapping>
5114 02 Oct 09 nicklas 189
5478 05 Nov 10 nicklas 190   <!-- The News feed servlet  -->
5479 08 Nov 10 nicklas 191   <!-- Comment out this servlet to disable the RSS feed -->
5478 05 Nov 10 nicklas 192   <servlet>
6144 21 Sep 12 nicklas 193     <description>Generate an RSS feed from public BASE news</description>
6144 21 Sep 12 nicklas 194     <display-name>News RSS feed servlet</display-name>
5478 05 Nov 10 nicklas 195     <servlet-name>news-feed</servlet-name>
5478 05 Nov 10 nicklas 196     <servlet-class>
5478 05 Nov 10 nicklas 197       net.sf.basedb.clients.web.servlet.RssNewsFeed
5478 05 Nov 10 nicklas 198     </servlet-class>
5479 08 Nov 10 nicklas 199     <load-on-startup>1</load-on-startup>
5478 05 Nov 10 nicklas 200   </servlet>
5478 05 Nov 10 nicklas 201   <servlet-mapping>
5478 05 Nov 10 nicklas 202     <servlet-name>news-feed</servlet-name>
5478 05 Nov 10 nicklas 203     <url-pattern>/info/news.rss</url-pattern>
5478 05 Nov 10 nicklas 204   </servlet-mapping>
5114 02 Oct 09 nicklas 205
4187 20 Mar 08 nicklas 206   <!-- Extensions servlet for managing extensions to the web client -->
4187 20 Mar 08 nicklas 207   <servlet>
6144 21 Sep 12 nicklas 208     <description>
6629 27 Nov 14 nicklas 209       Handles request for servlets inside extensions.
6144 21 Sep 12 nicklas 210     </description>
6144 21 Sep 12 nicklas 211     <display-name>Web client extensions manager</display-name>
4187 20 Mar 08 nicklas 212     <servlet-name>ExtensionsServlet</servlet-name>
4187 20 Mar 08 nicklas 213     <servlet-class>net.sf.basedb.clients.web.servlet.ExtensionsServlet</servlet-class>
4187 20 Mar 08 nicklas 214   </servlet>
4221 14 Apr 08 nicklas 215   <servlet-mapping>
4221 14 Apr 08 nicklas 216     <servlet-name>ExtensionsServlet</servlet-name>
4221 14 Apr 08 nicklas 217     <url-pattern>*.servlet</url-pattern>
4221 14 Apr 08 nicklas 218   </servlet-mapping>
4975 15 Jun 09 nicklas 219   <servlet-mapping>
4975 15 Jun 09 nicklas 220     <servlet-name>ExtensionsServlet</servlet-name>
4975 15 Jun 09 nicklas 221     <url-pattern>/extensions/servlet/*</url-pattern>
4975 15 Jun 09 nicklas 222   </servlet-mapping>
7608 27 Feb 19 nicklas 223
7608 27 Feb 19 nicklas 224   <!-- Replaces the default *.jsp servlet mapping in the global web.xml -->
7608 27 Feb 19 nicklas 225   <!-- Our JSP:s will not compile unless:   -->
7608 27 Feb 19 nicklas 226   <!-- strictQuoteEscaping=false (default is true)-->
7711 21 May 19 nicklas 227   <!-- compilerSourceVM=11 (default is 1.8) -->
7711 21 May 19 nicklas 228   <!-- compilerTargetVM=11 (default is 1.8) -->
7608 27 Feb 19 nicklas 229   <servlet>
7608 27 Feb 19 nicklas 230     <servlet-name>jsp</servlet-name>
7608 27 Feb 19 nicklas 231     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
7608 27 Feb 19 nicklas 232     <init-param>
7608 27 Feb 19 nicklas 233       <param-name>strictQuoteEscaping</param-name>
7608 27 Feb 19 nicklas 234       <param-value>false</param-value>
7608 27 Feb 19 nicklas 235     </init-param>
7608 27 Feb 19 nicklas 236     <init-param>
7608 27 Feb 19 nicklas 237       <param-name>compilerSourceVM</param-name>
7711 21 May 19 nicklas 238       <param-value>11</param-value>
7608 27 Feb 19 nicklas 239     </init-param>
7608 27 Feb 19 nicklas 240     <init-param>
7608 27 Feb 19 nicklas 241       <param-name>compilerTargetVM</param-name>
7711 21 May 19 nicklas 242       <param-value>11</param-value>
7608 27 Feb 19 nicklas 243     </init-param>
7608 27 Feb 19 nicklas 244     <init-param>
7608 27 Feb 19 nicklas 245       <param-name>fork</param-name>
7608 27 Feb 19 nicklas 246       <param-value>false</param-value>
7608 27 Feb 19 nicklas 247     </init-param>
7608 27 Feb 19 nicklas 248     <init-param>
7608 27 Feb 19 nicklas 249       <param-name>xpoweredBy</param-name>
7608 27 Feb 19 nicklas 250       <param-value>false</param-value>
7608 27 Feb 19 nicklas 251     </init-param>
7608 27 Feb 19 nicklas 252     <load-on-startup>3</load-on-startup>
7608 27 Feb 19 nicklas 253   </servlet>
4221 14 Apr 08 nicklas 254   
4222 15 Apr 08 nicklas 255   <!-- Mapping *.xjsp files to a custom JSP compiler that adds extension JAR file to classpath -->
4222 15 Apr 08 nicklas 256   <!-- EXPERIMENTAL!! -->
4222 15 Apr 08 nicklas 257     <servlet>
6144 21 Sep 12 nicklas 258        <description>
6144 21 Sep 12 nicklas 259         Handles compilation of *.xjsp files which are like normal *.jsp files but the
6144 21 Sep 12 nicklas 260         classpath also include the JAR(s) for the extension.
6144 21 Sep 12 nicklas 261       </description>
6144 21 Sep 12 nicklas 262       <display-name>XJSP compiler for extensions (experimental!)</display-name>
4222 15 Apr 08 nicklas 263         <servlet-name>xjsp</servlet-name>
4222 15 Apr 08 nicklas 264         <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
7608 27 Feb 19 nicklas 265      <init-param>
7608 27 Feb 19 nicklas 266       <param-name>strictQuoteEscaping</param-name>
7608 27 Feb 19 nicklas 267       <param-value>false</param-value>
7608 27 Feb 19 nicklas 268     </init-param>
7608 27 Feb 19 nicklas 269     <init-param>
7608 27 Feb 19 nicklas 270       <param-name>compilerSourceVM</param-name>
7608 27 Feb 19 nicklas 271       <param-value>1.8</param-value>
7608 27 Feb 19 nicklas 272     </init-param>
7608 27 Feb 19 nicklas 273     <init-param>
7608 27 Feb 19 nicklas 274       <param-name>compilerTargetVM</param-name>
7608 27 Feb 19 nicklas 275       <param-value>1.8</param-value>
7608 27 Feb 19 nicklas 276     </init-param>
4222 15 Apr 08 nicklas 277         <init-param>
4222 15 Apr 08 nicklas 278             <param-name>fork</param-name>
4222 15 Apr 08 nicklas 279             <param-value>false</param-value>
4222 15 Apr 08 nicklas 280         </init-param>
4222 15 Apr 08 nicklas 281         <init-param>
4222 15 Apr 08 nicklas 282           <param-name>compilerClassName</param-name>
4222 15 Apr 08 nicklas 283           <param-value>net.sf.basedb.clients.web.extensions.XJspCompiler</param-value>
4222 15 Apr 08 nicklas 284         </init-param>
4222 15 Apr 08 nicklas 285     </servlet>
4222 15 Apr 08 nicklas 286     <servlet-mapping>
4222 15 Apr 08 nicklas 287         <servlet-name>xjsp</servlet-name>
4222 15 Apr 08 nicklas 288         <url-pattern>*.xjsp</url-pattern>
4222 15 Apr 08 nicklas 289     </servlet-mapping>
4222 15 Apr 08 nicklas 290
4222 15 Apr 08 nicklas 291   
2959 27 Nov 06 nicklas 292   <!-- The CompileAll servlet used to compile all JSP pages -->
2959 27 Nov 06 nicklas 293   <!-- EXPERIMENTAL!! -->
2959 27 Nov 06 nicklas 294   <!--
2959 27 Nov 06 nicklas 295   <servlet>
2959 27 Nov 06 nicklas 296     <servlet-name>compile</servlet-name>
2959 27 Nov 06 nicklas 297     <servlet-class>
2959 27 Nov 06 nicklas 298       net.sf.basedb.clients.web.servlet.CompileAll
2959 27 Nov 06 nicklas 299     </servlet-class>
2959 27 Nov 06 nicklas 300   </servlet>
2959 27 Nov 06 nicklas 301   <servlet-mapping>
2959 27 Nov 06 nicklas 302     <servlet-name>compile</servlet-name>
2959 27 Nov 06 nicklas 303     <url-pattern>/compile</url-pattern>
2959 27 Nov 06 nicklas 304   </servlet-mapping>
2959 27 Nov 06 nicklas 305   -->
2959 27 Nov 06 nicklas 306
4225 16 Apr 08 nicklas 307   <!-- A filter that sets the character encoding on all *.jsp and *.xjsp files -->
2959 27 Nov 06 nicklas 308   <filter>
6144 21 Sep 12 nicklas 309     <description>Filter that set the character encoding in the Content-Type response header.</description>
6144 21 Sep 12 nicklas 310     <display-name>Character encoding filter</display-name>
2959 27 Nov 06 nicklas 311     <filter-name>characterEncoding</filter-name>
2959 27 Nov 06 nicklas 312     <filter-class>net.sf.basedb.clients.web.servlet.CharacterEncodingFilter</filter-class>
2959 27 Nov 06 nicklas 313     <init-param>
2959 27 Nov 06 nicklas 314       <param-name>characterEncoding</param-name>
2959 27 Nov 06 nicklas 315       <param-value>UTF-8</param-value>
2959 27 Nov 06 nicklas 316     </init-param>
2959 27 Nov 06 nicklas 317   </filter>
2959 27 Nov 06 nicklas 318   <filter-mapping>
2959 27 Nov 06 nicklas 319     <filter-name>characterEncoding</filter-name>
2959 27 Nov 06 nicklas 320     <url-pattern>*.jsp</url-pattern>
2959 27 Nov 06 nicklas 321   </filter-mapping>
4225 16 Apr 08 nicklas 322   <filter-mapping>
4225 16 Apr 08 nicklas 323     <filter-name>characterEncoding</filter-name>
4225 16 Apr 08 nicklas 324     <url-pattern>*.xjsp</url-pattern>
4225 16 Apr 08 nicklas 325   </filter-mapping>
2959 27 Nov 06 nicklas 326
5900 07 Dec 11 nicklas 327   <!-- A filter that disable client-side caching -->
5900 07 Dec 11 nicklas 328   <!-- Use for developing only -->
5900 07 Dec 11 nicklas 329   <!-- 
5900 07 Dec 11 nicklas 330   <filter>
6144 21 Sep 12 nicklas 331     <description>
6144 21 Sep 12 nicklas 332       A filter that can be used to set the 'Cache-Control' response header.
6144 21 Sep 12 nicklas 333       Primary use is to disable caching of *.css and *.js files in development 
6144 21 Sep 12 nicklas 334       mode.
6144 21 Sep 12 nicklas 335     </description>
6144 21 Sep 12 nicklas 336     <display-name>Cache control filter</display-name>
5900 07 Dec 11 nicklas 337     <filter-name>noCache</filter-name>
5900 07 Dec 11 nicklas 338     <filter-class>net.sf.basedb.clients.web.servlet.CacheControlFilter</filter-class>
5900 07 Dec 11 nicklas 339     <init-param>
5900 07 Dec 11 nicklas 340       <param-name>cache-control</param-name>
5900 07 Dec 11 nicklas 341       <param-value>no-cache, max-age=0</param-value>
5900 07 Dec 11 nicklas 342     </init-param>
5900 07 Dec 11 nicklas 343   </filter>
5900 07 Dec 11 nicklas 344   <filter-mapping>
5900 07 Dec 11 nicklas 345     <filter-name>noCache</filter-name>
5900 07 Dec 11 nicklas 346     <url-pattern>*.css</url-pattern>
5900 07 Dec 11 nicklas 347   </filter-mapping>
5900 07 Dec 11 nicklas 348   <filter-mapping>
5900 07 Dec 11 nicklas 349     <filter-name>noCache</filter-name>
5900 07 Dec 11 nicklas 350     <url-pattern>*.js</url-pattern>
5900 07 Dec 11 nicklas 351   </filter-mapping>
5900 07 Dec 11 nicklas 352   -->
5900 07 Dec 11 nicklas 353
6406 30 Jan 14 nicklas 354   <!-- A filter that add Content-Security-Policy header -->
6406 30 Jan 14 nicklas 355   <filter>
6406 30 Jan 14 nicklas 356     <description>
6406 30 Jan 14 nicklas 357       A filter that can be used to set the 'Content-Security-Policy' response header.
6406 30 Jan 14 nicklas 358       Primary use is to reduce the risk of cross-site scripting attacks. By default
6406 30 Jan 14 nicklas 359       only content from the same BASE server is allowed but we also need inline 
6497 26 Jun 14 nicklas 360       style definitions and data: image URLs and disallow browser plug-ins (flash, etc.) 
6497 26 Jun 14 nicklas 361       completely. 
6406 30 Jan 14 nicklas 362       
6406 30 Jan 14 nicklas 363       Note that extensions to BASE may need more permissions, for example
6417 06 Feb 14 nicklas 364       use of inline javascript. If (and only if) the extension itself declare 
6417 06 Feb 14 nicklas 365       'safe-resources="0"' in it's configuration, requests to /extensions/ subirectory 
6417 06 Feb 14 nicklas 366       uses the 'unsafe-resources-policy' setting. For extensions that need inline scripts also
6417 06 Feb 14 nicklas 367       within BASE pages, the 'policy' setting must be modified to include:
6406 30 Jan 14 nicklas 368       
6406 30 Jan 14 nicklas 369       script-src 'self' 'unsafe-inline';
6406 30 Jan 14 nicklas 370       
6406 30 Jan 14 nicklas 371       See http://www.html5rocks.com/en/tutorials/security/content-security-policy/
6406 30 Jan 14 nicklas 372       for a good tutorial about content security policy
7428 23 Nov 17 nicklas 373
7428 23 Nov 17 nicklas 374       Violations to the policy are normally not logged. To enable logging add the
7428 23 Nov 17 nicklas 375       report-uri directive to the 'policy' setting:
7428 23 Nov 17 nicklas 376       
7428 23 Nov 17 nicklas 377       report-uri /{context}/csp-report;
7428 23 Nov 17 nicklas 378       
7428 23 Nov 17 nicklas 379       Replace {context} with the path under which your BASE installation is installed.
7428 23 Nov 17 nicklas 380       You also need to enabled the 'csp-report' defined below.
6406 30 Jan 14 nicklas 381     </description>
6406 30 Jan 14 nicklas 382     <display-name>Content security policy filter</display-name>
6406 30 Jan 14 nicklas 383     <filter-name>csp-filter</filter-name>
6406 30 Jan 14 nicklas 384     <filter-class>net.sf.basedb.clients.web.servlet.ContentSecurityPolicyFilter</filter-class>
6406 30 Jan 14 nicklas 385     <init-param>
6406 30 Jan 14 nicklas 386       <param-name>policy</param-name>
6497 26 Jun 14 nicklas 387       <param-value>default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; object-src 'none';</param-value>
6406 30 Jan 14 nicklas 388     </init-param>
6417 06 Feb 14 nicklas 389     <init-param>
6417 06 Feb 14 nicklas 390       <param-name>unsafe-resources-policy</param-name>
6497 26 Jun 14 nicklas 391       <param-value>default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; object-src 'none'; script-src 'self' 'unsafe-inline';</param-value>
6417 06 Feb 14 nicklas 392     </init-param>
6406 30 Jan 14 nicklas 393   </filter>
6406 30 Jan 14 nicklas 394   <filter-mapping>
6406 30 Jan 14 nicklas 395     <filter-name>csp-filter</filter-name>
6406 30 Jan 14 nicklas 396     <url-pattern>*</url-pattern>
6406 30 Jan 14 nicklas 397   </filter-mapping>
7428 23 Nov 17 nicklas 398
7428 23 Nov 17 nicklas 399   <!-- 
7428 23 Nov 17 nicklas 400     By default, logging of CSP violations is not enabled. See above how to enable the logging and
7428 23 Nov 17 nicklas 401     then uncomment the servlet definition below.
7428 23 Nov 17 nicklas 402   -->
7428 23 Nov 17 nicklas 403   <!-- 
6406 30 Jan 14 nicklas 404   <servlet>
6406 30 Jan 14 nicklas 405     <description>
6406 30 Jan 14 nicklas 406       A servlet for logging violations to the Content Security Policy.
6406 30 Jan 14 nicklas 407     </description>
6406 30 Jan 14 nicklas 408     <display-name>Content security policy reporter</display-name>
6406 30 Jan 14 nicklas 409     <servlet-name>csp-report</servlet-name>
6406 30 Jan 14 nicklas 410     <servlet-class>
6406 30 Jan 14 nicklas 411       net.sf.basedb.clients.web.servlet.ContentSecurityPolicyReportServlet
6406 30 Jan 14 nicklas 412     </servlet-class>
6406 30 Jan 14 nicklas 413   </servlet>
6406 30 Jan 14 nicklas 414   <servlet-mapping>
6406 30 Jan 14 nicklas 415     <servlet-name>csp-report</servlet-name>
6406 30 Jan 14 nicklas 416     <url-pattern>/csp-report</url-pattern>
6406 30 Jan 14 nicklas 417   </servlet-mapping>
7428 23 Nov 17 nicklas 418   -->
6632 28 Nov 14 nicklas 419   
6632 28 Nov 14 nicklas 420   <!-- A filter that remaps requests to images to skin-controlled variants -->
6632 28 Nov 14 nicklas 421   <filter>
6632 28 Nov 14 nicklas 422     <description>
6632 28 Nov 14 nicklas 423       This filter is used to support provide support for skins to re-map
6632 28 Nov 14 nicklas 424       images to their own versions. If this filter is disabled, skins will
6632 28 Nov 14 nicklas 425       not be able to remap images. Use the cachce-control parameter to control
6632 28 Nov 14 nicklas 426       the time client browsers are allowed to cache images. Skin changes
6632 28 Nov 14 nicklas 427       may not be visible until after this time (seconds) has passed.
6632 28 Nov 14 nicklas 428     </description>
6632 28 Nov 14 nicklas 429     <display-name>Image remap filter</display-name>
6632 28 Nov 14 nicklas 430     <filter-name>ImageRemap</filter-name>
6632 28 Nov 14 nicklas 431     <filter-class>net.sf.basedb.clients.web.servlet.ImageRemapFilter</filter-class>
6632 28 Nov 14 nicklas 432     <init-param>
6632 28 Nov 14 nicklas 433       <!-- max-age=time in seconds -->
6632 28 Nov 14 nicklas 434       <param-name>cache-control</param-name>
6632 28 Nov 14 nicklas 435       <param-value>max-age=3600</param-value>
6632 28 Nov 14 nicklas 436     </init-param>
6632 28 Nov 14 nicklas 437   </filter>
6632 28 Nov 14 nicklas 438   <filter-mapping>
6632 28 Nov 14 nicklas 439     <filter-name>ImageRemap</filter-name>
6632 28 Nov 14 nicklas 440     <url-pattern>*.png</url-pattern>
6632 28 Nov 14 nicklas 441   </filter-mapping>
6632 28 Nov 14 nicklas 442   <filter-mapping>
6632 28 Nov 14 nicklas 443     <filter-name>ImageRemap</filter-name>
6632 28 Nov 14 nicklas 444     <url-pattern>*.gif</url-pattern>
6632 28 Nov 14 nicklas 445   </filter-mapping>
6406 30 Jan 14 nicklas 446
2959 27 Nov 06 nicklas 447 </web-app>