Bug#297904: munin-node: mailman plugin improperly uses domains

2005-03-07 Thread Jimmy Olsen
tags 297904 +fixed-upstream
thanks,

Once upon a time, Charles Fry <[EMAIL PROTECTED]> sagely scribed:
> 
> The current mailman plugin improperly uses domains. Specifically, it
> assumes a mailman installation that is different from the current Debian
> mailman installation.

I've modified the contribution plugin "mailman" to handle both regular
mailman, as well as mailman modified for multi-domain use.


-jo (upstream) :-)


signature.asc
Description: Digital signature


Bug#297904: munin-node: mailman plugin improperly uses domains

2005-03-03 Thread Charles Fry
Package: munin-node
Version: 1.2.0-1
Severity: normal

The current mailman plugin improperly uses domains. Specifically, it
assumes a mailman installation that is different from the current Debian
mailman installation.

I was able to fix the plugin by removing all reference to domains. This
was accomplished by modifying sub paresMailmanLists as follows:


sub parseMailmanLists {
-my @domains = &mailmanDomains;
-for(my $i = 0; $i < @domains; $i++) {
-my @lists = &mailmanLists($domains[$i]);
+my @lists = &mailmanLists();
for(my $j = 0; $j < @lists; $j++) {
-$members += &mailmanMembers($domains[$i], $lists[$j]);
+   $members += &mailmanMembers($lists[$j]);
}
-}
}


The following changes were required in sub mailmanLists:

sub mailmanLists {
-my ($domain) = @_;
-opendir(LISTS, "$libdir/$domain/lists") or exit 3;
+opendir(LISTS, "$libdir/lists") or exit 3;
my @lists = grep { !/^\@/ && !/^\./ && -d "$libdir/$domain/lists/$_" } 
readdir(LISTS);
closedir(LISTS);
return @lists;
}


And the following changes were required in mailmanMembers:

sub mailmanMembers {
-my ($domain, $list) = @_;
+my ($list) = @_;
-return 0 unless $domain;
+return 0 unless $list;
my $cnt = 0;
-open(MEMBERS, "DOMAIN=$domain $lister $list|") or exit 3;
+open(MEMBERS, "$lister $list|") or exit 3;
while() {
$cnt++;
}
close(MEMBERS);
return $cnt;
}


Charles


-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (90, 'testing'), (80, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.26-1um
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages munin-node depends on:
ii  libnet-server-perl0.87-2 An extensible, general perl server
ii  perl  5.8.4-6Larry Wall's Practical Extraction 
ii  procps1:3.2.1-2  The /proc file system utilities

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]