You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Cliff Skolnick <cl...@organic.com> on 1996/07/17 21:02:58 UTC

WWW Form Bug Report: "(patch? for) application/x-compress and application/x-gzip in mime.types cause problems" on Solaris 2.x (fwd)

but then of course the code could be changed ;)

--
Cliff Skolnick, CIO      http://www.organic.com/     cliff@organic.com
Organic Online, Inc.       ** we're hiring **           (415) 278-5650
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety." -- Benjamin Franklin, 1759

---------- Forwarded message ----------
Date: Wed Jul 17  3:43:42 1996
From: Axel.Belinfante@cs.utwente.nl
To: cliff@organic.com
Subject: WWW Form Bug Report: "(patch? for) application/x-compress and application/x-gzip in mime.types cause problems" on Solaris 2.x

Submitter: Axel.Belinfante@cs.utwente.nl
Operating system: Solaris 2.x, version: 
Version of Apache Used: 1.0.0 and 1.1.1
Extra Modules used: for 1.1.1 only default (as distributed) modules used
URL exhibiting problem: 

Symptoms:
--
I had a look at the source code, and a fix _could_
be to change
   int find_ct(request_rec *r)
as follows:

*** mod_mime.c.original Wed Jul 17 12:34:07 1996
--- mod_mime.c  Wed Jul 17 12:35:10 1996
***************
*** 240,265 ****
      while ((ext = getword(r->pool, &fn, '.')) && *ext) {
        int found = 0;
  
!       /* Check for Content-Type */
!       if ((type = table_get (conf->forced_types, ext))
!         || (type = table_get (hash_buckets[hash(*ext)], ext))) {
!           r->content_type = type;
          found = 1;
        }
  
        /* Check for Content-Language */
        if ((type = table_get (conf->language_types, ext))) {
          r->content_language = type;
          found = 1;
        }
  
!       /* Check for Content-Encoding */
!       if ((type = table_get (conf->encoding_types, ext))) {
!         if (!r->content_encoding)
!             r->content_encoding = type;
!         else
!             r->content_encoding = pstrcat(r->pool, r->content_encoding,
!                                           ", ", type, NULL);
          found = 1;
        }
  
--- 240,267 ----
      while ((ext = getword(r->pool, &fn, '.')) && *ext) {
        int found = 0;
  
!       /* Check for Content-Encoding */
!       if ((type = table_get (conf->encoding_types, ext))) {
!         if (!r->content_encoding)
!             r->content_encoding = type;
!         else
!             r->content_encoding = pstrcat(r->pool, r->content_encoding,
!                                           ", ", type, NULL);
          found = 1;
+         continue;
        }
  
        /* Check for Content-Language */
        if ((type = table_get (conf->language_types, ext))) {
          r->content_language = type;
          found = 1;
+         continue;
        }
  
!       /* Check for Content-Type */
!       if ((type = table_get (conf->forced_types, ext))
!         || (type = table_get (hash_buckets[hash(*ext)], ext))) {
!           r->content_type = type;
          found = 1;
        }

--

Backtrace:
--

--