On Sun, Mar 03, 2002 at 06:04:08AM -0000, [EMAIL PROTECTED] wrote: > rbb 02/03/02 22:04:08 > > Modified: . STATUS > include util_filter.h > server util_filter.c > Log: > This finishes the mod_dir/mod_negotiation bug. This final part of the > solution ensures that we don't lose filters if they are added later than > we expect. The problem could be seen if a connection filter was added > after a request-based filter was added in the past. The problem was that > the request-based filters pointed to the first filter in the connection > record, so the new connection filter was never called. Now, all filters > are put on their correct filter lists, and we are sure to always update > all pointers when adding a filter.
Please fix this or back it out (your choice). You just broke mod_dir and mod_negotation far worse than they were before. The header filters aren't getting added correctly, and at times, too many header filters are getting added. I have included two simple traces below (stock httpd-std.conf - no modifications). I still fail to see why you think protocol filters would solve this problem. I've explained my reasoning behind why I think this isn't a good idea. I've also pointed out a suggestion that I believe would work that is rather simple and would increase our flexibility. I'd like to hear your reasons why my approach isn't feasible. Regardless, these commits are broken. -- justin Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. GET / HTTP/1.1 Host: foo HTTP/1.1 200 OK Date: Sun, 03 Mar 2002 07:28:10 GMT Server: Apache/2.0.33-dev (Unix) DAV/2 Content-Location: index.html.en Vary: negotiate,accept,accept-language,accept-charset TCN: choice Content-Length: 1456 Content-Type: text/html; charset=ISO-8859-1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Test Page for Apache Installation</title> </head> <!-- Background white, links blue (unvisited), navy (visited), red (active) --> <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" alink="#FF0000"> <p>If you can see this, it means that the installation of the <a href="http://www.apache.org/foundation/preFAQ.html">Apache web server</a> software on this system was successful. You may now add content to this directory and replace this page.</p> <hr width="50%" size="8" /> <h2 align="center">Seeing this instead of the website you expected?</h2> <p>This page is here because the site administrator has changed the configuration of this web server. Please <strong>contact the person responsible for maintaining this server with questions.</strong> The Apache Software Foundation, which wrote the web server software this site administrator is using, has nothing to do with maintaining this site and cannot help resolve configuration issues.</p> <hr width="50%" size="8" /> <p>The Apache <a href="manual/">documentation</a> has been included with this distribution.</p> <p>You are free to use the image below on an Apache-powered web server. Thanks for using Apache!</p> <div align="center"><img src="apache_pb.gif" alt="" /></div> </body> </html> HTTP/1.1 200 OK Date: Sun, 03 Mar 2002 07:28:10 GMT Server: Apache/2.0.33-dev (Unix) DAV/2 Content-Location: index.html.en Vary: negotiate,accept,accept-language,accept-charset TCN: choice Content-Location: index.html.en TCN: choice Content-Length: 1456 Content-Type: text/html; charset=ISO-8859-1 HTTP/1.1 200 OK Date: Sun, 03 Mar 2002 07:28:10 GMT Server: Apache/2.0.33-dev (Unix) DAV/2 Content-Location: index.html.en Vary: negotiate,accept,accept-language,accept-charset TCN: choice Content-Location: index.html.en TCN: choice Content-Location: index.html.en TCN: choice Content-Length: 1456 Content-Type: text/html; charset=ISO-8859-1 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. GET /manual/ HTTP/1.1 Host: foo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="generator" content="HTML Tidy, see www.w3.org" /> <title>Apache HTTP Server Version 2.0 Documentation</title> </head> <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#000080" alink="#FF0000"> <div align="center"> <table cellspacing="0" cellpadding="0" border="0" width="600"> <tr> <td align="center"><img src="images/apache_header.gif" width="600" height="62" border="0" alt="[Apache Documentation]" /></td> </tr> <tr> <td align="center" bgcolor="#4f4f4f"> <table cellspacing="1" cellpadding="4" border="0" width="100%"> <tr> <td align="center" bgcolor="#bebebe"><a href="faq/"><strong>FAQ</strong></a> </td> <td align="center" bgcolor="#bebebe"><a href="sitemap.html"><strong>SiteMap</strong></a> </td> <td align="center" bgcolor="#bebebe"><a href="mod/directives.html"><strong>Directives</strong></a> </td> <td align="center" bgcolor="#bebebe"><a href="mod/"><strong>Modules</strong></a> </td> <td align="center" bgcolor="#bebebe"><a href="http://www.apache.org/search.html"><strong>Search</strong></a> </td> </tr> </table> </td> </tr> <tr> <td> </td> </tr> <tr> <td align="center" height="30"> <h3>Apache HTTP Server Version 2.0</h3> </td> </tr> </table> </div> <div align="center"> <table cellspacing="0" cellpadding="0" border="0" width="600"> <tr> <td align="center"> <form method="post" action="http://search.apache.org/"> <input type="hidden" name="what" value="httpd.apache.org" /> <input type="hidden" name="results" value="20" /> <input type="hidden" name="version" value="2" /> <input type="text" name="keyword" size="20" /> <input type="submit" value="Search" /> </form> </td> </tr> </table> <!-- <table cellspacing="0" cellpadding="0" border="0" width="600"> <tr> <td align="center"><hr size="1" noshade width="100%"> </td> </tr> </table> --> <table cellspacing="0" cellpadding="0" border="0" width="600"> <tr> <td align="center" valign="top"> <table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> <tr> <td align="center" bgcolor="#e9e9e9"> <strong>Release Notes</strong> </td> </tr> <tr> <td><a href="new_features_2_0.html">New Features in Version 2.0</a> </td> </tr> <tr> <td><a href="upgrading.html">Upgrading to Version 2.0</a> </td> </tr> <tr> <td><a href="LICENSE">Apache License</a> </td> </tr> </table> <table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> <tr> <td align="center" bgcolor="#e9e9e9"> <strong>Reference Manual</strong> </td> </tr> <tr> <td><a href="install.html">Compiling and Installing</a> </td> </tr> <tr> <td><a href="invoking.html">Starting</a> </td> </tr> <tr> <td><a href="stopping.html">Stopping or Restarting</a> </td> </tr> <tr> <td><a href="mod/directives.html">Run-time Configuration Directives</a> </td> </tr> <tr> <td>Modules: <a href="mod/index-bytype.html">By Type</a> or <a href="mod/">Alphabetical</a> </td> </tr> <tr> <td><a href="mpm.html">Multi-Processing Modules (MPMs)</a> </td> </tr> <tr> <td><a href="programs/">Server and Supporting Programs</a> </td> </tr> <tr> <td><a href="dso.html">Dynamic Shared Object (DSO) Support</a> </td> </tr> </table> <table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> <tr> <td align="center" bgcolor="#e9e9e9"> <strong>Platform Specific Notes</strong> </td> </tr> <tr> <td><a href="platform/windows.html">Microsoft Windows</a> </td> </tr> <tr> <td><a href="platform/netware.html">Novell NetWare </a> </td> </tr> </table> </td> <td align="center" valign="top" bgcolor="#cccccc"> <table border="0" cellpadding="0" cellspacing="0" bgcolor="#cccccc"> <tr> <td align="center"><img src="images/pixel.gif" width="1" height="1" border="0" alt="." /></td> </tr> </table> </td> <td align="center" valign="top"> <table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> <tr> <td align="center" bgcolor="#e9e9e9"><strong>Using the Apache HTTP Server</strong> </td> </tr> <tr> <td><a href="configuring.html">Configuration Files</a> </td> </tr> <tr> <td><a href="server-wide.html">Server-Wide Configuration</a> </td> </tr> <tr> <td><a href="logs.html">Log Files</a> </td> </tr> <tr> <td><a href="urlmapping.html">Mapping URLs to the Filesystem</a> </td> </tr> <tr> <td><a href="vhosts/">Virtual Hosts</a> </td> </tr> <tr> <td><a href="ssl/">SSL/TLS Strong Encryption</a></td> </tr> <tr> <td><a href="howto/ssi.html">Server Side Includes</a> </td> </tr> <tr> <td><a href="howto/cgi.html">Dynamic Content with CGI</a> </td> </tr> <tr> <td><a href="handler.html">Handlers</a> </td> </tr> <tr> <td><a href="filter.html">Filters</a> </td> </tr> <tr> <td><a href="content-negotiation.html">Content negotiation</a> </td> </tr> <tr> <td><a href="env.html">Environment Variables</a> </td> </tr> <tr> <td><a href="suexec.html">Using SetUserID Execution for CGI</a> </td> </tr> <tr> <td><a href="misc/perf-tuning.html">General Performance hints</a> </td> </tr> <tr> <td><a href="misc/security_tips.html">Security tips</a> </td> </tr> <tr> <td><a href="misc/rewriteguide.html">URL Rewriting Guide</a> </td> </tr> </table> <table border="0" cellpadding="4" cellspacing="0" bgcolor="#ffffff" width="280"> <tr> <td align="center" bgcolor="#e9e9e9"><strong>Other Topics</strong> </td> </tr> <tr> <td><a href="faq/">Frequently Asked Questions</a> </td> </tr> <tr> <td><a href="sitemap.html">SiteMap</a> </td> </tr> <tr> <td><a href="misc/tutorials.html">Tutorials</a> </td> </tr> <tr> <td><a href="developer/">Documentation for Developers</a> </td> </tr> <tr> <td><a href="misc/">Other Notes</a> </td> </tr> </table> </td> </tr> </table> </div> <p align="center">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a>.</p> <!--#include virtual="footer.html" --> </body> </html>