376 const char *myname =
"local_deliver";
410 for (msg_stat = 0, rcpt = rqst->
rcpt_list.
info; rcpt < rcpt_end; rcpt++) {
415 msg_stat |= rcpt_stat;
424 static void local_service(
VSTREAM *stream,
char *service,
char **argv)
433 msg_fatal(
"unexpected command-line argument: %s", argv[0]);
443 status = local_deliver(request, service);
450 static void pre_accept(
char *unused_name,
char **unused_argv)
455 msg_info(
"table %s has changed -- restarting", table);
462 static void post_init(
char *unused_name,
char **unused_argv)
473 virtual_mailbox_maps =
493 static void pre_init(
char *unused_name,
char **unused_argv)
506 msg_fatal(
"main.cf configuration error: %s is smaller than %s",
521 int main(
int argc,
char **argv)
#define VAR_VIRT_DSN_FILTER
#define CA_MAIL_SERVER_BOOL_TABLE(v)
char * var_virt_mailbox_base
#define CA_MAIL_SERVER_STR_TABLE(v)
bool var_strict_mbox_owner
#define DEL_REQ_FLAG_SUCCESS
MAPS * virtual_mailbox_maps
void deliver_completed(VSTREAM *stream, long offset)
#define DEF_VIRT_GID_MAPS
void deliver_attr_free(DELIVER_ATTR *attrp)
void set_file_limit(off_t limit)
char * var_virt_dsn_filter
#define DICT_FLAG_UTF8_REQUEST
#define DEF_VIRT_DSN_FILTER
#define CA_MAIL_SERVER_BOUNCE_INIT(v, w)
#define DEF_STRICT_MBOX_OWNER
DELIVER_REQUEST * request
int deliver_recipient(LOCAL_STATE, USER_ATTR)
#define VAR_VIRT_MAILBOX_MAPS
#define CA_MAIL_SERVER_POST_INIT(v)
#define CA_MAIL_SERVER_INT_TABLE(v)
#define VAR_STRICT_MBOX_OWNER
#define VAR_VIRT_MAILBOX_LIMIT
#define VAR_MESSAGE_LIMIT
MAPS * maps_create(const char *title, const char *map_names, int dict_flags)
const char * dict_changed_name(void)
int mbox_lock_mask(const char *string)
#define DICT_FLAG_PARANOID
#define VAR_VIRT_MAILBOX_LOCK
#define MAIL_VERSION_STAMP_ALLOCATE
char * var_virt_mailbox_lock
#define DEF_VIRT_MAILBOX_LOCK
int main(int argc, char **argv)
NORETURN msg_fatal(const char *fmt,...)
#define CA_MAIL_SERVER_PRIVILEGED
void deliver_attr_init(DELIVER_ATTR *attrp)
#define DEF_VIRT_UID_MAPS
#define VAR_VIRT_GID_MAPS
void set_eugid(uid_t euid, gid_t egid)
int deliver_request_done(VSTREAM *stream, DELIVER_REQUEST *request, int status)
MAIL_VERSION_STAMP_DECLARE
int virtual_mbox_lock_mask
#define DEF_MAIL_SPOOL_DIR
NORETURN single_server_main(int, char **, SINGLE_SERVER_FN,...)
char * var_mail_spool_dir
#define RESET_USER_ATTR(usr_attr, level)
#define CA_MAIL_SERVER_LONG_TABLE(v)
#define DEF_VIRT_MAILBOX_MAPS
#define VAR_VIRT_UID_MAPS
#define DEF_VIRT_MAILBOX_LIMIT
long var_virt_mailbox_limit
#define CA_MAIL_SERVER_PRE_ACCEPT(v)
char * var_virt_mailbox_maps
DELIVER_REQUEST * deliver_request_read(VSTREAM *stream)
#define DEF_VIRT_MAILBOX_BASE
#define VAR_MAIL_SPOOL_DIR
#define VAR_VIRT_MAILBOX_BASE
#define CA_MAIL_SERVER_PRE_INIT(v)
void msg_info(const char *fmt,...)