define(`DNSLOOKUP_IGNORE_TARGET_HOSTS', `')dnl define(`DNSLOOKUP_DOMAINS', `! +local_domains')dnl dnl find substring `$2' in string `$1' define(`ifelse_strstr',`define(`_STR_INDEX_',`index(`$1',`$2')')`'define(`_IS_SET_',`eval(_STR_INDEX_ >= 0)')`'ifelse(_IS_SET_,`1',`$3',`$4')') dnl repeat `$2' string `$3' times and append it to `$1' string define(`repeat_str',`ifelse($3,`1',$1$2,`repeat_str($1$2,$2,eval($3-1))')') dnl change all occurences of the first character (`$2') in the string `$1' to second character (`$3') define(`replace_char', `translit(`$1', `$2', `$3')') define(`semicolon2pipe', `translit(`$1', `:', `|')') define(`pipe2semicolon', `translit(`$1', `|', `:')') dnl convert string `$1 to lower' define(`lower', `translit(`$1', `ABCDEFGHIJKLMNOPQRSTUVWXYZ', `abcdefghijklmnopqrstuvwx')') dnl caseinsensitive compare of strings `$1' and `$2' define(`strcasecmp', `ifelse(lower($1), lower($2), `1', `0')') dnl define if not yet defined: if `$1' is not defined it will be `$2' define(`def_if_not',`ifdef(`$1',`',`define(`$1',`$2')')') dnl add a char $2 to a string $1 if it is not there define(`_ADDCHAR_',`define(`_I_',`eval(index(`$1',`$2') >= 0)')`'ifelse(_I_,`1',`$1',`$1$2')') dnl delete a char $2 from a string $1 if it is there define(`_DELCHAR_',`define(`_IDX_',`index(`$1',`$2')')`'define(`_I_',`eval(_IDX_ >= 0)')`'ifelse(_I_,`1',`substr(`$1',0,_IDX_)`'substr(`$1',eval(_IDX_+1))',`$1')') dnl delete all spaces from a string $1 if they are there define(`del_spaces', `define(`_STR_INDEX_',`index(`$1',` ')')`'define(`_IS_SET_',`eval(_STR_INDEX_ >= 0)')`'ifelse(_IS_SET_,`1',`del_spaces(_DELCHAR_($1, ` '))',`$1')') dnl define(`PUSHDIVERT', `pushdef(`__D__', divnum)divert($1)') dnl define(`POPDIVERT', `divert(__D__)popdef(`__D__')') dnl define(`HACK', `PUSHDIVERT(-1)define(`_ARG_', `$2')define(`_ARGS_', `shift($@)')include(confCONFDIR`'/hacks/$1.m4)POPDIVERT`'') define(`HACK', `define(`_ARG_', `$2')define(`_ARGS_', `shift($@)')include(confCONFDIR`'/hacks/$1.m4)') define(`ANTIVIRUS',` ifdef(`_N_', `define(`_TMP_', `eval(_N_+1)')define(`_N_', _TMP_)', `define(`_N_', `0')') define(`confANTIVIRUS'_N_`_NAME',`$1') define(`confANTIVIRUS'_N_`_ACT',`$2') define(`confANTIVIRUS'_N_`_SCAN',`$3') define(`confANTIVIRUS'_N_`_OPT',`$4') ifelse_strstr($2,`QUARANTINE',`define(`_AV_QUARANTINE_',`YES')') ifelse_strstr($4,`defer_no_mbox_unspool',`define(`_AV_NO_MBOX_UNSPOOL_',`YES')') ')