ifelse(SECTION, `ACLS_ADDITIONAL', `dnl acl_greylist_datetime: # acl_m0 - список условий в виде "wday1|wday2|wday3;HH:MM:HH:MM;score wday1|wday2|wday3;HH:MM:HH:MM;score" # acl_m2 - текущее время # acl_m3 - текущий день недели accept condition = ${if eq{$acl_m0}{}{yes}{no}} warn set acl_m1 = ${if match{$acl_m0}{\N^(\S+)\s*(\S.+)*$\N}{$1}{}} set acl_m0 = ${if match{$acl_m0}{\N^(\S+)\s*(\S.+)*$\N}{$2}{}} warn condition = ${if or{\ {eq{${sg{${extract{1}{;}{$acl_m1}}}{\N^\s*0+(\d)\N}{\$1}}}{}}\ {match{$acl_m3}{\N^(\N${extract{1}{;}{$acl_m1}}\N)\N}}\ }{yes}{no}} condition = ${if or{\ {<{$acl_m2}{${sg{${extract{1}{-}{${extract{2}{;}{$acl_m1}}}}}{\N^\s*0+(\d)\N}{\$1}}}}\ {>{$acl_m2}{${sg{${extract{2}{-}{${extract{2}{;}{$acl_m1}}}}}{\N^\s*0+(\d)\N}{\$1}}}}\ }{no}{yes}} set acl_c8 = scores=${eval:${extract{scores}{$acl_c8}}+${extract{3}{;}{$acl_m1}}} \ log_message="${extract{log_message}{$acl_c8}} greylisted due to datetime;" set acl_m15 = ${acl_m15}\t\ greylist scores=${extract{3}{;}{$acl_m1}}\t\ greylisted due to datetime\n set acl_m0 = warn acl = acl_greylist_datetime accept ') ifelse(SECTION, `ACL_CHECK_RCPT', `dnl warn set acl_m0 = ${lc:${sg{confGREYLIST_DATETIME}{\N:\N}{}}} set acl_m2 = ${sg{${sg{${substr{11}{5}{$tod_log}}}{\N:\N}{}}}{\N^\s*0+(\d)\N}{\$1}} set acl_m3 = ${sg{${lc:${substr{0}{3}{$tod_full}}}}{\N^\s*0+(\d)\N}{\$1}} acl = acl_greylist_datetime ')