1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
commit 4085e2db6c067bc4b8a30a154532d59fa38df0c4
Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
Date: Tue Jul 22 21:38:58 2014 +0200
Don't abort data collection for a node due to malicious node (munin#1397)
diff --git a/master/lib/Munin/Master/Node.pm b/master/lib/Munin/Master/Node.pm
index 0a0d6f4..4936889 100644
--- a/master/lib/Munin/Master/Node.pm
+++ b/master/lib/Munin/Master/Node.pm
@@ -227,17 +227,18 @@ sub parse_service_config {
next if $line =~ /^\#/;
if ($line =~ m{\A multigraph \s+ (.+) }xms) {
- $correct++;
-
push_graphorder($service);
$service = $1;
if ($service eq 'multigraph') {
- die "[ERROR] SERVICE can't be named \"$service\" in plugin $plugin on ".$self->{host}."/".$self->{address}."/".$self->{port};
+ ERROR "[ERROR] SERVICE can't be named \"$service\" in plugin $plugin on ".$self->{host}."/".$self->{address}."/".$self->{port};
+ $errors++;
+ last;
}
new_service($service);
DEBUG "[CONFIG multigraph $plugin] Service is now $service";
+ $correct++;
}
elsif ($line =~ m{\A ([^\s\.]+) \s+ (.+) }xms) {
$correct++;
@@ -338,16 +339,16 @@ sub parse_service_data {
next if $line =~ /^\#/;
if ($line =~ m{\A multigraph \s+ (.+) }xms) {
- $correct++;
-
$service = $1;
- $values{$service} = {};
if ($service eq 'multigraph') {
+ $errors++;
ERROR "[ERROR] SERVICE can't be named \"$service\" in plugin $plugin on ".
$nodedesignation;
- croak("Plugin error. Please consult the log.");
+ last;
}
+ $values{$service} = {};
+ $correct++;
}
elsif ($line =~ m{\A ([^\.]+)\.value \s+ ([\S:]+) }xms) {
my ($data_source, $value, $when) = ($1, $2, 'N');
|