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";