[-]
[+]
|
Changed |
munin.changes
|
|
[-]
[+]
|
Changed |
munin.spec
^
|
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/.travis.yml
^
|
@@ -5,7 +5,7 @@
- "5.10"
branches:
only:
- - master
+ - stable-2.0
- devel
install: "/bin/true"
before_install:
@@ -16,8 +16,8 @@
- "cpanm --notest IO::Socket::INET6"
- "cpanm --notest Log::Log4perl"
- "cpanm --notest Module::Build"
- - "cpanm --notest Module::Build"
- "cpanm --notest Net::SNMP"
+ - "cpanm --notest Net::Server"
- "cpanm --notest Net::SSLeay"
- "cpanm --notest Test::Deep"
- "cpanm --notest Test::Differences"
@@ -25,3 +25,10 @@
- "cpanm --notest Test::MockModule"
- "cpanm --notest Test::MockObject::Extends"
- "cpanm --notest Time::HiRes"
+notifications:
+ email: false
+ irc:
+ on_success: always # change
+ on_failure: always
+ channels:
+ - "irc.oftc.net#munin"
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/ChangeLog
^
|
@@ -1,5 +1,53 @@
-*- text -*-
+munin-2.0.16, 2013-06-03
+
+-------
+Summary
+-------
+
+Bugfix release.
+
+- Fixed a spurious WARNING in GFX cgi
+
+------------------
+Detailed Changelog
+------------------
+
+Kenyon Ralph:
+ plugins/ntp_: fix parsing older ntpq output
+
+Steve Schnepp:
+ master: fix warning in GraphOld.pm
+
+
+munin-2.0.15, 2013-06-01
+
+-------
+Summary
+-------
+
+Bugfix release.
+
+- Fixes for ip_ handling
+
+Closes: D:710527, D:710529
+
+------------------
+Detailed Changelog
+------------------
+
+Steve Schnepp:
+ plugins/Plugin.pm: fix bad state file handling (fixed)
+ master: adding ":" to the allowed chars in CGI
+ dev_scripts: automate async install
+ master: re-enable debugging output in GraphOld.pm
+ asyncd: use the same rules as munin-update
+
+Stig Sandbeck Mathisen:
+ Fix for munin-cgi-graph crash in trend and predict.
+
+
munin-2.0.14, 2013-05-10
-------
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/Makefile
^
|
@@ -173,7 +173,9 @@
# configure plugins. Or not. Better done under the direction of the installer
# or the packager.
-install-async-prime:
+install-async-prime: install-async
+
+install-async:
mkdir -p $(LIBDIR)
$(INSTALL) -m 0755 build/node/_bin/munin-async $(LIBDIR)/
$(INSTALL) -m 0755 build/node/_bin/munin-asyncd $(LIBDIR)/
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/RELEASE
^
|
@@ -1 +1 @@
-2.0.14
+2.0.16
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/dev_scripts/install
^
|
@@ -16,7 +16,7 @@
fi
make DESTDIR=$DESTDIR HTMLDIR=$DESTDIR/www/munin || exit
-fakeroot make install-common-prime install-master-prime install-node-prime install-plugins-prime install-man DESTDIR=$DESTDIR HTMLDIR=$DESTDIR/www/munin || exit
+fakeroot make install-common-prime install-master-prime install-node-prime install-plugins-prime install-man install-async DESTDIR=$DESTDIR HTMLDIR=$DESTDIR/www/munin || exit
if [ $1 ]; then
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/master/_bin/munin-cgi-graph.in
^
|
@@ -345,7 +345,8 @@
sub has_offending_chars {
my $url_part = shift;
return 0 if ! defined $url_part;
- return $url_part =~ m:[^a-zA-Z0-9_/.,=&-]:;
+ # "." and ":" are for ip_ in IPv4 & IPv6
+ return $url_part =~ m:[^a-zA-Z0-9_/.,=&\:-]:;
}
sub verify_parameters {
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/master/lib/Munin/Master/GraphOld.pm
^
|
@@ -306,6 +306,8 @@
$config = munin_readconfig_part('datafile', 0);
}
+ $config->{debug} = $debug;
+
my $palette = &munin_get($config, "palette", "default");
$max_running = &munin_get($config, "max_graph_jobs", $max_running);
@@ -1600,6 +1602,8 @@
$colour = "$service->{$fieldname}{'colour'}66";
}
+ my $rrd_fieldname = get_field_name($fieldname);
+
my $cdef = "";
if (defined $service->{$fieldname}{'cdef'}) {
$cdef = "cdef";
@@ -1607,8 +1611,8 @@
#trends
if (defined $service->{$fieldname}{'trend'} and $service->{$fieldname}{'trend'} eq 'yes') {
- push (@complete, "CDEF:t$fieldname=c$cdef$fieldname,$futuretime,TRENDNAN");
- push (@complete, "LINE1:t$fieldname#$colour:$fieldname trend\\l");
+ push (@complete, "CDEF:t$rrd_fieldname=c$cdef$rrd_fieldname,$futuretime,TRENDNAN");
+ push (@complete, "LINE1:t$rrd_fieldname#$colour:$service->{$fieldname}->{'label'} trend\\l");
DEBUG "[DEBUG] set trend for $fieldname\n";
}
@@ -1618,8 +1622,8 @@
my @predict = split(",", $service->{$fieldname}{'predict'});
my $predictiontime = int ($futuretime / $predict[0]) + 2; #2 needed for 1 day
my $smooth = $predict[1]*$resolutions{$time};
- push (@complete, "CDEF:p$fieldname=$predict[0],-$predictiontime,$smooth,c$cdef$fieldname,PREDICT");
- push (@complete, "LINE1:p$fieldname#$colour:$fieldname prediction\\l");
+ push (@complete, "CDEF:p$rrd_fieldname=$predict[0],-$predictiontime,$smooth,c$cdef$rrd_fieldname,PREDICT");
+ push (@complete, "LINE1:p$rrd_fieldname#$colour:$service->{$fieldname}->{'label'} prediction\\l");
DEBUG "[DEBUG] set prediction for $fieldname\n";
}
}
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/node/lib/Munin/Node/SpoolWriter.pm
^
|
@@ -109,7 +109,11 @@
flock($fh, LOCK_EX);
print {$fh} "timestamp $timestamp\n";
- print {$fh} "multigraph $service\n" unless $data->[0] =~ m{^multigraph};
+
+ # squash the $service name with the same rules as the munin-update when using plain TCP
+ # Closes D:710529
+ my $service_squashed = $service; $service_squashed =~ tr/.:/__/;
+ print {$fh} "multigraph $service_squashed\n" unless $data->[0] =~ m{^multigraph};
foreach my $line (@$data) {
# Ignore blank lines and "."-ones.
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/plugins/lib/Munin/Plugin.pm
^
|
@@ -302,20 +302,29 @@
=cut
sub restore_state {
- # Read a state vector from a plugin appropriate state file
- local $/;
+ my @state;
- open my $STATE, '<', $statefile or return;
+ # Protects _restore_state_raw() with an eval()
+ eval { @state = _restore_state_raw(); };
+ if ($@) { @state = (); }
- my @state = split(/\n/, <$STATE>);
+ return @state;
+}
- my $filemagic = shift(@state);
+sub _restore_state_raw {
+ open my $STATE, '<', $statefile or return;
- if ($filemagic ne '%MUNIN-STATE1.0') {
+ # Test the 1rst line
+ my $filemagic = <$STATE>;
+ if ($filemagic ne "%MUNIN-STATE1.0\n") {
warn "$me: Statefile $statefile has unrecognized magic number: '$filemagic'\n";
return;
}
+ # Slurp the rest
+ local $/;
+
+ my @state = split(/\n/, <$STATE>);
return _decode_state(@state);
}
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/plugins/node.d/ntp_.in
^
|
@@ -115,11 +115,10 @@
my (undef, undef, $assid, undef, undef, undef, undef, undef, undef, undef) = split(/\s+/, $line);
chomp(my $peerinfo = `ntpq -n -c "readvar $assid srcadr,delay,offset,jitter"`);
$peerinfo =~ s/\R/ /g;
- ($srcadr, $delay, $offset, $jitter) = split(/, /, $peerinfo);
- ($srcadr) = ($srcadr =~ m/srcadr=(.*)/);
- ($delay) = ($delay =~ m/delay=(.*)/);
- ($offset) = ($offset =~ m/offset=(.*)/);
- ($jitter) = ($jitter =~ m/jitter=(.*)/);
+ ($srcadr) = ($peerinfo =~ m/srcadr=([^, ]+)/);
+ ($delay) = ($peerinfo =~ m/delay=([^, ]+)/);
+ ($offset) = ($peerinfo =~ m/offset=([^, ]+)/);
+ ($jitter) = ($peerinfo =~ m/jitter=([^, ]+)/);
last if lc($srcadr) eq lc($name);
}
}
@@ -154,11 +153,11 @@
my (undef, undef, $assid, undef, undef, undef, undef, undef, undef, undef) = split(/\s+/, $line);
chomp(my $peerinfo = `ntpq -n -c "readvar $assid srcadr,delay,offset,jitter"`);
$peerinfo =~ s/\R/ /g;
- ($srcadr, $delay, $offset, $jitter) = split(/, /, $peerinfo);
- ($srcadr) = new Net::IP($srcadr =~ m/srcadr=(.*)/);
- ($delay) = ($delay =~ m/delay=(.*)/);
- ($offset) = ($offset =~ m/offset=(.*)/);
- ($jitter) = ($jitter =~ m/jitter=(.*)/);
+ ($srcadr) = ($peerinfo =~ m/srcadr=([^, ]+)/);
+ ($delay) = ($peerinfo =~ m/delay=([^, ]+)/);
+ ($offset) = ($peerinfo =~ m/offset=([^, ]+)/);
+ ($jitter) = ($peerinfo =~ m/jitter=([^, ]+)/);
+ ($srcadr) = new Net::IP($srcadr);
ADDRS: foreach my $addr (@addresses) {
if (defined($srcadr->overlaps($addr)) and $srcadr->overlaps($addr) == $IP_IDENTICAL) {
|
[-]
[+]
|
Changed |
munin-2.0.16.tar.bz2/plugins/plugins.history.in
^
|
@@ -359,3 +359,5 @@
[2.0.12]
[2.0.13]
[2.0.14]
+[2.0.15]
+[2.0.16]
|