diff --git a/centreon-plugins/apps/backup/arcserve/udp/mssql/mode/jobstatus.pm b/centreon-plugins/apps/backup/arcserve/udp/mssql/mode/jobstatus.pm index 8166801ed..ed75e0b33 100644 --- a/centreon-plugins/apps/backup/arcserve/udp/mssql/mode/jobstatus.pm +++ b/centreon-plugins/apps/backup/arcserve/udp/mssql/mode/jobstatus.pm @@ -27,27 +27,18 @@ use warnings; sub custom_status_threshold { my ($self, %options) = @_; + my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - # To exclude some OK - if (defined($self->{instance_mode}->{option_results}->{ok_status}) && $self->{instance_mode}->{option_results}->{ok_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{ok_status})) { - $status = 'ok'; - } elsif (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{warning_status}) && $self->{instance_mode}->{option_results}->{warning_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + # To exclude some OK + if (defined($self->{instance_mode}->{option_results}->{ok_status}) && $self->{instance_mode}->{option_results}->{ok_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{ok_status})) { + $status = 'ok'; + } elsif (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{warning_status}) && $self->{instance_mode}->{option_results}->{warning_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) { + $status = 'warning'; } return $status; diff --git a/centreon-plugins/apps/centreon/sql/mode/multiservices.pm b/centreon-plugins/apps/centreon/sql/mode/multiservices.pm index c78a8b765..8864d9148 100644 --- a/centreon-plugins/apps/centreon/sql/mode/multiservices.pm +++ b/centreon-plugins/apps/centreon/sql/mode/multiservices.pm @@ -60,26 +60,16 @@ sub custom_hosts_perfdata { sub custom_hosts_threshold { my ($self, %options) = @_; - my $message; my $status = 'ok'; - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{warning_total}) && $self->{instance_mode}->{option_results}->{warning_total} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{warning_total}) && $self->{instance_mode}->{option_results}->{warning_total} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) { + $status = 'warning'; } return $status; - } sub custom_services_calc { @@ -94,8 +84,8 @@ sub custom_services_calc { sub custom_services_output { my ($self, %options) = @_; - my $msg = ''; - $msg .= "[ok:$self->{result_values}->{ok_total}][warning:$self->{result_values}->{warning_total}][critical:$self->{result_values}->{critical_total}][unknown:$self->{result_values}->{unknown_total}]\n"; + + my $msg .= "[ok:$self->{result_values}->{ok_total}][warning:$self->{result_values}->{warning_total}][critical:$self->{result_values}->{critical_total}][unknown:$self->{result_values}->{unknown_total}]\n"; return $msg } @@ -114,27 +104,16 @@ sub custom_services_perfdata { sub custom_services_threshold { my ($self, %options) = @_; - my $message; my $status = 'ok'; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{warning_total}) && $self->{instance_mode}->{option_results}->{warning_total} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{critical_total}) && $self->{instance_mode}->{option_results}->{critical_total} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{critical_total})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{warning_total}) && $self->{instance_mode}->{option_results}->{warning_total} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{warning_total})) { + $status = 'warning'; } return $status; - } sub custom_groups_calc { @@ -220,23 +199,14 @@ sub custom_groups_perfdata { sub custom_groups_threshold { my ($self, %options) = @_; + my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{critical_groups}) && $self->{instance_mode}->{option_results}->{critical_groups} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{critical_groups})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{warning_groups}) && $self->{instance_mode}->{option_results}->{warning_groups} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{warning_groups})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{critical_groups}) && $self->{instance_mode}->{option_results}->{critical_groups} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{critical_groups})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{warning_groups}) && $self->{instance_mode}->{option_results}->{warning_groups} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{warning_groups})) { + $status = 'warning'; } return $status; @@ -245,8 +215,7 @@ sub custom_groups_threshold { sub set_counters { my ($self, %options) = @_; - $self->{maps_counters_type} = [ - ]; + $self->{maps_counters_type} = []; $self->{maps_counters}->{totalservice} = [ { label => 'total-service', threshold => 0, set => { diff --git a/centreon-plugins/apps/protocols/snmp/mode/collection.pm b/centreon-plugins/apps/protocols/snmp/mode/collection.pm index 012cb6730..504e71b28 100644 --- a/centreon-plugins/apps/protocols/snmp/mode/collection.pm +++ b/centreon-plugins/apps/protocols/snmp/mode/collection.pm @@ -31,31 +31,22 @@ use Digest::MD5 qw(md5_hex); sub custom_select_threshold { my ($self, %options) = @_; + my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - our $expand = $self->{result_values}->{expand}; - if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} && - $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{critical})) { - $status = 'critical'; - } elsif (defined($self->{result_values}->{config}->{warning}) && $self->{result_values}->{config}->{warning} ne '' && - $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{warning})) { - $status = 'warning'; - } elsif (defined($self->{result_values}->{config}->{unknown}) && $self->{result_values}->{config}->{unknown} && - $self->{instance_mode}->reval($self->{result_values}->{config}->{unknown})) { - $status = 'unknown'; - } - if ($@) { - $self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@); - $self->{output}->option_exit(); - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + our $expand = $self->{result_values}->{expand}; + if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} && + $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{critical})) { + $status = 'critical'; + } elsif (defined($self->{result_values}->{config}->{warning}) && $self->{result_values}->{config}->{warning} ne '' && + $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{warning})) { + $status = 'warning'; + } elsif (defined($self->{result_values}->{config}->{unknown}) && $self->{result_values}->{config}->{unknown} && + $self->{instance_mode}->reval($self->{result_values}->{config}->{unknown})) { + $status = 'unknown'; + } + if ($@) { + $self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@); + $self->{output}->option_exit(); } $self->{result_values}->{last_status} = $status; diff --git a/centreon-plugins/apps/vmware/connector/custom/connector.pm b/centreon-plugins/apps/vmware/connector/custom/connector.pm index da9bad032..bfe5031b1 100644 --- a/centreon-plugins/apps/vmware/connector/custom/connector.pm +++ b/centreon-plugins/apps/vmware/connector/custom/connector.pm @@ -164,25 +164,15 @@ sub connector_response_status { # Check response my $status = 'ok'; - my $message; - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{critical_connector_status}) && $self->{critical_connector_status} ne '' && - $self->{output}->test_eval(test => $self->{critical_connector_status}, values => $self->{result})) { - $status = 'critical'; - } elsif (defined($self->{warning_connector_status}) && $self->{warning_connector_status} ne '' && - $self->{output}->test_eval(test => $self->{warning_connector_status}, values => $self->{result})) { - $status = 'warning'; - } elsif (defined($self->{unknown_connector_status}) && $self->{unknown_connector_status} ne '' && - $self->{output}->test_eval(test => $self->{unknown_connector_status}, values => $self->{result})) { - $status = 'unknown'; - } - }; - if (defined($message)) { - $self->{output}->add_option_msg(short_msg => 'filter connector status issue: ' . $message); - $self->{output}->option_exit(); + if (defined($self->{critical_connector_status}) && $self->{critical_connector_status} ne '' && + $self->{output}->test_eval(test => $self->{critical_connector_status}, values => $self->{result})) { + $status = 'critical'; + } elsif (defined($self->{warning_connector_status}) && $self->{warning_connector_status} ne '' && + $self->{output}->test_eval(test => $self->{warning_connector_status}, values => $self->{result})) { + $status = 'warning'; + } elsif (defined($self->{unknown_connector_status}) && $self->{unknown_connector_status} ne '' && + $self->{output}->test_eval(test => $self->{unknown_connector_status}, values => $self->{result})) { + $status = 'unknown'; } if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { diff --git a/centreon-plugins/apps/vmware/connector/mode/alarmdatacenter.pm b/centreon-plugins/apps/vmware/connector/mode/alarmdatacenter.pm index af3513159..0f8a00370 100644 --- a/centreon-plugins/apps/vmware/connector/mode/alarmdatacenter.pm +++ b/centreon-plugins/apps/vmware/connector/mode/alarmdatacenter.pm @@ -29,25 +29,16 @@ use centreon::plugins::statefile; sub custom_status_threshold { my ($self, %options) = @_; + my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) { - $self->{instance_mode}->{dc_critical}++; - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{'warning-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}})) { - $self->{instance_mode}->{dc_warning}++; - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) { + $self->{instance_mode}->{dc_critical}++; + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{'warning-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}})) { + $self->{instance_mode}->{dc_warning}++; + $status = 'warning'; } return $status; diff --git a/centreon-plugins/apps/vmware/connector/mode/alarmhost.pm b/centreon-plugins/apps/vmware/connector/mode/alarmhost.pm index 538b1ad08..d2ce86654 100644 --- a/centreon-plugins/apps/vmware/connector/mode/alarmhost.pm +++ b/centreon-plugins/apps/vmware/connector/mode/alarmhost.pm @@ -29,25 +29,16 @@ use centreon::plugins::statefile; sub custom_status_threshold { my ($self, %options) = @_; + my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) { - $self->{instance_mode}->{host_critical}++; - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{'warning-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}})) { - $self->{instance_mode}->{host_warning}++; - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) { + $self->{instance_mode}->{host_critical}++; + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{'warning-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}})) { + $self->{instance_mode}->{host_warning}++; + $status = 'warning'; } return $status; diff --git a/centreon-plugins/centreon/common/powershell/exchange/activesyncmailbox.pm b/centreon-plugins/centreon/common/powershell/exchange/activesyncmailbox.pm index c42d0bf7b..cd14821b6 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/activesyncmailbox.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/activesyncmailbox.pm @@ -75,22 +75,15 @@ sub check { centreon::plugins::misc::trim($3), centreon::plugins::misc::trim($4)); $checked++; - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok'; + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, diff --git a/centreon-plugins/centreon/common/powershell/exchange/imapmailbox.pm b/centreon-plugins/centreon/common/powershell/exchange/imapmailbox.pm index 57974b265..e7b038e18 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/imapmailbox.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/imapmailbox.pm @@ -73,22 +73,15 @@ sub check { $checked++; - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok'; + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, diff --git a/centreon-plugins/centreon/common/powershell/exchange/mapimailbox.pm b/centreon-plugins/centreon/common/powershell/exchange/mapimailbox.pm index b2153d395..0c1614483 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/mapimailbox.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/mapimailbox.pm @@ -75,22 +75,15 @@ sub check { ) ); - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok'; + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, diff --git a/centreon-plugins/centreon/common/powershell/exchange/outlookwebservices.pm b/centreon-plugins/centreon/common/powershell/exchange/outlookwebservices.pm index 1b2acf2c8..f34341c33 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/outlookwebservices.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/outlookwebservices.pm @@ -82,22 +82,15 @@ sub check { $checked++; - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok' + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, diff --git a/centreon-plugins/centreon/common/powershell/exchange/owamailbox.pm b/centreon-plugins/centreon/common/powershell/exchange/owamailbox.pm index b7252fd4d..fadc211c8 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/owamailbox.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/owamailbox.pm @@ -74,22 +74,15 @@ sub check { centreon::plugins::misc::trim($4), centreon::plugins::misc::trim($5)); $checked++; - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok'; + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, diff --git a/centreon-plugins/centreon/common/powershell/exchange/replicationhealth.pm b/centreon-plugins/centreon/common/powershell/exchange/replicationhealth.pm index 98694cfdf..e140c4e9b 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/replicationhealth.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/replicationhealth.pm @@ -68,22 +68,15 @@ sub check { $checked++; - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok'; + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, diff --git a/centreon-plugins/centreon/common/powershell/exchange/services.pm b/centreon-plugins/centreon/common/powershell/exchange/services.pm index c3db6dfc0..5d91e5209 100644 --- a/centreon-plugins/centreon/common/powershell/exchange/services.pm +++ b/centreon-plugins/centreon/common/powershell/exchange/services.pm @@ -70,22 +70,15 @@ sub check { $checked++; - my ($status, $message) = ('ok'); - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { - $status = 'critical'; - } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $status = 'ok'; + if (defined($self->{option_results}->{critical}) && $self->{option_results}->{critical} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{critical}, values => $self->{data})) { + $status = 'critical'; + } elsif (defined($self->{option_results}->{warning}) && $self->{option_results}->{warning} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{warning}, values => $self->{data})) { + $status = 'warning'; } + if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { $self->{output}->output_add( severity => $status, @@ -96,7 +89,7 @@ sub check { ); } } - + if ($checked == 0) { $self->{output}->output_add( severity => 'UNKNOWN', diff --git a/centreon-plugins/centreon/common/protocols/sql/mode/collection.pm b/centreon-plugins/centreon/common/protocols/sql/mode/collection.pm index 870adcef3..2f7a66908 100644 --- a/centreon-plugins/centreon/common/protocols/sql/mode/collection.pm +++ b/centreon-plugins/centreon/common/protocols/sql/mode/collection.pm @@ -33,30 +33,21 @@ use Time::HiRes qw(gettimeofday tv_interval); sub custom_select_threshold { my ($self, %options) = @_; my $status = 'ok'; - my $message; - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - our $expand = $self->{result_values}->{expand}; - if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} && - $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{critical})) { - $status = 'critical'; - } elsif (defined($self->{result_values}->{config}->{warning}) && $self->{result_values}->{config}->{warning} ne '' && - $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{warning})) { - $status = 'warning'; - } elsif (defined($self->{result_values}->{config}->{unknown}) && $self->{result_values}->{config}->{unknown} && - $self->{instance_mode}->reval($self->{result_values}->{config}->{unknown})) { - $status = 'unknown'; - } - if ($@) { - $self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@); - $self->{output}->option_exit(); - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + our $expand = $self->{result_values}->{expand}; + if (defined($self->{result_values}->{config}->{critical}) && $self->{result_values}->{config}->{critical} && + $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{critical})) { + $status = 'critical'; + } elsif (defined($self->{result_values}->{config}->{warning}) && $self->{result_values}->{config}->{warning} ne '' && + $self->{instance_mode}->{safe}->reval($self->{result_values}->{config}->{warning})) { + $status = 'warning'; + } elsif (defined($self->{result_values}->{config}->{unknown}) && $self->{result_values}->{config}->{unknown} && + $self->{instance_mode}->reval($self->{result_values}->{config}->{unknown})) { + $status = 'unknown'; + } + if ($@) { + $self->{output}->add_option_msg(short_msg => 'Unsafe code evaluation: ' . $@); + $self->{output}->option_exit(); } $self->{result_values}->{last_status} = $status; diff --git a/centreon-plugins/centreon/plugins/backend/http/curl.pm b/centreon-plugins/centreon/plugins/backend/http/curl.pm index 493309c84..93c4ed7a7 100644 --- a/centreon-plugins/centreon/plugins/backend/http/curl.pm +++ b/centreon-plugins/centreon/plugins/backend/http/curl.pm @@ -383,26 +383,15 @@ sub request { # Check response my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($options{request}->{critical_status}) && $options{request}->{critical_status} ne '' && - $self->{output}->test_eval(test => $options{request}->{critical_status}, values => { code => $self->{response_code} })) { - $status = 'critical'; - } elsif (defined($options{request}->{warning_status}) && $options{request}->{warning_status} ne '' && - $self->{output}->test_eval(test => $options{request}->{warning_status}, values => { code => $self->{response_code} })) { - $status = 'warning'; - } elsif (defined($options{request}->{unknown_status}) && $options{request}->{unknown_status} ne '' && - $self->{output}->test_eval(test => $options{request}->{unknown_status}, values => { code => $self->{response_code} })) { - $status = 'unknown'; - } - }; - if (defined($message)) { - $self->{output}->add_option_msg(short_msg => 'filter status issue: ' . $message); - $self->{output}->option_exit(); + if (defined($options{request}->{critical_status}) && $options{request}->{critical_status} ne '' && + $self->{output}->test_eval(test => $options{request}->{critical_status}, values => { code => $self->{response_code} })) { + $status = 'critical'; + } elsif (defined($options{request}->{warning_status}) && $options{request}->{warning_status} ne '' && + $self->{output}->test_eval(test => $options{request}->{warning_status}, values => { code => $self->{response_code} })) { + $status = 'warning'; + } elsif (defined($options{request}->{unknown_status}) && $options{request}->{unknown_status} ne '' && + $self->{output}->test_eval(test => $options{request}->{unknown_status}, values => { code => $self->{response_code} })) { + $status = 'unknown'; } if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { diff --git a/centreon-plugins/centreon/plugins/backend/http/lwp.pm b/centreon-plugins/centreon/plugins/backend/http/lwp.pm index 93490d897..76763a64e 100644 --- a/centreon-plugins/centreon/plugins/backend/http/lwp.pm +++ b/centreon-plugins/centreon/plugins/backend/http/lwp.pm @@ -251,27 +251,16 @@ sub request { # Check response my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - my $code = $self->{response}->code(); - if (defined($request_options->{critical_status}) && $request_options->{critical_status} ne '' && - $self->{output}->test_eval(test => $request_options->{critical_status}, values => { code => $code })) { - $status = 'critical'; - } elsif (defined($request_options->{warning_status}) && $request_options->{warning_status} ne '' && - $self->{output}->test_eval(test => $request_options->{warning_status}, values => { code => $code })) { - $status = 'warning'; - } elsif (defined($request_options->{unknown_status}) && $request_options->{unknown_status} ne '' && - $self->{output}->test_eval(test => $request_options->{unknown_status}, values => { code => $code })) { - $status = 'unknown'; - } - }; - if (defined($message)) { - $self->{output}->add_option_msg(short_msg => 'filter status issue: ' . $message); - $self->{output}->option_exit(); + my $code = $self->{response}->code(); + if (defined($request_options->{critical_status}) && $request_options->{critical_status} ne '' && + $self->{output}->test_eval(test => $request_options->{critical_status}, values => { code => $code })) { + $status = 'critical'; + } elsif (defined($request_options->{warning_status}) && $request_options->{warning_status} ne '' && + $self->{output}->test_eval(test => $request_options->{warning_status}, values => { code => $code })) { + $status = 'warning'; + } elsif (defined($request_options->{unknown_status}) && $request_options->{unknown_status} ne '' && + $self->{output}->test_eval(test => $request_options->{unknown_status}, values => { code => $code })) { + $status = 'unknown'; } if (!$self->{output}->is_status(value => $status, compare => 'ok', litteral => 1)) { diff --git a/centreon-plugins/centreon/plugins/output.pm b/centreon-plugins/centreon/plugins/output.pm index 09e9e1880..6afd55392 100644 --- a/centreon-plugins/centreon/plugins/output.pm +++ b/centreon-plugins/centreon/plugins/output.pm @@ -928,9 +928,15 @@ sub test_eval { die 'Unsafe code evaluation: ' . $@; } } elsif (defined($options{values})) { - # unsafe code execution. don't need to check if it's safe (with no values) my $values = $options{values}; - $result = eval "$options{test}"; + { + local $SIG{__WARN__} = sub {}; # ignore + + $result = eval "$options{test}"; + if ($@) { + die 'Code evaluation error: ' . $@; + } + } } return $result; diff --git a/centreon-plugins/centreon/plugins/templates/catalog_functions.pm b/centreon-plugins/centreon/plugins/templates/catalog_functions.pm index e18917ccc..4513629ce 100644 --- a/centreon-plugins/centreon/plugins/templates/catalog_functions.pm +++ b/centreon-plugins/centreon/plugins/templates/catalog_functions.pm @@ -30,30 +30,21 @@ our @EXPORT_OK = qw(catalog_status_threshold catalog_status_threshold_ng catalog sub catalog_status_threshold { my ($self, %options) = @_; my $status = 'ok'; - my $message; - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - my $label = $self->{label}; - $label =~ s/-/_/g; - if (defined($self->{instance_mode}->{option_results}->{'ok_' . $label}) && $self->{instance_mode}->{option_results}->{'ok_' . $label} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'ok_' . $label})) { - $status = 'ok'; - } elsif (defined($self->{instance_mode}->{option_results}->{'critical_' . $label}) && $self->{instance_mode}->{option_results}->{'critical_' . $label} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'critical_' . $label})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{'warning_' . $label}) && $self->{instance_mode}->{option_results}->{'warning_' . $label} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'warning_' . $label})) { - $status = 'warning'; - } elsif (defined($self->{instance_mode}->{option_results}->{'unknown_' . $label}) && $self->{instance_mode}->{option_results}->{'unknown_' . $label} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'unknown_' . $label})) { - $status = 'unknown'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + my $label = $self->{label}; + $label =~ s/-/_/g; + if (defined($self->{instance_mode}->{option_results}->{'ok_' . $label}) && $self->{instance_mode}->{option_results}->{'ok_' . $label} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'ok_' . $label})) { + $status = 'ok'; + } elsif (defined($self->{instance_mode}->{option_results}->{'critical_' . $label}) && $self->{instance_mode}->{option_results}->{'critical_' . $label} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'critical_' . $label})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{'warning_' . $label}) && $self->{instance_mode}->{option_results}->{'warning_' . $label} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'warning_' . $label})) { + $status = 'warning'; + } elsif (defined($self->{instance_mode}->{option_results}->{'unknown_' . $label}) && $self->{instance_mode}->{option_results}->{'unknown_' . $label} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'unknown_' . $label})) { + $status = 'unknown'; } return $status; @@ -64,23 +55,15 @@ sub catalog_status_threshold_ng { my $status = 'ok'; my $message; - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{'warning-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}})) { - $status = 'warning'; - } elsif (defined($self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}})) { - $status = 'unknown'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{'critical-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'critical-' . $self->{label}})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{'warning-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'warning-' . $self->{label}})) { + $status = 'warning'; + } elsif (defined($self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}}) && $self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{'unknown-' . $self->{label}})) { + $status = 'unknown'; } return $status; diff --git a/centreon-plugins/centreon/plugins/templates/counter.pm b/centreon-plugins/centreon/plugins/templates/counter.pm index 0e7f5f666..608461864 100644 --- a/centreon-plugins/centreon/plugins/templates/counter.pm +++ b/centreon-plugins/centreon/plugins/templates/counter.pm @@ -761,7 +761,6 @@ sub change_macros { foreach (@{$options{macros}}) { if (defined($self->{option_results}->{$_}) && $self->{option_results}->{$_} ne '') { $self->{option_results}->{$_} =~ s/%\{(.*?)\}/\$values->{$1}/g; - $self->{output}->test_eval(test => $self->{option_results}->{$_}); } } } diff --git a/centreon-plugins/centreon/plugins/values.pm b/centreon-plugins/centreon/plugins/values.pm index 22964cb73..886fe9aaa 100644 --- a/centreon-plugins/centreon/plugins/values.pm +++ b/centreon-plugins/centreon/plugins/values.pm @@ -257,7 +257,14 @@ sub eval { } } else { my $values = $self->{result_values}; - $result = eval "$options{value}"; + { + local $SIG{__WARN__} = sub {}; # ignore + + $result = eval "$options{value}"; + if ($@) { + die 'Code evaluation error: ' . $@; + } + } } return $result; diff --git a/centreon-plugins/cloud/aws/ec2/mode/status.pm b/centreon-plugins/cloud/aws/ec2/mode/status.pm index b6f0ff897..9829619c0 100644 --- a/centreon-plugins/cloud/aws/ec2/mode/status.pm +++ b/centreon-plugins/cloud/aws/ec2/mode/status.pm @@ -43,23 +43,14 @@ sub prefix_metric_output { sub custom_status_threshold { my ($self, %options) = @_; + my $status = 'ok'; - my $message; - - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; - - if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{warning_status}) && $self->{instance_mode}->{option_results}->{warning_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) { - $status = 'warning'; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{warning_status}) && $self->{instance_mode}->{option_results}->{warning_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) { + $status = 'warning'; } return $status; diff --git a/centreon-plugins/network/mrv/optiswitch/snmp/mode/interfaces.pm b/centreon-plugins/network/mrv/optiswitch/snmp/mode/interfaces.pm index b26ffccf9..faae07abd 100644 --- a/centreon-plugins/network/mrv/optiswitch/snmp/mode/interfaces.pm +++ b/centreon-plugins/network/mrv/optiswitch/snmp/mode/interfaces.pm @@ -27,6 +27,7 @@ use warnings; sub custom_status_output { my ($self, %options) = @_; + my $msg = 'Status : ' . $self->{result_values}->{linkstatus} . ' (oper: ' . $self->{result_values}->{opstatus} . ', ' . 'admin: ' . $self->{result_values}->{admstatus} . ')'; if (defined($self->{instance_mode}->{option_results}->{add_duplex_status})) { $msg .= ' (duplex: ' . $self->{result_values}->{duplexstatus} . ')'; @@ -324,15 +325,10 @@ sub add_result_global { admstatus => $self->{oid_adminstatus_mapping}->{$self->{results}->{$self->{oid_adminstatus} . '.' . $_}} }; foreach (('global_link_up', 'global_link_down', 'global_admin_up', 'global_admin_down', 'global_oper_up', 'global_oper_down')) { - eval { - local $SIG{__WARN__} = sub { return ; }; - local $SIG{__DIE__} = sub { return ; }; - - if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) { - $self->{global}->{$_}++; - } - }; + if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) { + $self->{global}->{$_}++; + } } $self->{global}->{total_port}++; } diff --git a/centreon-plugins/snmp_standard/mode/interfaces.pm b/centreon-plugins/snmp_standard/mode/interfaces.pm index 4c2250eb5..c2c629a4e 100644 --- a/centreon-plugins/snmp_standard/mode/interfaces.pm +++ b/centreon-plugins/snmp_standard/mode/interfaces.pm @@ -33,27 +33,18 @@ use Digest::MD5 qw(md5_hex); sub custom_threshold_output { my ($self, %options) = @_; my $status = 'ok'; - my $message; - eval { - local $SIG{__WARN__} = sub { $message = $_[0]; }; - local $SIG{__DIE__} = sub { $message = $_[0]; }; + if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) { + $status = 'critical'; + } elsif (defined($self->{instance_mode}->{option_results}->{warning_status}) && $self->{instance_mode}->{option_results}->{warning_status} ne '' && + $self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) { + $status = 'warning'; + } - if (defined($self->{instance_mode}->{option_results}->{critical_status}) && $self->{instance_mode}->{option_results}->{critical_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{critical_status})) { - $status = 'critical'; - } elsif (defined($self->{instance_mode}->{option_results}->{warning_status}) && $self->{instance_mode}->{option_results}->{warning_status} ne '' && - $self->eval(value => $self->{instance_mode}->{option_results}->{warning_status})) { - $status = 'warning'; - } - - $self->{instance_mode}->{last_status} = 0; - if (eval "$self->{instance_mode}->{check_status}") { - $self->{instance_mode}->{last_status} = 1; - } - }; - if (defined($message)) { - $self->{output}->output_add(long_msg => 'filter status issue: ' . $message); + $self->{instance_mode}->{last_status} = 0; + if (eval "$self->{instance_mode}->{check_status}") { + $self->{instance_mode}->{last_status} = 1; } return $status; @@ -1341,15 +1332,10 @@ sub add_result_global { admstatus => $self->{oid_adminstatus_mapping}->{ $self->{results}->{$self->{oid_adminstatus} . '.' . $_} } }; foreach (('global_admin_up', 'global_admin_down', 'global_oper_up', 'global_oper_down')) { - eval { - local $SIG{__WARN__} = sub { return ; }; - local $SIG{__DIE__} = sub { return ; }; - - if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' && - $self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) { - $self->{global}->{$_}++; - } - }; + if (defined($self->{option_results}->{$_ . '_rule'}) && $self->{option_results}->{$_ . '_rule'} ne '' && + $self->{output}->test_eval(test => $self->{option_results}->{$_ . '_rule'}, values => $values)) { + $self->{global}->{$_}++; + } } $self->{global}->{total_port}++; }