From: "Jeff Trawick" <[EMAIL PROTECTED]>
Sent: Friday, August 24, 2001 8:00 AM
> Jeff Trawick <[EMAIL PROTECTED]> writes:
>
> > "William A. Rowe, Jr." <[EMAIL PROTECTED]> writes:
> >
> > > We now fail to read mmap var content entirely. This is bad.
> > > However, it is as likely as not that the apr_seek code is simply
> > > broken on Win32 buffered files. Please, let me know if you are
> > > seeing only a single variant listed for .var files if you set your
> > > language to something like xx for a Unix server, so I know where to
> > > look first in the morning.
> > >
> > > We actually flip between gets and read, which makes things tricky.
> >
> > The problem seems to be that ungetc doesn't work on buffered files.
> > And yet the ungetc operation is usually needed by program logic that
> > needs buffering.
>
> Oops, this was a Unix statement (now out-of-date :) ). I have no idea
> why mod_negotiation is failing on Win32. testfile.exe just ran fine
> for me on Win98. I don't have a way to run Apache on Win32, so no
> guesses on the failure other than that the problem is most likely in
> srclib/file_io/win32/*.c :)
I'm certain the bug is also in the ungetc/seek buffering code.
While we are on mod_negotiation.c, our logic to slam down a mod_include
request on the second recursion breaks the server horribly. Just try the
error documents right now, via indirection. We get a 506 (variant also
negotiates) which we shouldn't be seeing with a 1:n match in a .var file.
Bill