[tbnl-devel] mod_negotiation and wrong Last-Modified

Stefan Scholl stesch at no-spoon.de
Sat Mar 12 18:34:54 UTC 2005


[That's what I've sent to gmane.comp.apache.user today.]
Hi!

I use Apache 1.3.33 (Gentoo) under Linux 2.6 together with mod_lisp 
2.42. mod_lisp is a simple handler which communicates with running 
Lisp images.


This is what I've found today:
When setting "Last-Modified" (the handler correctly calls 
ap_parseHTTPdate(), ap_update_mtime(), and ap_set_last_modified()) 
the resulting response header has an other date in the 
"Last-Modified" field. It is the mtime of the DocumentRoot. But only 
if the mtime of DocumentRoot is _newer_ than the date you want to 
set.

There's no "Last-Modified" in the response header when you don't set 
it yourself.

ap_update_mtime() only updates r->mtime when the supplied time is 
_newer_. So I've guessed that some other handler sets r->mtime to 
the DocumentRoot.

I've found mod_negotiation. After removing it from the server config 
the response header had the correct "Last-Modified" date.

2 possible workarounds:
1.) touch the DocumentRoot to an older date
2.) remove mod_negotiation


Regards,
Stefan

-- 
Web: http://www.no-spoon.de/ -*- IRC: stesch @ freenode




More information about the Tbnl-devel mailing list