summaryrefslogtreecommitdiff
path: root/FS/FS
diff options
context:
space:
mode:
authorivan <ivan>2012-02-12 01:22:47 +0000
committerivan <ivan>2012-02-12 01:22:47 +0000
commiteee6d96f68294389e3e1659e18a945ff2e5c47e5 (patch)
treeda66d14ade9144f8838fb849d5906f523959f1e9 /FS/FS
parent860445eb4e5389ae310496a199d69e414d2428c9 (diff)
apply shellcommands ignored_errors regexen to STDOUT as well as STDERR, RT#15347
Diffstat (limited to 'FS/FS')
-rw-r--r--FS/FS/part_export/shellcommands.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/FS/FS/part_export/shellcommands.pm b/FS/FS/part_export/shellcommands.pm
index 59146306d..edbe78f03 100644
--- a/FS/FS/part_export/shellcommands.pm
+++ b/FS/FS/part_export/shellcommands.pm
@@ -498,13 +498,18 @@ sub ssh_cmd { #subroutine, not method
return if $opt->{'ignore_all_output'};
die "Error running SSH command: ". $ssh->error if $ssh->error;
- if ($errput && $opt->{'ignored_errors'} && length($opt->{'ignored_errors'})) {
+ if ( ($output || $errput)
+ && $opt->{'ignored_errors'} && length($opt->{'ignored_errors'})
+ ) {
my @ignored_errors = split('\n',$opt->{'ignored_errors'});
foreach my $ignored_error ( @ignored_errors ) {
+ $output =~ s/$ignored_error//g;
$errput =~ s/$ignored_error//g;
}
+ chomp($output);
chomp($errput);
}
+
die $errput if $errput;
die $output if $output;
'';