dnl dnl _ARG1_ - hostlist dnl _ARG2_ - action dnl _ARG3_ - message dnl _ARG4_ - log_message dnl ifelse_strstr(_ARG2_, `pause=', `dnl # Pause в случае принадлежности хоста рилея к listed сетям # Pause if sender host in listed network warn condition = ${if eq{$acl_m0}{no}{yes}{no}} hosts = +_ARG1_ delay = EXTRACT(`pause', _ARG2_)`'s set acl_m15 = ${acl_m15}\t\ delay=EXTRACT(`pause', _ARG2_)`'s\t\t\ _ARG4_\n ') dnl ifelse_strstr(_ARG2_, `pause=', `') ifelse(_ARG2_, `reject', `dnl # Reject в случае принадлежности хоста рилея к listed сетям # Reject if sender host in listed network deny condition = ${if eq{$acl_m0}{no}{yes}{no}} hosts = +_ARG1_ message = _ARG3_ log_message = _ARG4_ ',` ifelse(_ARG2_, `defer', `dnl # Defer в случае принадлежности хоста рилея к listed сетям # Defer if sender host in listed network defer condition = ${if eq{$acl_m0}{no}{yes}{no}} hosts = +_ARG1_ message = _ARG3_ log_message = _ARG4_ ',` ifelse(_ARG2_, `drop', `dnl # Drop в случае принадлежности хоста рилея к listed сетям # Drop if sender host in blacklisted network drop condition = ${if eq{$acl_m0}{no}{yes}{no}} hosts = +_ARG1_ message = _ARG3_ log_message = _ARG4_ ',` # Warning в случае принадлежности хоста рилея к listed сетям # Warning if sender host in listed network warn condition = ${if match{$acl_m0}{no}{yes}{no}} hosts = +_ARG1_ add_header = X-Warn-Relay-BlackListed: _ARG4_ ifelse_strstr(_ARG2_, `warn', `dnl # Warning в случае принадлежности хоста рилея к listed сетям # Warning if sender host in listed network log_message = _ARG4_ ') dnl ifelse_strstr(_ARG2_, `warn', `') ifelse_strstr(_ARG2_, `greylist=', `dnl ifelse(confGREYLIST, `OPTIONAL', `dnl # optional greylist в случае принадлежности хоста рилея к listed сетям # optional greylist if sender host in listed network set acl_c8 = \ scores=${eval:${extract{scores}{$acl_c8}}+EXTRACT(`greylist', _ARG2_)} \ log_message="${extract{log_message}{$acl_c8}} _ARG4_;" set acl_m15 = ${acl_m15}\t\ greylist scores=EXTRACT(`greylist', _ARG2_)\t\ _ARG4_\n ') dnl ifelse(confGREYLIST, `OPTIONAL', `') ') dnl ifelse_strstr(_ARG2_, `greylist=', `') ifelse_strstr(_ARG2_, `reject=', `dnl ifdef(`confOPTIONAL_REJECT', `ifelse(confOPTIONAL_REJECT, `NO', `dnl', `dnl # optional reject в случае принадлежности хоста рилея к listed сетям # optional reject if sender host in listed network set acl_c6 = \ scores=${eval:${extract{scores}{$acl_c6}}+EXTRACT(`reject', _ARG2_)} \ log_message="${extract{log_message}{$acl_c6}} _ARG4_;" set acl_m15 = ${acl_m15}\t\ reject scores=EXTRACT(`reject', _ARG2_)\t\t\ _ARG4_\n ')') dnl ifdef(`confOPTIONAL_REJECT', `ifelse(confOPTIONAL_REJECT, `NO', `', `')') ') dnl ifelse_strstr(_ARG2_, `reject=', `') ') dnl ifelse(_ARG2_, `drop', `') ') dnl ifelse(_ARG2_, `defer', `') ') dnl ifelse(_ARG2_, `reject', `')