You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2002/04/05 05:02:44 UTC

Re: cvs commit: httpd-2.0/modules/filters mod_include.c

At 03:19 PM 4/4/2002, you wrote:
>rederpj     02/04/04 13:19:32
>
>   Modified:    modules/filters mod_include.c
>   Log:
>   This patch fixes a core dump that occurs in mod_include during tag parsing
>   if the starting sequence (<!--#) finishes at the end of a bucket and the
>   directive starts at the beginning of the next bucket.

   Revision  Changes    Path
   1.215     +47 -24    httpd-2.0/modules/filters/mod_include.c

Could any of the three or so of you who have looked at this problem already
vouch for Paul's solution here?  One enthusiastic +1 from those who know
this bug best would help sway me to get this fix straight into .34.

Bill


Re: cvs commit: httpd-2.0/modules/filters mod_include.c

Posted by Brian Pane <bp...@pacbell.net>.
William A. Rowe, Jr. wrote:

> At 03:19 PM 4/4/2002, you wrote:
>
>> rederpj     02/04/04 13:19:32
>>
>>   Modified:    modules/filters mod_include.c
>>   Log:
>>   This patch fixes a core dump that occurs in mod_include during tag 
>> parsing
>>   if the starting sequence (<!--#) finishes at the end of a bucket 
>> and the
>>   directive starts at the beginning of the next bucket.
>
>
>   Revision  Changes    Path
>   1.215     +47 -24    httpd-2.0/modules/filters/mod_include.c
>
> Could any of the three or so of you who have looked at this problem 
> already
> vouch for Paul's solution here?  One enthusiastic +1 from those who know
> this bug best would help sway me to get this fix straight into .34. 


-1 for now, I'm afraid.  With this new code, mod_include
is failing one of my test cases in which each character
of an otherwise-valid "<!--#include ... -->" directive
is contained in a separate bucket.  This test case worked
with the original .34 mod_include code.

I'm debugging now.

--Brian

P.S.: My test case is:
  * Create a file consisting of
      <!--#include virtual="/whatever" -->
  * Add Ctrl-B's between all the characters
  * Run through the BUCKETEER filter before mod_include; this
    will create bucket breaks where all the Ctrl-B's are.




Re: cvs commit: httpd-2.0/modules/filters mod_include.c

Posted by Cliff Woolley <jw...@virginia.edu>.
On Thu, 4 Apr 2002, William A. Rowe, Jr. wrote:

> >   This patch fixes a core dump that occurs in mod_include during tag parsing
> >   if the starting sequence (<!--#) finishes at the end of a bucket and the
> >   directive starts at the beginning of the next bucket.
>
>    Revision  Changes    Path
>    1.215     +47 -24    httpd-2.0/modules/filters/mod_include.c
>
> Could any of the three or so of you who have looked at this problem already
> vouch for Paul's solution here?  One enthusiastic +1 from those who know
> this bug best would help sway me to get this fix straight into .34.


I'm sorry, but -0 for now.  I just added a bunch of tests to the
httpd-test repository that use mod_bucketeer to test mod_include.  They
all work before this patch, but the last two (the most brutal ones :) fail
after the patch.  The ones that now fail basically put every single byte
of an include virtual tag into separate buckets.  On HEAD, the tag just
silently disappears for some reason I haven't determined yet.

The upshot is that we now have a good framework in the httpd-test
repository for constructing worst cases for mod_include.  Paul, can you do
me the favor of making a test that demonstrates the conditions that are
segfaulting for you that were fixed by this patch?  It's really easy to
set these things up now.  mod_bucketeer is my new best friend.  :)

With more tests, I think we'll be able to pin down whatever the remaining
issue is pretty quickly.

Thanks,
--Cliff

--------------------------------------------------------------
   Cliff Woolley
   cliffwoolley@yahoo.com
   Charlottesville, VA