/*++ /* NAME /* command 3 /* SUMMARY /* message delivery to shell command /* SYNOPSIS /* #include "local.h" /* /* int deliver_command(state, usr_attr, command) /* LOCAL_STATE state; /* USER_ATTR exp_attr; /* const char *command; /* DESCRIPTION /* deliver_command() runs a command with a message as standard /* input. A limited amount of standard output and standard error /* output is captured for diagnostics purposes. /* Duplicate commands for the same recipient are suppressed. /* A limited amount of information is exported via the environment: /* HOME, SHELL, LOGNAME, USER, EXTENSION, DOMAIN, RECIPIENT (entire /* address) LOCAL (just the local part), SENDER, and ENVID /* (see RFC 3461). The exported /* information is censored with var_cmd_filter. /* /* Arguments: /* .IP state /* The attributes that specify the message, recipient and more. /* Attributes describing the alias, include or forward expansion. /* A table with the results from expanding aliases or lists. /* .IP usr_attr /* Attributes describing user rights and environment. /* .IP command /* The shell command to be executed. If possible, the command is /* executed without actually invoking a shell. if the command is /* the mailbox_command, it is subjected to $name expansion. /* DIAGNOSTICS /* deliver_command() returns non-zero when delivery should be /* tried again, /* SEE ALSO /* mailbox(3) deliver to mailbox /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA
/*--*/
/* *Dependingontheresult,bounceordeferthemessage.
*/ switch (cmd_status) { case PIPE_STAT_OK:
dsb_simple(why, "2.0.0", "delivered to command: %s", command);
deliver_status = sent(BOUNCE_FLAGS(state.request),
SENT_ATTR(state.msg_attr)); break; case PIPE_STAT_BOUNCE: case PIPE_STAT_DEFER: /* Account for possible owner- sender address override. */
deliver_status = bounce_workaround(state); break; case PIPE_STAT_CORRUPT:
deliver_status = DEL_STAT_DEFER; break; default:
msg_panic("%s: bad status %d", myname, cmd_status); /* NOTREACHED */
}
return (deliver_status);
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.19Bemerkung:
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.