X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1a46a8c5c398c91f20c3f4def0ceb448ec8de96a..e4a89c47c2a7d9a9268f36728b4b4f1b028b17b1:/src/src/routers/redirect.c diff --git a/src/src/routers/redirect.c b/src/src/routers/redirect.c index 65b5e4099..0153a4d49 100644 --- a/src/src/routers/redirect.c +++ b/src/src/routers/redirect.c @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/routers/redirect.c,v 1.7 2005/03/22 14:11:55 ph10 Exp $ */ +/* $Cambridge: exim/src/src/routers/redirect.c,v 1.9 2005/04/06 14:40:24 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -45,20 +45,16 @@ optionlist redirect_router_options[] = { (void *)offsetof(redirect_router_options_block, bit_options) }, { "forbid_file", opt_bool, (void *)offsetof(redirect_router_options_block, forbid_file) }, - #ifdef EXPAND_DLFUNC { "forbid_filter_dlfunc", opt_bit | (RDON_DLFUNC << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, - #endif { "forbid_filter_existstest", opt_bit | (RDON_EXISTS << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, { "forbid_filter_logwrite",opt_bit | (RDON_LOG << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, { "forbid_filter_lookup", opt_bit | (RDON_LOOKUP << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, - #ifdef EXIM_PERL { "forbid_filter_perl", opt_bit | (RDON_PERL << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, - #endif { "forbid_filter_readfile", opt_bit | (RDON_READFILE << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, { "forbid_filter_readsocket", opt_bit | (RDON_READSOCK << 16), @@ -101,6 +97,10 @@ optionlist redirect_router_options[] = { (void *)offsetof(redirect_router_options_block, reply_transport_name) }, { "rewrite", opt_bit | (RDON_REWRITE << 16), (void *)offsetof(redirect_router_options_block, bit_options) }, + { "sieve_subaddress", opt_stringptr, + (void *)offsetof(redirect_router_options_block, sieve_subaddress) }, + { "sieve_useraddress", opt_stringptr, + (void *)offsetof(redirect_router_options_block, sieve_useraddress) }, { "sieve_vacation_directory", opt_stringptr, (void *)offsetof(redirect_router_options_block, sieve_vacation_directory) }, { "skip_syntax_errors", opt_bool, @@ -142,6 +142,8 @@ redirect_router_options_block redirect_router_option_defaults = { NULL, /* include_directory */ NULL, /* pipe_transport_name */ NULL, /* reply_transport_name */ + NULL, /* sieve_subaddress */ + NULL, /* sieve_useraddress */ NULL, /* sieve_vacation_directory */ NULL, /* syntax_errors_text */ NULL, /* syntax_errors_to */ @@ -617,9 +619,10 @@ else } frc = rda_interpret(&redirect, options, ob->include_directory, - ob->sieve_vacation_directory, &ugid, &generated, &(addr->message), - ob->skip_syntax_errors? &eblock : NULL, &filtertype, - string_sprintf("%s router (recipient is %s)", rblock->name, addr->address)); + ob->sieve_vacation_directory, ob->sieve_useraddress, ob->sieve_subaddress, + &ugid, &generated, &(addr->message), ob->skip_syntax_errors? &eblock : NULL, + &filtertype, string_sprintf("%s router (recipient is %s)", rblock->name, + addr->address)); qualify_domain_recipient = save_qualify_domain_recipient;