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{${extract{1}{;}{$acl_m1}}}{}}\ {match{$acl_m3}{\N^(\N${extract{1}{;}{$acl_m1}}\N)\N}}\ }{yes}{no}} condition = ${if or{\ {<{$acl_m2}{${extract{1}{-}{${extract{2}{;}{$acl_m1}}}}}}\ {>{$acl_m2}{${extract{2}{-}{${extract{2}{;}{$acl_m1}}}}}}\ }{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_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{${substr{11}{5}{$tod_log}}}{\N:\N}{}} set acl_m3 = ${lc:${substr{0}{3}{$tod_full}}} acl = acl_greylist_datetime ')