From 8a8abf2ee5be526f057e7db551da3e9b882d2082 Mon Sep 17 00:00:00 2001 From: Ilia Rostovtsev Date: Sat, 6 Mar 2021 16:34:19 +0300 Subject: [PATCH] Fix to match cron job exactly when possible https://sourceforge.net/p/webadmin/bugs/5462 --- cron/cron-lib.pl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cron/cron-lib.pl b/cron/cron-lib.pl index d1c12e651..59b4ea8af 100755 --- a/cron/cron-lib.pl +++ b/cron/cron-lib.pl @@ -1394,10 +1394,19 @@ $cmd =~ s/^\s*\[.*\]\s+\|\|\s+//; while($cmd =~ s/(\d*)(<|>)((\/\S+)|&\d+)\s*$//) { } $cmd =~ s/^\((.*)\)\s*$/$1/; $cmd =~ s/\s+$//; +my $eos; if ($config{'match_mode'} == 1) { $cmd =~ s/\s.*$//; + $eos = '$'; } -($proc) = grep { $_->{'args'} =~ /\Q$cmd\E/ && +else { + my $cmd_ = $cmd; + $cmd_ =~ s/\s.*$//; + if ($cmd_ eq $cmd) { + $eos = '$'; + } + } +($proc) = grep { $_->{'args'} =~ /\Q$cmd\E$eos/ && (!$config{'match_user'} || $_->{'user'} eq $_[0]->{'user'}) } @procs; if (!$proc && $cmd =~ /^$config_directory\/(.*\.pl)(.*)$/) {