>Number:         623
>Category:       mod_include
>Synopsis:       A smarter "Last Modified" value for SSI documents (see PR 
>number 600)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache (Apache HTTP Project)
>State:          open
>Class:          change-request
>Submitter-Id:   apache
>Arrival-Date:   Mon May 26 07:50:00 1997
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.2b10
>Environment:
ULTRIX 4.4 0 RISC
>Description:
(also see PR number 600 for a related change request)

When using SSI mainly for including static headers, footers and the
like the Last-Modified:-Header should be set to the newest date
of the main document and all included documents.
Currently the only options are the default behaviour (no LM-Header generated)
or using the XBitHack - neither is very nice IMHO.

Some time ago I patched the SSI module of the NCSA httpd to deliver the
newest date of the main document and all included documents as the Last-Modified
date. When using other directives besides 'include' as 'exec' and the like
the default behaviour of sending no LM-Header is used. 

This is achieved by an additional parse run prior to the normal one. This first
pass only examines the main document for SSI directives and does not produce
any output. The result of this pass is the newest modification date as described
above. Now the http-Headers can be created and the second parse pass is started
which produces output.

The code consists of a bunch of #ifdef style changes to the SSI module and
has run just fine for over a year here. I recently applied the same changes
to mod_include.c of Apache 1.2b10 and it seems to work fine so far. Maybe
this code is of some interest to you? You can get it via

http://www.si.unix-ag.org/~thilo/mod_include_patched.c

All changed are nested into #ifdef SSILMHACK #endif statements.

Of course there is some performance penalty in comparison to single-pass
SSI and it has some other problems (doesn't walk thorugh nested includes
for example). But the changes are IMHO very neat to have when using SSIs for
Header/Footer inclusion.
>How-To-Repeat:
our server running with the patched SSI module is reachable as

http://www.unix-ag.org

The headers/footers are included via SSI
>Fix:
http://www.si.unix-ag.org/~thilo/mod_include_patched.c
%0
>Audit-Trail:
>Unformatted:


Reply via email to