@@ -907,8 +907,9 @@ sub _compile_condition_term {
907
907
return sprintf ' (%s =~ %s)' , $args [0], $args [1];
908
908
}
909
909
} elsif ($condition_key =~ / ^customcondition::(\w +)$ / ) {
910
- return sprintf ' do_verify_custom($that, %s, %s, %s)' ,
911
- _compile_hashref($rule ), $1 , join ' , ' , @args ;
910
+ my $mod = $1 ;
911
+ return sprintf ' do_verify_custom($that, %s, \' %s\' , %s)' ,
912
+ _compile_hashref($rule ), $mod , join ' , ' , @args ;
912
913
} else {
913
914
$log -> syslog(' err' , ' Syntax error: Unknown condition %s' ,
914
915
$condition_key );
@@ -926,8 +927,20 @@ sub _compile_hashref {
926
927
' , ' ,
927
928
map {
928
929
my ($k , $v ) = ($_ , $hashref -> {$_ });
929
- $v =~ s / ([\\\' ])/ \\ $1 / g ;
930
- sprintf " %s => '%s '" , $k , $v ;
930
+ if (ref $v eq ' ARRAY' ) {
931
+ $v = join (
932
+ ' , ' ,
933
+ map {
934
+ my $i = $_ ;
935
+ $i =~ s / ([\\\' ])/ \\ $1 / g ;
936
+ " '$i '" ;
937
+ } @$v
938
+ );
939
+ sprintf ' %s => [%s]' , $k , $v ;
940
+ } else {
941
+ $v =~ s / ([\\\' ])/ \\ $1 / g ;
942
+ sprintf " %s => '%s '" , $k , $v ;
943
+ }
931
944
} sort keys %$hashref
932
945
) . ' }' ;
933
946
}
0 commit comments