This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
     new a711248  BZ 45995 / BZ 64237. Make MIME mappings case insensitive
a711248 is described below

commit a71124863f32517f0ecfc962c5224a5b950bf6b7
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Mar 30 16:43:08 2020 +0100

    BZ 45995 / BZ 64237. Make MIME mappings case insensitive
    
    https://bz.apache.org/bugzilla/show_bug.cgi?id=45955
    https://bz.apache.org/bugzilla/show_bug.cgi?id=64237
---
 conf/web.xml                                       | 1 +
 java/org/apache/catalina/core/StandardContext.java | 6 ++----
 webapps/docs/changelog.xml                         | 5 +++++
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/conf/web.xml b/conf/web.xml
index a24d10f..aa62dde 100644
--- a/conf/web.xml
+++ b/conf/web.xml
@@ -620,6 +620,7 @@
   <!-- based on these mappings.  Additional mappings can be added here (to  -->
   <!-- apply to all web applications), or in your own application's web.xml -->
   <!-- deployment descriptor.                                               -->
+  <!-- Note: Extensions are always matched in a case-insensitive manner.    -->
 
     <mime-mapping>
         <extension>123</extension>
diff --git a/java/org/apache/catalina/core/StandardContext.java 
b/java/org/apache/catalina/core/StandardContext.java
index 0b18027..af356b2 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -3365,7 +3365,7 @@ public class StandardContext extends ContainerBase
     public void addMimeMapping(String extension, String mimeType) {
 
         synchronized (mimeMappings) {
-            mimeMappings.put(extension, mimeType);
+            mimeMappings.put(extension.toLowerCase(Locale.ENGLISH), mimeType);
         }
         fireContainerEvent("addMimeMapping", extension);
 
@@ -3884,9 +3884,7 @@ public class StandardContext extends ContainerBase
      */
     @Override
     public String findMimeMapping(String extension) {
-
-        return (mimeMappings.get(extension));
-
+        return mimeMappings.get(extension.toLowerCase(Locale.ENGLISH));
     }
 
 
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 99e9eff..1dfe291 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -62,6 +62,11 @@
 <section name="Tomcat 7.0.104 (violetagg)">
   <subsection name="Catalina">
     <changelog>
+      <add>
+        <bug>45995</bug>, <bug>64237</bug>: Align Tomcat with Apache httpd and
+        perform MIME type mapping based on file extension in a case insensitive
+        manner. (markt)
+      </add>
       <fix>
         <bug>64226</bug>: Reset timezone after parsing a date since the date
         format is reused. Test case submitted by Gary Thomas. (remm)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to