ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE', `dnl dnl virtual_aliases: debug_print = "R: virtual_aliases; domain: $domain; domain_data: $domain_data; local_part: $local_part; local_part_data: $local_part_data" driver = redirect domains = +local_domains # domains = lsearch,ret=key;CONFDIR/domains-local dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_FILE', `dnl ## local_parts = ${lookup{$local_part@$domain}wildlsearch{CONFDIR/virt_aliases}{$local_part}{}} # local_parts = ${local_part:${lookup{$local_part@$domain}wildlsearch,ret=key{CONFDIR/virt_aliases}}} local_parts = ${lookup{$local_part@$domain}wildlsearch,ret=key{CONFDIR/virt_aliases}{${local_part:$value}}{}} data = ${lookup{$local_part@$domain}\ wildlsearch{confVIRT_MDIR_ALIASES_SINGLE}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\ ${lookup{$local_part}\ wildlsearch{confVIRT_MDIR_ALIASES_SINGLE}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{}}\ }} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_FILE', `') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_DBM', `dnl ## local_parts = ${lookup{$local_part@$domain}wildlsearch{confVIRT_MDIR_ALIASES_SINGLE.db}{$local_part}{}} # local_parts = ${local_part:${lookup{$local_part@$domain}dbm,ret=key{confVIRT_MDIR_ALIASES_SINGLE.db}}} local_parts = ${lookup{$local_part@$domain}dbm,ret=key{confVIRT_MDIR_ALIASES_SINGLE.db}{${local_part:$value}}{}} data = ${lookup{$local_part@$domain}\ dbm{confVIRT_MDIR_ALIASES_SINGLE.db}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\ ${lookup{$local_part}\ dbm{confVIRT_MDIR_ALIASES_SINGLE.db}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{}}\ }} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_DBM', `') ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') dnl file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply ifelse_strstr(confDELIVERY_TO, `PIPE', `dnl directory_transport = delivery_to_virt_domain ',`dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `dnl directory_transport = delivery_to_virt_domain_by_filter ',`dnl directory_transport = delivery_to_virt_domain ') dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `') ') dnl ifelse_strstr(confDELIVERY_TO, `PIPE', `') ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS', `dnl dnl virtual_aliases_perdomain: debug_print = "R: virtual_aliases_perdomain; domain: $domain; domain_data: $domain_data; local_part: $local_part; local_part_data: $local_part_data" driver = redirect domains = +local_domains # domains = lsearch,ret=key;CONFDIR/domains-local dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_FILES', `dnl # local_parts = ${lookup{$local_part}wildlsearch{confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases}{$local_part}{}} local_parts = ${lookup{$local_part}wildlsearch,ret=key{confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases}{$value}{}} # require_files = confVIRT_MDIR_DOMAIN_SETTINGS/$domain/aliases require_files = confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases # data = ${lookup{$local_part}wildlsearch{confVIRT_MDIR_DOMAIN_SETTINGS/$domain/aliases}{\ # ${sg{\ # ${sg{\ # ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ # }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain\$3}}\ # }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain\$3}}\ # }{}} data = ${lookup{$local_part_data}wildlsearch{confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases}{\ ${sg{\ ${sg{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain_data\$3}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain_data\$3}}\ }{}} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_FILES', `') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_DBM', `dnl # local_parts = ${lookup{$local_part}dbm{confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases.db}{$local_part}{}} local_parts = ${lookup{$local_part}dbm,ret=key{confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases.db}{$value}{}} # require_files = confVIRT_MDIR_DOMAIN_SETTINGS/$domain/aliases.db require_files = confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases.db # data = ${lookup{$local_part}dbm{confVIRT_MDIR_DOMAIN_SETTINGS/$domain/aliases.db}{\ # ${sg{\ # ${sg{\ # ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ # }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain\$3}}\ # }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain\$3}}\ # }{}} data = ${lookup{$local_part_data}dbm{confVIRT_MDIR_DOMAIN_SETTINGS/$domain_data/aliases.db}{\ ${sg{\ ${sg{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain_data\$3}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@$domain_data\$3}}\ }{}} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_DBM', `') ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply ifelse_strstr(confDELIVERY_TO, `PIPE', `dnl directory_transport = delivery_to_virt_domain ',`dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `dnl directory_transport = delivery_to_virt_domain_by_filter ',`dnl directory_transport = delivery_to_virt_domain ') dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `') ') dnl ifelse_strstr(confDELIVERY_TO, `PIPE', `') ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `MYSQL', `dnl dnl virtual_aliases_mysql: driver = redirect domains = +local_domains # domains = lsearch,ret=key;CONFDIR/domains-local data = ${lookup mysql{ \ confVIRT_MDIR_MYSQL_ALIAS \ }{${sg{$value}{\N[\n;]\N}{,}}}{}} ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') dnl file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply ifelse_strstr(confDELIVERY_TO, `PIPE', `dnl directory_transport = delivery_to_virt_domain ',`dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `dnl directory_transport = delivery_to_virt_domain_by_filter ',`dnl directory_transport = delivery_to_virt_domain ') dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `') ') dnl ifelse_strstr(confDELIVERY_TO, `PIPE', `') ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `MYSQL', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `SQLITE', `dnl dnl virtual_aliases_sqlite: driver = redirect domains = +local_domains # domains = lsearch,ret=key;CONFDIR/domains-local data = ${lookup sqlite,file=confSQLITE{\ confVIRT_MDIR_SQLITE_ALIAS \ }{${sg{$value}{\N[\n;]\N}{,}}}{}} ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') dnl file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply ifelse_strstr(confDELIVERY_TO, `PIPE', `dnl directory_transport = delivery_to_virt_domain ',`dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `dnl directory_transport = delivery_to_virt_domain_by_filter ',`dnl directory_transport = delivery_to_virt_domain ') dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `') ') dnl ifelse_strstr(confDELIVERY_TO, `PIPE', `') ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SQLITE', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `LDAP', `dnl dnl virtual_aliases_ldap: driver = redirect domains = +local_domains # domains = lsearch,ret=key;CONFDIR/domains-local data = ${sg{\ ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS\ }{\ ifdef(`confVIRT_MDIR_LDAP_ALIAS_RECURSIVE', `${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS_RECURSIVE\ }{confVIRT_MDIR_LDAP_ALIAS_RECURSIVE_VALUE,}{}}', `confVIRT_MDIR_LDAP_ALIAS_VALUE,')\ }{}}\ ifdef(`confVIRT_MDIR_LDAP_ALIAS2', ` ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS2\ }{\ ifdef(`confVIRT_MDIR_LDAP_ALIAS2_RECURSIVE', `${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS2_RECURSIVE\ }{confVIRT_MDIR_LDAP_ALIAS2_RECURSIVE_VALUE,}{}}', `confVIRT_MDIR_LDAP_ALIAS2_VALUE,')\ }{}}')\ ifdef(`confVIRT_MDIR_LDAP_ALIAS3', ` ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS3\ }{\ ifdef(`confVIRT_MDIR_LDAP_ALIAS3_RECURSIVE', `${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS3_RECURSIVE\ }{confVIRT_MDIR_LDAP_ALIAS3_RECURSIVE_VALUE,}{}}', `confVIRT_MDIR_LDAP_ALIAS3_VALUE,')\ }{}}')\ ifdef(`confVIRT_MDIR_LDAP_ALIAS4', ` ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS4\ }{confVIRT_MDIR_LDAP_ALIAS4_VALUE}{}}')\ }{\N[\n;]\N}{,}} ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') dnl file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply ifelse_strstr(confDELIVERY_TO, `PIPE', `dnl directory_transport = delivery_to_virt_domain ',`dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `dnl directory_transport = delivery_to_virt_domain_by_filter ',`dnl directory_transport = delivery_to_virt_domain ') dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `') ') dnl ifelse_strstr(confDELIVERY_TO, `PIPE', `') ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `LDAP', `')