X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/95e9c4e6befb17ca3e691c26f024fb55eeae5e31..9f8418e870a70c264eda1598f2d470e5428c216d:/man/mh-profile.man diff --git a/man/mh-profile.man b/man/mh-profile.man index 6395dd69..ae085cc4 100644 --- a/man/mh-profile.man +++ b/man/mh-profile.man @@ -1,16 +1,14 @@ -.TH MH-PROFILE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%] +.TH MH-PROFILE %manext5% "September 29, 2016" "%nmhversion%" .\" .\" %nmhwarning% .\" .SH NAME mh-profile \- user profile customization for nmh message handler -.SH SYNOPSIS -.I $HOME/.mh\(ruprofile .SH DESCRIPTION Each user of .B nmh is expected to have a file named -.I \&.mh\(ruprofile +.I \&.mh\-profile in his or her home directory. This file contains a set of user parameters used by some or all of the .B nmh @@ -30,7 +28,10 @@ This is a comment. .RE .PP Blank lines are not permitted in -.IR \&.mh\(ruprofile. +.IR \&.mh\-profile. +The shell quoting conventions are not available in the +.IR \&.mh\-profile ; +each token is separated by whitespace. .SS "Standard Profile Entries" The possible profile components are exemplified below. The only mandatory entry is `Path:'. The others are optional; some have default values if @@ -43,6 +44,15 @@ context, and indicates what the default value is. Note that a profile component can only appear once. Multiple appearances with trigger a warning that all appearances after the first are ignored. .PP +Some MH programs, including +.BR mhbuild , +.BR mhshow , +and +.BR mhstore , +have specific profile components that are described in their respective +man pages. Each component name begins with the name of the program and +is followed by a dash. +.PP .BR Path : Mail .RS 5 @@ -58,7 +68,7 @@ context Declares the location of the .B nmh context file. This is overridden by the environment variable -.BR $MHCONTEXT . +MHCONTEXT. See the .B HISTORY section below. @@ -90,7 +100,7 @@ no such sequences are defined. Otherwise, for each name given, the sequence is first zero'd and then each message is added to the sequence. Read the .IR mh\-sequence (5) -man page for the details about this sequence. (profile, no default) +man page for the details about this sequence. (profile, no default) .RE .PP .BR Sequence\-Negation : @@ -123,11 +133,11 @@ man page for the details about this sequence. .RE .PP .BR mh\-sequences : -\&.mh\(rusequences +\&.mh\-sequences .RS 5 The name of the file in each folder which defines public sequences. To disable the use of public sequences, leave the value portion of this -entry blank. (profile, default: \&.mh\(rusequences) +entry blank. (profile, default: \&.mh\-sequences) .RE .PP .BI atr\- seq \- folder : @@ -142,7 +152,7 @@ man page for details about private sequences. .RE .PP .BR Editor : -/usr/bin/vi +vi .RS 5 Defines the editor to be used by the commands .BR comp , @@ -150,17 +160,9 @@ Defines the editor to be used by the commands .BR forw , and .BR repl . -(profile, default: %default_editor%) -.RE -.PP -.BR automimeproc : -.RS 5 -If defined and set to 1, then the -.B whatnow -program will automatically -invoke the buildmimeproc (discussed below) to process each message as a MIME -composition draft before it is sent. -(profile, no default) +If not set in profile the value will be taken from the VISUAL and +EDITOR environment variables. +(profile, default: vi) .RE .PP .BR Msg\-Protect : @@ -184,6 +186,28 @@ for an explanation of the octal number. (profile, default: 700) .RE .PP +.BR datalocking : +fcntl +.RS 5 +The locking algorithm used to lock changes to any +.B nmh +data files, such as sequences or the context. The locking algorithm is +any one of the following entries: +.PP +.RS 5 +.nf +%supported_locks% +.fi +.RE +.PP +Available locking algorithms can vary depending on what is supported by +the operating system. Note: currently transactional locking is only +supported on public sequences; see +.IR mh\-sequence (5) +for more information. +(profile, default: fcntl) +.RE +.PP .IR program : .I default switches .RS 5 @@ -235,7 +259,7 @@ by the default component files by tools like and .B repl to construct your default \*(lqFrom\*(rq header. The text used here will -be copied exactly to your From: header, so it should already be RFC-822 +be copied exactly to your From: header, so it should already be RFC 822 compliant. If this is set, the .B Signature profile entry is NOT used, so it should include a signature as well. (profile, @@ -292,7 +316,7 @@ and .BR repl . Read the .IR mh\-draft (5) -man page for details. (profile, no default) +man page for details. (profile, no default) .RE .PP .BI digest\-issue\- list : @@ -322,7 +346,7 @@ Tells .B inc your maildrop, if different from the default. This is superseded by the environment variable -.BR $MAILDROP . +MAILDROP. (profile, default: %mailspool%/$USER) .RE .PP @@ -336,9 +360,9 @@ and .B repl your mail signature. This is superseded by the environment variable -.BR $SIGNATURE . +SIGNATURE . If -.B $SIGNATURE +SIGNATURE is not set and this profile entry is not present, the \*(lqgcos\*(rq field of the \fI/etc/passwd\fP file will be used. Your signature will be added to the address @@ -347,15 +371,157 @@ puts in the \*(lqFrom:\*(rq header; do not include an address in the signature text. The \*(lqLocal\-Mailbox\*(rq profile component supersedes all of this. (profile, no default) .RE +.PP +.BR credentials : +\&legacy +.RS 5 +Indicates how the username and password credentials will be retrieved +for access to external servers, such as those that provide SMTP or POP +service. The supported entry values are \*(lqlegacy\*(rq, +.RI \*(lqfile: netrc \*(rq, +and +.RI \*(lqfile\-nopermcheck: netrc \*(rq. +With \*(lqlegacy\*(rq, or if there is no credentials entry, the +username is the first of: +.RS 5 +.TP 5 +.PD 0 +1) +.B \-user +switch to +.BR send , +.BR post , +.BR whom , +.BR inc , +or +.B msgchk +program +.TP +2) +the login name on the local machine +.PD +.RE +.PP +The password for SMTP services is the first of: +.RS 5 +.TP 5 +.PD 0 +1) +password value from matching entry in file named \*(lq.netrc\*(rq +in the user's home directory +.TP +2) +password obtained by interactively prompting the user +.PD +.RE +.PP +The password for POP service when the +.B \-sasl +switch is used with one of these programs is the login name on the +local machine. +.PP +With a +.RI \*(lqfile: netrc \*(rq +.B credentials +entry, the username is the first of: +.RS 5 +.PD 0 +.TP 5 +1) +.B \-user +switch to program +.TP 5 +2) +login name from matching entry in +.I netrc +file +.TP 5 +3) +value provided by user in response to interactive query +.PD +.RE +.PP +Similarly, the password is provided either in the +.I netrc +file or interactively. +.I netrc +can be any valid filename, either absolute or relative to Path or +$HOME. The +.I netrc +file contains authentication information, for each server, +using a line of the following form. Replace the words +.IR myserver , +.IR mylogin , +and +.I mypassword +with your own account information: +.PP +.RS 5 +.B machine +.I myserver +.B login +.I mylogin +.B password +.I mypassword +.RE +.PP +This +.I netrc +file must be owned and readable only by you. +.PP +The +.RI \*(lqfile\-nopermcheck: netrc \*(rq +.B credentials +entry is identical in behavior to the \*(lqfile\*(rq entry, with the +exception that the permission checks done by +\*(lqfile\*(rq are not performed. This entry should be used with +caution and only when absolutely necessary. +(profile, default: legacy) +.RE +.PP +.BR Welcome : +disable +.RS 5 +If the Welcome component is not present, or its value is not +.RI \*(lq disable \*(rq, +a welcome message will be displayed the first time that an interactive +.B nmh +program is run after updating the +.B nmh +installation. +The user must press the Enter key to continue. +.PP +If the MHCONTEXT environment variable is set and non-empty (and +the Welcome component is not +.RI \*(lq disable \*(rq), +the welcome message is only displayed if the context file contains a version +reference, and that reference is older than the installed +.B nmh +version. The version reference is of the form: +.PP +.RS 5 +.nf +Version: %nmhversion% +.fi +.RE +.PP +.RE .SS "Process Profile Entries" The following profile elements are used whenever an .B nmh program invokes some other program such as .BR more . The -.I \&.mh\(ruprofile +.I \&.mh\-profile can be used to select alternate programs if the user wishes. The default values are given in the examples. +.PP +If the profile element contains spaces, the element is split at spaces +into tokens and each token is given as a separate argument to the +.IR execvp (2) +system call. If the element contains shell metacharacters then the entire +element is executed using +.BR /bin/sh . .RE .PP .BR buildmimeproc : @@ -405,16 +571,8 @@ to incorporate new mail when it is invoked with no arguments. .RE .PP -.BR installproc : -%libdir%/install\-mh -.RS 5 -This program is called to initialize the environment for -new users of -.BR nmh . -.RE -.PP .BR lproc : -%default_pager% +more .RS 5 This program is used to list the contents of a message in response to the @@ -428,7 +586,7 @@ and .B repl to display the draft message. (Note that -.B $PAGER +the environment variable PAGER supersedes the default built-in pager command.) .RE .PP @@ -437,10 +595,6 @@ supersedes the default built-in pager command.) .RS 5 This is the program used to automatically mail various messages and notifications. It is used by -.B conflict -when using the -.B \-mail -option. It is used by .B send to post failure notices. It is used to retrieve an external-body with access-type `mail-server' @@ -449,7 +603,7 @@ It is used to retrieve an external-body with access-type `mail-server' .RE .PP .BR mhlproc : -%libdir%/mhl +%nmhlibexecdir%/mhl .RS 5 This is the program used to filter messages in various ways. It is used by @@ -479,7 +633,7 @@ that is sent to \*(lqBcc:\*(rq recipients. .RE .PP .BR moreproc : -%default_pager% +more .RS 5 This is the program used by .B mhl @@ -490,16 +644,10 @@ program used by .B mhshow to display message bodies (or message parts) of type text/plain. (Note that -.B $PAGER +the vivironment variable PAGER supersedes the default built-in pager command.) .RE .PP -.BR mshproc : -%bindir%/msh -.RS 5 -Currently not used. -.RE -.PP .BR packproc : %bindir%/packf .RS 5 @@ -507,7 +655,7 @@ Currently not used. .RE .PP .BR postproc : -%libdir%/post +%nmhlibexecdir%/post .RS 5 This is the program used by .BR send , @@ -531,9 +679,10 @@ to do address verification. none .RS 5 This is the program used by -.B rmm +.BR rmm , +.BR refile , and -.B refile +.B mhfixmsg to delete a message from a folder. .RE .PP @@ -554,7 +703,7 @@ to process and display non-text (MIME) messages. .RE .PP .BR showproc : -%libdir%/mhl +%nmhlibexecdir%/mhl .RS 5 This is the program used by .B show @@ -580,7 +729,53 @@ This is the program used by .B whatnow to determine to whom a message would be sent. .RE -.SS "Environment Variables" +.SS "Profile Lookup" +After consulting .mh_profile, +some programs read an optional profile specified by a +program-specific environment variable, +and then the system-wide profile %nmhetcdir%/mhn.defaults. +These programs are +.BR mhbuild , +.BR mhshow , +.BR mhstore , +and +.BR mhn . +.B mhfixmsg +is similar, but has no optional profile. +.sp +The first occurrence of a component is used, +e.g.\& .mh_profile's trumps $MHSHOW's. +A component with no value still stops further occurrences being used, +but is considered absent. +.PP +The +.I \&.mh\-profile +contains only static information, which +.B nmh +programs will +.B NOT +update. Changes in context are made to the +.I context +file kept in the users +.B nmh +directory. +This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry +and all private sequence information. Public sequence information is +kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq +profile entry (default is +.IR \&.mh\-sequences ). +.PP +The +.I \&.mh\-profile +may override the path of the +.I context +file, by specifying a \*(lqcontext\*(rq entry (this must be in +lower-case). If the entry is not absolute (does not start with a +\*(lq/\*(rq), then it is interpreted relative to the user's +.B nmh +directory. As a result, you can actually have more than one set of +private sequences by using different context files. +.SH ENVIRONMENT The operation of .B nmh and its commands it also controlled by the @@ -595,26 +790,37 @@ user, isn't it? The reason for all this is that the .B nmh user can select -.B any +any program as the .IR whatnowproc , including one of the standard shells. As a result, it's not possible to pass -information via an argument list. The convention is that environment +information via an argument list. The convention is that environment variables whose names are all upper-case are user-settable; those whose names are lower-case only are used internally by nmh and should not generally be set by the user. -.PP -.B $MH -.RS 5 +.TP +MAILDROP +This variable tells +.B inc +the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry. +.TP +MAILHOST +This variable tells +.B inc +the POP host to query for mail to incorporate. See the +.IR inc (1) +man page for more information. +.TP +MH With this environment variable, you can specify a profile other than -.I \&.mh\(ruprofile +.I \&.mh\-profile to be read by the .B nmh programs that you invoke. If the value of -.B $MH +MH is not absolute, (i.e., does not begin with a \*(lq/\*(rq), it will be presumed to start from the current working directory. This is one of the very few exceptions in @@ -622,297 +828,170 @@ working directory. This is one of the very few exceptions in where non-absolute pathnames are not considered relative to the user's .B nmh directory. -.RE -.PP -.B $MHCONTEXT -.RS 5 +.TP +MHBUILD +With this environment variable, you can specify an +additional user profile (file) to be read by +.BR mhbuild , +in addition to the mhn.defaults profile. +.TP +MHCONTEXT With this environment variable, you can specify a context other than the normal context file (as specified in the .B nmh profile). As always, unless the value of -.B $MHCONTEXT +MHCONTEXT is absolute, it will be presumed to start from your .B nmh directory. -.RE -.PP -.B $MHBUILD -.RS 5 -With this environment variable, you can specify an -additional user profile (file) to be read by -.BR mhbuild , -in addition to the mhn.defaults profile. -.RE -.PP -.B $MHN -.RS 5 +.TP +MHLDEBUG +If this variable is set to a non-null value, +.B mhl +will emit debugging information. +.TP +MHMTSCONF +If this variable is set to a non-null value, it specifies the +name of the mail transport configuration file to use by +.BR post , +.BR inc , +and other programs that interact with the mail transport system, +instead of the default. See +.IR mh-tailor (5). +.TP +MHMTSUSERCONF +If this variable is set to a non-null value, it specifies the name of +a mail transport configuration file to be read in addition to the +default. See +.IR mh-tailor (5). +.TP +MHN With this environment variable, you can specify an additional user profile (file) to be read by .BR mhn , in addition to the mhn.defaults profile. .B mhn -is deprecated, so this support for this variable will +is deprecated, so support for this variable will be removed from a future nmh release. -.RE -.PP -.B $MHSHOW -.RS 5 +.TP +MHSHOW With this environment variable, you can specify an additional user profile (file) to be read by .BR mhshow , in addition to the mhn.defaults profile. -.RE -.PP -.B $MHSTORE -.RS 5 +.TP +MHSTORE With this environment variable, you can specify an additional user profile (file) to be read by .BR mhstore , in addition to the mhn.defaults profile. -.RE -.PP -.B $MM_CHARSET -.RS 5 -With this environment variable, you can specify -the native character set you are using. You must be able to display -this character set on your terminal. -.PP -This variable is checked to see if a RFC-2047 header field should be -decoded (in -.BR inc , -.BR scan , -.BR mhl ). -This variable is -checked by -.B show -to see if the -.I showproc -or -.I showmimeproc -should -be called, since showmimeproc will be called if a text message uses -a character set that doesn't match -.BR $MM_CHARSET . -This variable is -checked by -.B mhshow -for matches against the charset parameter -of text contents to decide it the text content can be displayed -without modifications to your terminal. This variable is checked by -.B mhbuild -to decide what character set to specify in the charset -parameter of text contents containing 8\-bit characters. -.PP -When decoding text in such an alternate character set, +.TP +MHPDEBUG +If this variable is set to a non-null value, +.B pick +will emit a representation of the search pattern. +MHPDEBUG +is deprecated, so support for this variable will +be removed from a future nmh release. Instead, +.B pick +now supports a +.B \-debug +switch. +.TP +MHTMPDIR, TMPDIR +These variables are searched, in order, for the directory in which to +create some temporary files. +.TP +MHWDEBUG +If this variable is set to a non-null value, .B nmh -must be able to determine which characters are alphabetic, which -are control characters, etc. For many operating systems, this -will require enabling the support for locales (such as setting -the environment variable -.B $LC_CTYPE -to iso_8859_1). -.RE -.PP -.B $MAILDROP -.RS 5 -This variable tells -.B inc -the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry. -.RE -.PP -.B $MAILHOST -.RS 5 -This variable tells -.B inc -the POP host to query for mail to incorporate. See the -inc(1) man page for more information. -.RE -.PP -.B $USERNAME_EXTENSION -.RS 5 -This variable is for use with username_extension masquerading. See the -mh-tailor(5) man page. -.RE -.PP -.B $SIGNATURE -.RS 5 +commands that use the +.B Alternate\-Mailboxes +profile entry will display debugging information +about the values in that entry. +.TP +PAGER +If set to a non-null value, this supersedes the value of +the default built-in pager command. +.TP +SIGNATURE This variable tells .B send and .B post -your mail signature. This supersedes the \*(lqSignature\*(rq profile entry, +your mail signature. This supersedes the \*(lqSignature\*(rq profile entry, and is not used when the \*(lqLocal\-Mailbox\*(rq profile component is set. -.RE -.PP -.B $USER -.RS 5 +.TP +USER This variable tells .B repl your user name and .B inc your default maildrop: see the \*(lqMailDrop\*(rq profile entry. -.RE -.PP -.B $HOME -.RS 5 -This variable tells all -.B nmh -programs your home directory -.RE -.PP -.B $TERM -.RS 5 -This variable tells -.B nmh -your terminal type. -.PP -The environment variable -.B $TERMCAP -is also consulted. In particular, -these tell -.B scan -and -.B mhl -how to clear your terminal, and how -many columns wide your terminal is. They also tell -.B mhl -how many -lines long your terminal screen is. -.RE -.PP -.B $MHMTSCONF -.RS 5 -If this variable is set to a non-null value, it specifies the -name of the mail transport configuration file to use by -.BR post , -.BR inc , -and other programs that interact with the mail transport system, -instead of the default. See mh-tailor(5). -.RE -.PP -.B $MHMTSUSERCONF -.RS 5 -If this variable is set to a non-null value, it specifies the name of -a mail transport configuration file to be read in addition to the -default. See mh-tailor(5). -.RE -.PP -.B $MHTMPDIR -.B $TMPDIR -.B $TMP -.RS 5 -These variables are searched, in order, for the directory in which to -create some temporary files. -.RE -.PP -.B $MHLDEBUG -.RS 5 -If this variable is set to a non-null value, -.B mhl -will emit debugging information. -.RE -.PP -.B $MHPDEBUG -.RS 5 -If this variable is set to a non-null value, -.B pick -will emit a representation of the search pattern. -.RE -.PP -.B $MHWDEBUG -.RS 5 -If this variable is set to a non-null value, -.B nmh -commands that use the -.BR Alternate\-Mailboxes -profile entry will display debugging information -about the values in that entry. -.RE -.PP -.B $PAGER -.RS 5 -If set to a non-null value, this supersedes the value of -the default built-in pager command. -.RE -.PP -.B $editalt -.RS 5 +.TP +USERNAME_EXTENSION +This variable is for use with username_extension masquerading. See the +.IR mh-tailor (5) +man page. +.TP +editalt This is the alternate message. -.PP This is set by .B dist and .B repl during edit sessions so you can peruse the message being distributed or replied to. The message is also -available through a link called \*(lq@\*(rq in the current directory if +available, when the +.B \-atfile +switch is used, +through a link called \*(lq@\*(rq in the current directory if your current working directory and the folder the message lives in are -on the same UNIX filesystem. -.RE -.PP -.B $mhdraft -.RS 5 -This is the path to the working draft. -.PP -This is set by -.BR comp , -.BR dist , -.BR forw , -and -.B repl -to tell the -.I whatnowproc -which file to ask \*(lqWhat now?\*(rq -questions about. -.RE -.PP -.B $mhaltmsg -.RS 5 +on the same UNIX filesystem, and if your current working directory is +writable. +.TP +mhaltmsg .B dist and .B repl set -.B $mhaltmsg +mhaltmsg to tell the .I whatnowproc about an alternate message associated with the draft (the message being distributed or replied to). -.RE -.PP -.B $mhfolder -.RS 5 -This is the folder containing the alternate message. -.PP +.TP +mhannotate This is set by -.B dist +.BR dist , +.BR forw , and .B repl -during edit sessions so you -can peruse other messages in the current folder besides the one being -distributed or replied to. The environment variable -.B $mhfolder -is also set by -.BR show , -.BR prev , -and -.B next -for use by -.BR mhl . -.RE -.PP -.B $mhdist -.RS 5 +if annotations are to occur. +.TP +mhdist .B dist sets -.B $mhdist +mhdist to tell the .I whatnowproc that message re-distribution is occurring. -.RE -.PP -.B $mheditor -.RS 5 +.TP +mhdraft +This is the path to the working draft. +It is set by +.BR comp , +.BR dist , +.BR forw , +and +.B repl +to tell the +.I whatnowproc +which file to ask \*(lqWhat now?\*(rq +questions about. +.TP +mheditor This is set by .BR comp , .BR repl , @@ -924,90 +1003,63 @@ to tell the the user's choice of editor (unless overridden by .BR \-noedit ). -.RE -.PP -.B $mhuse -.RS 5 -This may be set by -.BR comp . -.RE -.PP -.B $mhmessages -.RS 5 -This is set by -.BR dist , -.BR forw , +.TP +mhfolder +This is the folder containing the alternate message. +It is set by +.B dist and .B repl -if annotations are to occur. -.RE -.PP -.B $mhannotate -.RS 5 +during edit sessions so you +can peruse other messages in the current folder besides the one being +distributed or replied to. The environment variable +mhfolder +is also set by +.BR show , +.BR prev , +and +.B next +for use by +.BR mhl . +.TP +mhinplace This is set by .BR dist , .BR forw , and .B repl if annotations are to occur. -.RE -.PP -.B $mhinplace -.RS 5 +.TP +mhmessages This is set by .BR dist , .BR forw , and .B repl if annotations are to occur. -.RE +.TP +mhuse +This may be set by +.BR comp . .SH FILES -.fc ^ ~ -.nf -.ta \w'%etcdir%/ExtraBigFileName 'u -^$HOME/\&.mh\(ruprofile~^The user profile -^or $MH~^Rather than the standard profile -^/context~^The user context -^or $MHCONTEXT~^Rather than the standard context -^/\&.mh\(rusequences~^Public sequences for -.fi +.PD 0 +.TP 20 +$HOME/\&.mh\-profile +The user's profile. +.TP +/context +The user's context +.TP +/\&.mh\-sequences +Public sequences for . +.PD .SH "SEE ALSO" -.IR environ (5), +.IR mhbuild (1), +.IR mhshow (1), +.IR mhstore (1), .IR mh-sequence (5), .IR nmh (7) -.SH HISTORY -The -.I \&.mh\(ruprofile -contains only static information, which -.B nmh -programs will -.B NOT -update. Changes in context are made to the -.I context -file kept in the users -.B nmh -directory. -This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry -and all private sequence information. Public sequence information is -kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq -profile entry (default is -.IR \&.mh\(rusequences ). -.PP -The -.I \&.mh\(ruprofile -may override the path of the -.I context -file, by specifying a \*(lqcontext\*(rq entry (this must be in -lower-case). If the entry is not absolute (does not start with a -\*(lq/\*(rq), then it is interpreted relative to the user's -.B nmh -directory. As a result, you can actually have more than one set of -private sequences by using different context files. .SH BUGS -The shell quoting conventions are not available in the -.IR \&.mh\(ruprofile . -Each token is separated by whitespace. -.PP There is some question as to what kind of arguments should be placed in the profile as options. In order to provide a clear answer, recall command line semantics of all