| 1 | /* $Cambridge: exim/src/src/routers/redirect.h,v 1.6 2005/09/12 15:09:55 ph10 Exp $ */ |
| 2 | |
| 3 | /************************************************* |
| 4 | * Exim - an Internet mail transport agent * |
| 5 | *************************************************/ |
| 6 | |
| 7 | /* Copyright (c) University of Cambridge 1995 - 2005 */ |
| 8 | /* See the file NOTICE for conditions of use and distribution. */ |
| 9 | |
| 10 | /* Header for the redirect router */ |
| 11 | |
| 12 | /* Private structure for the private options. */ |
| 13 | |
| 14 | typedef struct { |
| 15 | transport_instance *directory_transport; |
| 16 | transport_instance *file_transport; |
| 17 | transport_instance *pipe_transport; |
| 18 | transport_instance *reply_transport; |
| 19 | |
| 20 | uschar *data; |
| 21 | uschar *directory_transport_name; |
| 22 | uschar *file; |
| 23 | uschar *file_dir; |
| 24 | uschar *file_transport_name; |
| 25 | uschar *include_directory; |
| 26 | uschar *pipe_transport_name; |
| 27 | uschar *reply_transport_name; |
| 28 | uschar *sieve_subaddress; |
| 29 | uschar *sieve_useraddress; |
| 30 | uschar *sieve_vacation_directory; |
| 31 | uschar *syntax_errors_text; |
| 32 | uschar *syntax_errors_to; |
| 33 | uschar *qualify_domain; |
| 34 | |
| 35 | uid_t *owners; |
| 36 | gid_t *owngroups; |
| 37 | |
| 38 | #ifdef EXPERIMENTAL_SRS |
| 39 | uschar *srs; |
| 40 | uschar *srs_alias; |
| 41 | uschar *srs_condition; |
| 42 | uschar *srs_dbinsert; |
| 43 | uschar *srs_dbselect; |
| 44 | #endif |
| 45 | |
| 46 | int modemask; |
| 47 | int bit_options; |
| 48 | BOOL check_ancestor; |
| 49 | BOOL check_group; |
| 50 | BOOL check_owner; |
| 51 | BOOL forbid_file; |
| 52 | BOOL forbid_filter_reply; |
| 53 | BOOL forbid_pipe; |
| 54 | BOOL hide_child_in_errmsg; |
| 55 | BOOL one_time; |
| 56 | BOOL qualify_preserve_domain; |
| 57 | BOOL skip_syntax_errors; |
| 58 | } redirect_router_options_block; |
| 59 | |
| 60 | /* Data for reading the private options. */ |
| 61 | |
| 62 | extern optionlist redirect_router_options[]; |
| 63 | extern int redirect_router_options_count; |
| 64 | |
| 65 | /* Block containing default values. */ |
| 66 | |
| 67 | extern redirect_router_options_block redirect_router_option_defaults; |
| 68 | |
| 69 | /* The main and initialization entry points for the router */ |
| 70 | |
| 71 | extern int redirect_router_entry(router_instance *, address_item *, |
| 72 | struct passwd *, int, address_item **, address_item **, |
| 73 | address_item **, address_item **); |
| 74 | |
| 75 | extern void redirect_router_init(router_instance *); |
| 76 | |
| 77 | /* End of routers/redirect.h */ |