[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

patch for apache which fixes the problem with content negotiation available



The problem with apache has been fixed by Darren Benham and myself.

The patch can be retrieved from http://www.debian.org/~treacy/mod_negotiation.diff
but is replicated below since it is so small.
If you trust a precompiled module, you can simply grab
http://www.debian.org/~treacy/mod_negotiation.so
and use it to replace the current version in /usr/lib/apache/1.3/
Simply restart apache when done.

Jay Treacy

----------------- begin mod_negotiation.diff -----------------------
The following patch fixes a problem with content negotiation in apache.
The problem is that clients that don't send an Accept-Language: header
can receive the wrong language.

As is apparent from the patch, the file mod_negotiation.c needs one line
modified. This file can be found in apache-1.3.3/src/modules/standard/

The patch has been sent to apache and will hopefully make it into the
next release.

*** mod_negotiation.c.orig      Wed Nov  4 16:14:28 1998
--- mod_negotiation.c   Tue Nov  3 11:53:28 1998
***************
*** 1651,1657 ****
  
      /* if language qualities were equal, try the LanguagePriority
       * stuff */
!     if (best->lang_index != -1 && variant->lang_index > best->lang_index) {
          return 0;
      }
      if (variant->lang_index != -1 &&
--- 1645,1651 ----
  
      /* if language qualities were equal, try the LanguagePriority
       * stuff */
!     if (best->lang_index != -1 && (variant->lang_index == -1 || variant->lang_index > best->lang_index))

{
          return 0;
      }
      if (variant->lang_index != -1 &&
***************
----------------- end mod_negotiation.diff -----------------------


Reply to: