Package: munin
Version: 1.4.5-2
Severity: normal
Tags: upstream patch

Hi,

I just stumbled over the following nasty inconvenience:

- cgi-graphing enabled
- www-data is member of group munin, so for cgi graphing to work the cache
  dirs need to be group writeable
- added new node to be monitored
- on first run of munin-cron (and munin-html) the cache dir for the new node
  was created with the hard-coded mode of 755 wich subsequently lead to empty
  graphs in munin-cgi-graph

So instead of having to change the dir modes on every node addition, I wrote
the attached patch, which makes the mode of directories created by munin-html
configurable by an entry in /etc/munin/munin-node.conf, e.g.

htmldir_mode 775

If that line is missing, the $htmldir_mode variable will be initialized with
the former default value of 755. Additionally, the keyword htmldir_mode is
added as a legal config keyword in Common/Config.pm

Cheers,

Daniel



-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.35.7-1-amd64-dhr (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF8, LC_CTYPE=en_US.UTF8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages munin depends on:
ii  adduser                  3.112           add and remove users and groups
ii  cron                     3.0pl1-114      process scheduling daemon
pn  libdigest-md5-perl       <none>          (no description available)
ii  libhtml-template-perl    2.9-2           module for using HTML Templates wi
ii  liblog-log4perl-perl     1.29-1          A Perl port of the widely popular 
ii  libparse-recdescent-perl 1.965001+dfsg-1 Perl module to create and use recu
ii  librrds-perl             1.4.3-1         time-series data storage and displ
pn  libstorable-perl         <none>          (no description available)
ii  munin-common             1.4.5-2         network-wide graphing framework (c
ii  perl [libtime-hires-perl 5.10.1-14       Larry Wall's Practical Extraction 
ii  perl-modules             5.10.1-14       Core Perl modules
ii  rrdtool                  1.4.3-1         time-series data storage and displ
ii  ttf-dejavu               2.31-1          Metapackage to pull in ttf-dejavu-

Versions of packages munin recommends:
ii  libdate-manip-perl            6.11-1     module for manipulating dates
ii  munin-node                    1.4.5-2    network-wide graphing framework (n

Versions of packages munin suggests:
ii  apache2-mpm-itk [httpd]      2.2.16-2    multiuser MPM for Apache 2.2
ii  elinks [www-browser]         0.12~pre5-2 advanced text-mode WWW browser
ii  epiphany-browser [www-browse 2.30.6-1    Intuitive GNOME web browser
ii  iceweasel [www-browser]      3.5.13-1    Web browser based on Firefox
ii  libnet-ssleay-perl           1.36-1      Perl module for Secure Sockets Lay
ii  w3m [www-browser]            0.5.2-9     WWW browsable pager with excellent
--- /usr/share/perl5/Munin/Common/Config.pm     2010-08-23 17:47:58.000000000 
+0200
+++ /usr/share/perl5/Munin/Common/Config.pm.myutils-new 2010-10-01 
16:52:29.751931683 +0200
@@ -37,6 +37,7 @@
        "cdef_name", "graphable", "process", "realname",
        "onlynullcdef", "group_order", "pipe", "pipe_command",
        "unknown_limit", "num_unknowns", "dropdownlimit",
+       "htmldir_mode", 
        "max_graph_jobs", "max_cgi_graph_jobs", "munin_cgi_graph_jobs" );
 
 my %bools = map { $_ => 1} qw(yes no true false on off 1 0);
--- /usr/share/perl5/Munin/Master/HTMLOld.pm    2010-08-23 17:47:57.000000000 
+0200
+++ /usr/share/perl5/Munin/Master/HTMLOld.pm.myutils-new        2010-10-01 
16:52:51.936699524 +0200
@@ -87,6 +87,7 @@
 my %comparisontemplates;
 my $tmpldir;
 my $htmldir;
+my $htmldir_mode = 755;
 
 my $do_dump = 0;
 my $do_fork = 0; # No effect in this program.
@@ -121,6 +122,9 @@
 
     $tmpldir = $config->{tmpldir};
     $htmldir = $config->{htmldir};
+    if (defined $config->{'htmldir_mode'}) {
+        $htmldir_mode = $config->{'htmldir_mode'};
+    }
 
     %comparisontemplates = instanciate_comparison_templates($tmpldir);
 
@@ -359,7 +363,7 @@
     $dirname =~ s/\/[^\/]*$//;
 
     DEBUG "[DEBUG] Creating service page $filename";
-    munin_mkdir_p($dirname, oct(755));
+    munin_mkdir_p($dirname, oct($htmldir_mode));
 
     open(my $FILE, '>', $filename)
         or die "Cannot open '$filename' for writing: $!";

Reply via email to