Annotation of researchv10no/lbin/mailx/man/mail_pipe.1m, revision 1.1.1.1

1.1       root        1: '\"macro stdmacro
                      2: .if n .pH g1a.mail_pipe %W% of %G%
                      3: .if \nX=0 .ds x} mail_pipe 1M "Essential Utilities" "\&"
                      4: .if \nX=1 .ds x} mail_pipe 1M "Essential Utilities"
                      5: .if \nX=2 .ds x} mail_pipe 1M "" "\&"
                      6: .if \nX=3 .ds x} mail_pipe "" "" "\&"
                      7: .nr X
                      8: .TH \*(x}
                      9: .SH NAME
                     10: \f4mail_pipe\f1 \- invoke recipient command for incoming mail
                     11: .SH SYNOPSIS
                     12: .PP
                     13: \f4mail_pipe\f1
                     14: [
                     15: \f4\-x\f1
                     16: .I debug_level
                     17: ]
                     18: \f4\-r\f1
                     19: .I recipient
                     20: \f4\-R\f1
                     21: .I path_to_sender
                     22: \f4\-c\f1
                     23: .I content_type
                     24: \f4\-S\f1
                     25: .I subject
                     26: .SH DESCRIPTION
                     27: When a new mail message arrives,
                     28: the \f4mail\fP command first checks if the recipient's mailbox indicates
                     29: that the message is to be forwarded elsewhere (to some other recipient or
                     30: as the input to some command).
                     31: If the message is to be piped into a recipient-specified command,
                     32: \f4mail\fP invokes \f4mail_pipe\fP to do some validation and then execute
                     33: the command in the context of the recipient.
                     34: .PP
                     35: Command-line arguments are:
                     36: .PD 0
                     37: .TP 18
                     38: \f4\-x\fP \f2debug_level\fP
                     39: Turn on debugging for this invocation. See the description of the \f4\-x\fP
                     40: option for the \f4mail\fP command for details.
                     41: .TP
                     42: \f4\-r\fP \f2recipient\fP
                     43: The recipient's login id.
                     44: .TP
                     45: \f4\-R\fP \f2path_to_sender\fP
                     46: The return address to the message's originator.
                     47: .TP
                     48: \f4\-c\fP \f2content_type\fP
                     49: The value of the \f4Content-Type:\fP header line in the message.
                     50: .TP
                     51: \f4\-S\fP \f2subject\fP
                     52: The value of the \f4Subject:\fP header line in the message if present.
                     53: .PD
                     54: .PP
                     55: \f4mail_pipe\fP is installed as a setuid-to-root process,
                     56: thus enabling itself to change it's user and group ids to that of the
                     57: recipient as necessary.
                     58: .PP
                     59: When invoked,
                     60: \f4mail_pipe\fP performs the following steps (if a step fails, the exit
                     61: code is noted as [\f2N\f1]):
                     62: .PD 0
                     63: .TP 3
                     64: \-
                     65: Validate invocation arguments [\f41\f1].
                     66: .TP 3
                     67: \-
                     68: Verify that recipient name is \(<= 14 characters long [\f42\f1].
                     69: .TP 3
                     70: \-
                     71: Verify that the setgid flag for the recipient mailbox is set [\f43\f1].
                     72: .TP 3
                     73: \-
                     74: Open \f4/var/mail/\fP\f2recipient\fP [\f44\f1].
                     75: .TP 3
                     76: \-
                     77: Verify that recipient's mailbox starts with the string \f4Forward to\fP [\f45\f1].
                     78: .TP 3
                     79: \-
                     80: Find pipe symbol indicating start of command string in recipient
                     81: mailbox [\f46\f1].
                     82: .TP 3
                     83: \-
                     84: Find entry for recipient in \f4/etc/passwd\f1 [\f47\f1].
                     85: .TP 3
                     86: \-
                     87: Set gid to recipient's gid [\f48\f1].
                     88: .TP 3
                     89: \-
                     90: Set uid to recipient's uid [\f49\f1].
                     91: .TP 3
                     92: \-
                     93: Change current directory to recipient's login directory [\f410\f1].
                     94: .TP 3
                     95: \-
                     96: Allocate space to hold newly \f4exec\f1'ed environment for
                     97: recipient command [\f411\f1].
                     98: .TP 3
                     99: \-
                    100: Parse the recipient command, performing any \f4%\f2keyword\f1 expansions required.
                    101: See the `Forwarding mail' section of \f4mail\fP(1), for more information
                    102: regarding \f4%\f2keyword\f1 substitutions [\f412\f1].
                    103: .TP 3
                    104: \-
                    105: Execute recipient command [\f413\f1 if \f4exec\f1 fails,
                    106: otherwise exit code from recipient command itself].
                    107: .PD
                    108: .SH FILES
                    109: .PD 0
                    110: .TP 20
                    111: \f4/etc/passwd\fP
                    112: to identify sender and locate recipients
                    113: .TP
                    114: \f4/var/mail/\f2recipient\f1
                    115: incoming mail for \f2recipient\fP;
                    116: that is, the mail file
                    117: .TP
                    118: \f4/tmp/MLDBG\(**\fP
                    119: debug trace file
                    120: .TP
                    121: \f4/usr/lib/mail/mail_pipe\fP
                    122: mail_pipe program
                    123: .PD
                    124: .SH SEE ALSO
                    125: \f4mail\fP(1),
                    126: \f4notify\fP(1),
                    127: \f4vacation\fP(1)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.