For reference: [1] https://wiki.apache.org/tomcat/Specifications [2] https://jcp.org/aboutJava/communityprocess/maintenance/jsr154/JSR154ChangeLog.html There exists two versions of Servlet 2.5 specification [1]: 1) "Maintenance Release", 11 May, 2006 2) "Maintenance Release 2", 11 Sep, 2007 I do not have a copy of "1)", but my copy of "2)" (servlet-2_5-mrel2-spec.pdf) has "Version 2.5 MR6" on its front page. It aligns with change log numbering [2] and with "Change Log" section of the PDF file. So I am looking at "Changes since Servlet 2.5 MR 5" section of the PDF. There are two clarifications and one change to the deployment descriptor. [quote] The facet for http-method element in the deployment descriptor is currently more restrictive than the http specification. The following change is being made to the descriptor to allow the set of method names as defined by the http specification. The pattern value of http-methodType is being changed from <xsd:pattern value="[\p{L}-[\p{Cc}\p{Z}]]+"/> to closely match what the http specification lists as allowable http methods names. <xsd:pattern value="[!-~-[\(\)<>@,;:"/ \[\]?=\{\}\\\p{Z}]]+"/> [/quote] This change is not present in our copy of java\javax\servlet\resources\web-app_2_5.xsd in Tomcat 6, nor in 7/8/trunk. For later version of specification the correct value is present in web-common_3_0.xsd
Fixed in trunk, 8.0.x (for 8.0.21 onwards) and 7.0.x (for 7.0.60 onwards). Proposed for 6.0.x
Fixed in 6.0.x for 6.0.44 onwards.