If just got bitten by this bug, but the fix was quite easy. The problem
was that the cgi script only decides to answer positive to
"if-modified-since" requests if the png on disk has changed. When you
are using graph_strategy=cgi, that will never happen. So a check for the
current time is also needed.

I'll submit this to upstream as well, if I can find the right place.

Sincerely,

Richard van den Berg

--- munin-cgi-graph.in.bak      2006-11-29 13:08:31.000000000 +0100
+++ munin-cgi-graph.in  2006-11-29 13:18:22.000000000 +0100
@@ -84,7 +84,8 @@
     my $slast_modified = strftime ("%a, %d %b %Y %H:%M:%S %Z", localtime 
($sstats[9]));
 
     if (defined $ENV{HTTP_IF_MODIFIED_SINCE} and 
-           !&modified ($ENV{HTTP_IF_MODIFIED_SINCE}, $sstats[9]-1))
+           !&modified ($ENV{HTTP_IF_MODIFIED_SINCE}, $sstats[9]-1) and
+           !&modified (gmtime(time+($period{$scale}-($time%$period{$scale}))), 
$sstats[9]-1))
     {
        print "Status: 304\n";
        print "Content-Type: image/png\n";

Reply via email to