1 .\" @(#)$Id: mh-gen.8,v 2.119 1996/02/08 19:20:25 jromine Exp $
2 .\" uneven inter-word spacing (nroff line adjusting) hampers readability
4 .TH MH-GEN 8 MH.6.8.4 [mh.6]
6 mh-gen \- generating the MH system
8 This documentation describes how to configure, generate, and install
9 the UCI version of the RAND \fIMH\fR system. \fBBe certain\fP to
10 read this document completely before you begin. You probably will
11 also want to familiarize yourself with the \fIMH\fP Administrator's
12 Guide before you install \fIMH\fP. A copy can be found in the
13 file \fBdoc/ADMIN.doc\fP is the \fIMH\fP sources.
15 Although the \fIMH\fR system was originally developed by the RAND Corporation,
16 and is now in the public domain,
17 the RAND Corporation assumes no responsibility for \fIMH\fR
18 or this particular modification of \fIMH\fR.
21 the Regents of the University of California issue the following
22 \fBdisclaimer\fR in regard to the UCI version of \fIMH\fR:
24 \*(lqAlthough each program has been tested by its contributor,
25 no warranty, express or implied,
26 is made by the contributor or the University of California,
27 as to the accuracy and functioning of the program
28 and related program material,
29 nor shall the fact of distribution constitute any such warranty,
30 and no responsibility is assumed by the contributor
31 or the University of California in connection herewith.\*(rq
34 This version of \fIMH\fR is in the public domain,
36 there are no real restrictions on its use.
37 The \fIMH\fR source code and documentation have no licensing restrictions
40 the authors ask only that you provide appropriate credit to the RAND
42 the University of California for having developed the software.
44 \fIMH\fR is a software package that is neither supported by the RAND
45 Corporation nor the University of California.
47 since we do use the software ourselves and plan to continue using (and
49 bug reports and their associated fixes should be reported back to us so that
50 we may include them in future releases.
51 The current computer mailbox for \fIMH\fR is \fBBug\-MH@ICS.UCI.EDU\fR.
52 Current information about MH can be obtained from
53 the \fBMH Home Page\fP on the World Wide Web at
54 \fBhttp://www.ics.uci.edu/~mh\fP.
57 there are two Internet discussion groups, \fBMH\-Users@ICS.UCI.EDU\fR
58 and \fBMH\-Workers@ICS.UCI.EDU\fR. \fBMH\-Workers\fP is for people
59 discussing code changes to \fIMH\fP. \fBMH-Users\fP is for general
60 discussion about how to use \fIMH\fP.
61 \fBMH\-Users\fR is bi-directionally
62 gatewayed into USENET as \fBcomp.mail.mh\fR.
64 Since you probably already have \fIMH\fP,
65 you may not need to read this unless you suspect you have an old version.
66 There are two ways to get the latest release:
68 1. If you can FTP to the ARPA Internet, use anonymous FTP to
69 ftp.ics.uci.edu and retrieve the file pub/mh/mh-6.8.tar.Z.
70 This is a tar image after being run through the compress program
71 (approximately 1.8MB). There should also be a \fBREADME\fR file in
72 that directory which tells what the current release of \fIMH\fP
73 is, and how to get updates.
75 You may also find MH on
76 various other hosts; to make sure you get the latest version and
77 don't waste your time re-fixing bugs, it's best to get it from
78 either ftp.ics.uci.edu or a site that mirrors ftp.ics.uci.edu.
80 2. You can send $75 US to the address below.
81 This covers the cost of a 6250 BPI 9-track magtape,
82 handling, and shipping. In addition, you'll get a
83 laser-printed hard-copy of the entire MH documentation set. Be
84 sure to include your USPS address with your check. Checks
85 must be drawn on U.S\&. funds and should be made payable to:
88 Regents of the University of California
90 The distribution address is:
95 Office of Academic Computing
96 Univeristy of California at Irvine
97 Irvine, CA 92717-2225 USA
103 Sadly, if you just want the hard-copies of the documentation, you
104 still have to pay the $75. The tar image has the documentation
105 source (the manual is in roff format, but the rest are in TeX
106 format). Postscript formatted versions of the TeX papers are
107 available, as are crude tty-conversions of those papers.
111 This is a description of how one can bring up an \fIMH\fR system.
112 It is assumed that you have super-user privileges in order to
113 (re\-)install \fIMH\fR.
114 Super-user privileges are not required to configure or generate \fIMH\fR.
116 Become the super-user and cd to /usr/src/local/
117 (or whatever you keep your local sources).
118 The distribution tape contains the hierarchy for the mh.6-8/ directory.
119 Bring the sources on-line:
127 First, go to the conf/ directory.
133 This directory contains files that will produce source files tailored
134 for your choice of \fIMH\fR configuration.
135 You should edit only the file \fBMH\fR.
136 This file contains configuration directives.
137 These configuration directives are read by the \fImhconfig\fR program to
138 produce customized files.
140 For examples of various configurations,
141 look in the directory \fBconf/examples/\fR.
142 The file \fBMH\fR provided in \fBconf/\fR is a reasonable default.
143 Lines beginning with `#' are comments, and are not otherwise interpreted.
145 Here are the \fIMH\fP configuration directives available. Be sure
146 to read through this list completely before attempting to decide
147 what directives are appropriate for your system.
149 More information on some of these options is available in the
150 the \fIAdministrator's Guide\fR. If you do not have a printed
151 copy, you should configure your system with the default
152 configuration file, \fBMH\fP, then generate and print a copy
153 of the guide (as described below).
161 .Uh "Installation paths"
165 The directory where user\-invoked programs go (see manual section 1).
168 etc: /usr/local/lib/mh
170 The directory where pgm\-invoked programs go (see manual section 8).
173 mail: /usr/spool/mail
175 The directory where the maildrops are stored.
176 If this pathname is absolute (i.e., begins with a \fB/\fR\0),
177 then the user's maildrop is a file called \fB$USER\fR in this directory.
178 If the pathname is not absolute,
179 then the user's maildrop is in the user's home directory under the given name.
184 The parent directory of the manual entries.
189 Where manual entries should be installed,
190 relative to the directory given with \*(lqmandir\*(rq.
191 Either \*(lqlocal\*(rq to install manual entries under \fBmanl/\fR,
192 or \*(lqnew\*(rq to install manual entries under \fBmann/\fR,
193 or \*(lqold\*(rq to install manual entries under \fBmano/\fR,
194 or \*(lqstandard\*(rq to install manual entries under \fBman?/\fR,
195 or \*(lqbsd44\*(rq to install manual entries as \fBman?/\fIpage\fP.0\fR,
196 or \*(lqgen\*(rq to generate but not install them,
197 or \*(lqnone\*(rq to neither generate nor install them.
199 Any of these values may have the suffix \*(lq/cat\*(rq appended
200 to it. In that case, the manual entries will be formatted
201 with \*(lqnroff -man\*(rq and they will be installed in the
202 corresponding \*(lqcat?\*(rq directories.
205 to install manual entries under \fB/usr/man/u_man/man?\fR,
206 use \*(lqstandard\*(rq and \fB/usr/man/u_man\fR for \*(lqmandir\*(rq.
207 To install formatted manual entires under \fB/usr/contrib/man/cat?\fR,
208 use \*(lqstandard/cat\*(rq and \fB/usr/contrib/man\fR for \*(lqmandir\*(rq.
209 To install formatted manual entries using the BSD44 convention,
210 use \*(lqbsd44/cat\*(rq.
215 The location of the \fIchown\fR\|(8) on your system.
216 If \fIchown\fR is in your search path,
217 just use the value of \*(lqchown\*(rq.
219 this should probably be \*(lq/bin/chown\*(rq.
224 The command to copy files when installing, if not \*(lqcp\*(rq.
225 (Some sites use \*(lqcp\0\-p\*(rq.)
230 The command to link files together in the source tree, if not \*(lqln\*(rq.
231 If you're using something like \fBlndir\fP to keep
232 your compile tree separate from your source tree,
233 set this to \*(lqln\0\-s\*(rq or \*(lqcp\*(rq.
238 How \fIMH\fR should make backup copies
239 of existing files when installing new files.
240 To simply remove the old files, use \*(lqrm\0\-f\*(rq.
242 .Uh "Compiler/loader"
246 The name of your C compiler, if not \*(lqcc\*(rq.
251 Options given directly to \fIcc\fR\|(1).
252 The most common is \*(lq\-M\*(rq if you're running \fIMH\fR on an ALTOS.
253 This defaults to \*(lq\-O\*(rq. If you define this and want to
254 keep \*(lq\-O\*(rq, be sure to include it explicitly.
255 If you're using the \fIGNU\fP C compiler, it should
256 include `\-traditional'. See \*(lqoptions:\*(rq for `\-D' options.
259 curses: \-lcurses\0\-ltermlib
261 This should be the loader option required to load the \fItermcap\fR\|(3)
262 and \fIcurses\fR\|(3) libraries on your system.
263 On SYS5 systems, it probably should be just \*(lq\-lcurses\*(rq.
264 Some sites have reported that both \*(lq\-lcurses\*(rq and
265 \*(lq\-ltermlib\*(rq are necessary.
270 Options given directly to \fIld\fR\|(1) (via \fIcc\fR\|) at the beginning
272 Useful for machines which require arguments to tell \fIld\fR to increase the
273 stack space (e.g. the Gould, which uses \*(lq\-m\08\*(rq).
274 Usually, \*(lq\-s\*(rq is a good choice in any event.
279 Options given directly to \fIld\fR\|(1) (via \fIcc\fR\|) at the end of the
281 The two most common are:
282 \*(lq\-ldbm\*(rq if you're running MMDF with the \fIdbm\fR package;
283 and, \*(lq\-lndir\*(rq if you are generating \fIMH\fR on a system
284 which does not load the new directory access mechanism by default
285 (e.g., 4.1BSD, SYS5).
286 If you don't have \fIlibndir\fR on your system,
287 the sources are in \fBmiscellany/libndir/\fR.
292 Alternative version of \fIlex\fR. Used in \fBzotnet/tws/\fR.
297 This controls how \fIMH\fP will try to process library object files to
298 eliminate local symbols.
299 Support for the ALTOS loader if \*(lqon\*(rq.
300 Support for loaders not handling `\-x\0\-r' correctly if \*(lqnone\*(rq.
305 Support for systems with \fIranlib\fR\|(1).
306 For SYSTEM 5 systems,
307 this should be \*(lqoff\*(rq which tells \fIMH\fR to use \fIlorder\fR and
309 Some SYSTEM 5 sites reported that running this isn't always sufficient.
311 then you should edit \fBconf/makefiles/uip\fR to include
312 \fB\&../sbr/libmh.a\fR and \fB../zotnet/libzot.a\fR twice in the LIBES
315 .Uh "Message Transport System"
319 Which message transport system to use.
320 Either \*(lqmmdf\*(rq to use \fIMMDF\fR as the transport system,
321 \*(lqmmdf2\*(rq to use \fIMMDF\-II\fR as the transport system,
322 \*(lqsendmail\*(rq to have \fISendMail\fR as the transport system,
323 \*(lqzmailer\*(rq to have \fIZMAILER\fP as the transport system,
324 or, \*(lqmh\*(rq to have \fIMH\fR as the transport system.
326 On UNIX systems supporting TCP/IP networking via sockets
327 you can add the suffix \*(lq/smtp\*(rq to the mts setting.
328 This often yields a superior interface as \fIMH\fR will post mail with the
329 local \fISMTP\fR server instead of interacting directly with \fIMMDF\fR or
331 Hence, for TCP/IP UNIX systems,
332 the \*(lq/smtp\*(rq suffix to either \*(lqsendmail\*(rq or \*(lqmmdf2\*(rq is
333 the preferred MTS configuration.
334 The \*(lq/smtp\*(rq suffix is described in detail in the \fIAdministrator's
335 Guide\fR; be sure to set \*(lqservers:\*(rq as described in
336 \fImh\-tailor\fR\|(8) if you use this option.
341 Support for mail filtering on those systems in which the message transport
342 system isn't integrated with \fIUUCP\fR
343 This option is strictly for an \fIMH\fR system using either \fIMMDF\-I\fR
344 as its transport system or one using \*(lqstand\-alone delivery\*(rq.
346 .Uh "UCI BBoards Facility"
350 If \*(lqon\*(rq, include support for the UCI BBoards facility.
351 BBoards may be enabled with any mts setting.
352 If \*(lqoff\*(rq, the BBoard reading program \fIbbc\fR will not be installed.
354 include support for the UCI BBoards facility to read the Network News
356 If \*(lqpop\*(rq (formerly \*(lqpopbboards:\0on\*(rq),
357 include support for the UCI BBoards facility via the POP3 service;
358 this setting requires \*(lqpop:\0on\*(rq.
364 the BBoards delivery agent and library files will not be installed.
367 and you set \*(lqbboards:\*(rq to something besides \*(lqoff\*(rq,
369 the BBoards delivery agent and library files will be installed
370 in the \fIbbhome\fR directory (see below).
371 To read remote BBoards,
372 the usual configuration would have \fIbbc\fR talk to a \fIPOP3\fR or
374 However, it may be useful to set this to \*(lqoff\*(rq if
375 you NFS mount the \fIbbhome\fR directory from another host
376 and want to use \fIbbc\fR to read those files directly.
379 bbhome: /usr/spool/bboards
381 The home directory for the BBoards user.
383 .Uh "Post Office Protocol"
387 Support for POP service.
388 This allows local delivery for non\-local users
390 See \fBsupport/pop/pop.rfc\fR for more information on the POP.
391 This option currently works only on UNIX systems with TCP/IP sockets.
392 (It doesn't hurt to enable this option regardless of whether or not
393 you intend to use POP.) See also \*(lqbboards: pop\*(rq to enable
394 reading bboards with the POP.
399 The directory where the POP daemon (\fBpopd\fP) will be installed.
405 \&`\-D' options to \fIcc\fR\|(1).
409 APOP='\*(lq/etc/pop.auth\*(rq'
411 This option indicates that the POP daemon will
412 support the non-standard \fBAPOP\fP command,
413 and specifies the name of \fBAPOP\fP authorization database.
415 command provides a challenge-based authentication system using
416 the \fBMD5\fP message digest algorithm.
417 This facility is documented in
418 \fIThe Internet Message\fR (ISBN 0\-13\-092941\-7), a book by Marshall T. Rose.
420 This option also causes the
421 \fBpopauth\fP program to be installed, which
422 allows the administrator to manipulate the \fBAPOP\fP
423 authorization database.
424 For more details, see \fBsupport/pop/pop-more.txt\fR
425 and the \fIAdministrator's Guide\fP.
430 This option indicates that POP subscribers do not have
431 entries in the \fIpasswd\fR\|(5) file,
432 and instead have their own separate database (a win).
437 Support for KERBEROS with POP.
439 \fIpopd\fP, \fIinc\fP and \fImsgchk\fP to support only the
440 \*(lqkpop\*(rq protocol.
441 This code is still experimental, but is available for
442 those sites wishing to test it.
447 This option indicates that the POP daemon will
448 support the non-standard
449 \fBXTND SCAN\fP command which provides performance
450 enhancements when using the POP over low-speed connections.
451 This option also causes an interactive POP
452 client program, \fBpopi\fP, to be compiled and installed.
453 A man page for the \fBpopi\fP program is also provided.
455 These extensions are described in
456 \fIThe Internet Message\fR, a book by Marshall T. Rose.
457 For more details, see \fBsupport/pop/pop-more.txt\fR.
458 \fBNote:\fP this option requires \*(lqbboards: pop\*(rq.
463 Have the POP daemon understand the older
464 POP2 protocol as well as the \fIMH\fP POP3 protocol \- a major win.
465 The POP daemon auto-magically
466 determines which POP protocol your client is using.
467 If you're enabling POP service,
468 there's no reason not to enable this option as well.
469 See also \fIPOPSERVICE\fR.
474 The port name the \fIMH\fP POP will use. For historical reasons,
475 this defaults to \*(lqpop\*(rq.
477 In 1987, the \fIMH\fP POP protocol
478 (POP version 3) was published as RFC1081 and
479 was assigned its own port number (110),
480 which differs from the original POP (version 1 and 2) port number (109).
482 To have \fIMH\fP POP use the new assigned port number,
483 set POPSERVICE='\*(lqpop3\*(rq', and be sure that this service
484 name is listed in your \fB/etc/services\fP file on both POP client
485 and server hosts as \*(lq110/tcp\*(rq.
486 If you enable \fIPOP2\fP, you can safely leave \fIPOPSERVICE\fP
487 undefined unless you are using POP3 clients besides \fIMH\fP.
492 This option indicates that support for the UNIX variant of POP,
493 RPOP, which uses privileged sockets for authentication be enabled.
494 This peacefully co-exists with the standard POP.
499 Indicates that the \fBpopd\fP POP server
500 can find encrypted passwords in the
501 \fB/etc/shadow\fR file (and not in the \fB/etc/passwd\fR file).
502 It should be used only for some (newer) SYSTEM 5 systems.
505 The \*(lqAPOP\*(rq and \*(lqMPOP\*(rq non-standard POP
506 facilities are documented in
507 \fIThe Internet Message\fR (ISBN 0\-13\-092941\-7),
508 a book by Marshall T. Rose.
509 For more details, see \fBsupport/pop/pop-more.txt\fR.
510 The \*(lqAPOP\*(rq option peacefully co-exists with the standard POP.
511 The \*(lqMPOP\*(rq option requires \*(lqbboards: pop\*(rq.
513 .Uh "Shared libraries"
518 makes libmh.a into a SunOS 4.0 (and later) shared library.
519 If you enable this, be sure to also use \*(lqoptions SUN40\*(rq.
521 makes libmh.a into a SYS5 R4 (and later) shared library.
522 If you enable this, be sure to also use \*(lqoptions SVR4\*(rq.
527 The compiler flags to produce position independent code.
530 slibdir: /usr/local/lib
532 The directory where the \fIMH\fP shared library should go.
538 Since some \fIMH\fP programs are setuid, they'll only look for
539 the library in \*(lqtrusted\*(rq locations. Putting the library
540 somewhere besides \fB/usr/lib\fP or \fB/usr/local/lib\fP is not advisable.
542 If you \fBmust\fP do this, be sure that you add the
543 path given by \fBslibdir\fP to the compiler's library search list
544 (e.g., \*(lqldoptions:\0\-L/usr/mh/lib\*(rq)
545 and make sure the path starts with a leading `/'.
547 You may need to run \fIldconfig\fP\|(8) manually whenever a new
548 shared object is installed on the system.
549 See \fIld\fR\|(1) for more information about using shared libraries.
552 Under Solaris 2.0 (and newer)
554 The above instructions for SunOS apply, except you should set
555 the run-time library search path using `\-R' instead of `\-L'
556 (e.g., \*(lqldoptions: \-R/usr/mh/lib\*(rq).
558 .Uh "General System Dependencies"
560 You should include the following directives
561 which are appropriate for your version of UNIX.
562 If you don't know what an
563 option does, it probably doesn't apply to you.
569 If set, \fIinc\fR is made set-group-id to this group name.
570 Some SYS5 systems want this to be set to \*(lqmail\*(rq.
571 Set this if your \fB/usr/spool/mail\fP is not world-writeable.
573 Note that \fBslocal\fP doesn't know how to deal with this,
574 and will not work under these systems; just making it set-group-id
575 will open a security hole.
576 If you're using \*(lqmailgroup\*(rq,
577 you should remove \fBslocal\fP (and its man page) from your system.
582 The base type (int or void) of the function
583 parameter/return value of \fIsignal\fR\|(2).
584 The default is \fBint\fR.
585 Set \*(lqsignal void\*(rq on systems which use this type
586 (e.g., SYSTEM 5 V3.0 and later or Sun OS 4.0 and later).
591 The return value of the \fIsprintf\fR library routine.
592 This defaults to \*(lqchar\0*\*(rq. Set this to \*(lqint\*(rq if
593 you have an older version of SYSTEM 5 which has this routine return an
600 \&`\-D' options to \fIcc\fR\|(1).
606 Use on XENIX/v7 systems.
607 Also, be sure to use \*(lqoptions V7\*(rq.
613 \fIMH\fP to return to the \*(lqWhat now?\*(rq
614 prompt if your initial editor is \fBvi\fP
615 and it exits with non-zero status.
616 Use on Sun OS 4.1 and other systems where the
617 \fB/usr/ucb/vi\fP editor was changed to
618 exit with its status equal to the number of pseudo-\*(lqerrors\*(rq
619 encountered during the edit. This causes a problem for programs that
620 test the exit status of their editor and abort if the status is non-zero.
621 (This includes \fIMH\fP and programs like \fB/usr/etc/vipw\fP).
626 Use with AUX systems.
631 If you are running with the BIND code on UNIX systems
632 with TCP/IP sockets (e.g. 4.{2,3}BSD),
633 be sure to define this.
638 Use on 4.1a Berkeley UNIX systems.
643 Use on Berkeley UNIX systems on or after 4.2BSD.
648 Use on 4.3 Berkeley UNIX systems.
649 Also, be sure to use \*(lqoptions BSD42\*(rq.
650 If \fIopenlog\fR\|(3) (see \*(lqman 3 syslog\*(rq)
651 takes three arguments instead of two,
652 and your \fIwrite\fR\|(1) command is set\-group\-id
653 to group \*(lqtty\*(rq, use this option.
654 If only one of these conditions is true, you lose.
659 Use on Berkeley UNIX systems on or after 4.4BSD.
660 Also, be sure to use \*(lqoptions BSD43\*(rq
661 and \*(lqoptions BSD42\*(rq.
666 Use this option if your \fIgetpwent\fR\|(3) routines read a
667 dbm database (such as with Yellow Pages) instead of doing
668 a sequential read of \fB/etc/passwd\fR.
669 Without DBMPWD the entire passwd file is read into
670 memory one entry at a time for alias expansion.
671 This is a performance improvement when reading
672 a standard \fB/etc/passwd\fR file,
673 but is \fIvery\fR slow on systems with a dbm database.
674 At one site that runs
675 YP on a large passwd file, it showed a 6:1 performance improvement.
680 The so-called \*(lqgcos\*(rq field of the password file is
681 used as a last resort
682 to find the user's full name (see \fImh-profile\fP\|(5) for details).
684 if your \fIpasswd\fP\|(5) man page notes that the `&'
685 character in the \*(lqgcos\*(rq field stands for the login name.
690 Directs \fIMH\fP to use the \fBfcntl()\fP system call for kernel-level
691 locking. If you're using a SYS5 system, you may want
692 this option. (See also `FLOCK' and `LOCKF').
697 Directs \fIMH\fP to use the \fBflock()\fP system call for kernel-level
698 locking. If you're on a BSD42 system,
699 and you're not using NFS to read or write maildrops,
700 you should enable this option. (See also `FCNTL' and `LOCKF').
706 This code was contributed, and included no documentation.
711 Directs \fIMH\fP to use the \fBlockf()\fP system call for kernel-level
712 locking. If you're using NFS to read or
713 write maildrops, you should enable this option. (See also `FLOCK'
719 Hard-wires the local name for the host \fIMH\fR is running on.
720 For example, locname='\*(lqPICKLE\*(rq'.
721 It's probably better to either let UNIX tell \fIMH\fR this information,
722 or to put the information in the host specific \fBmtstailor\fR file.
727 Defines the location of the \fImore\fR\|(1) program.
728 On ALTOS and DUAL systems, set
729 MORE='\*(lq/usr/bin/more\*(rq'.
730 The default is \*(lq/usr/ucb/more\*(rq.
735 For non-Berkeley UNIX systems,
736 this \fIMH\fR will try to find the new directory access mechanism by looking
737 in \fB<ndir.h>\fR if this option is given.
738 Otherwise, \fIMH\fR will try \fB<dir.h>\fR.
739 If you still can't get this to work on your system,
740 edit \fBh/local.h\fR as appropriate.
741 (See also `SYS5DIR'.)
746 Tells \fIMH\fR to hack around a problem in the NFS C library.
747 If you get an undefined symbol \*(lqruserpass\*(rq when compiling
748 \fIMH\fP, you probably need this option. If, however, you include this
749 option and get an undefined symbol \*(lq\(ru\^\(ruruserpass\*(rq
750 when compiling, then you should omit this option.
751 (See also `NORUSERPASS'.)
756 Tells \fIMH\fR not to include the file \fB<sys/ioctl.h>\fR.
757 To be used on systems where this file is not present.
762 Tells \fIMH\fR that your system doesn't have the
763 \fIruserpass\fP\|(3) routine;
764 \fIMH\fR will include its own copy of this
765 routine in its library.
771 Tells \fIMH\fR to use the \fBntohl()\fR macro when processing
772 \fImsh\fR binary map files. \fIMH\fR can use this macro on
773 systems with the include file \fBnetinet/in.h\fR,
774 to byte-swap the binary information in these map files.
775 If you're using the same map files on machines of different
776 architectures, enable this option.
781 Include this option if your system has a \fBrename()\fP library
782 call. This is true on BSD42 and newer and some SYS5 systems.
787 Causes SMTP reply code 451 (failure)
788 to be considered the same as code 250 (OK).
789 Since this might cause problems, only
790 enable this if you are certain that your SendMail will
791 return this code even when it doesn't mean to indicate a failure.
796 .\" Causes \fIMH\fP to give the \*(lqONEX\*(rq SMTP command
797 .\" when posting mail (a SendMail performance hack).
798 .\" Useful only if you're running a SendMail
799 .\" which will successfully reset with the \*(lqRSET\*(rq command
800 .\" after seeing the \*(lqONEX\*(rq command;
801 .\" otherwise, if you enable this
802 .\" you may have problems posting messages with \*(lqBCCs\*(rq.
807 Indicates the availability of a socket interface
808 for TCP/IP networking that is compatible with 4.{2,3}BSD UNIX.
809 It is not necessary to define this when BSD42 is already defined,
810 but it might be useful for SYSTEM 5 or HPUX systems with TCP/IP sockets.
815 Use on Sun OS 4.0 (and later?) systems. You also will need
816 \*(lqoptions BSD42\*(rq, \*(lqoptions BSD43\*(rq, and
817 \*(lqsignal void\*(rq.
819 If you're using Sun's brain-damaged approach to offering Domain
820 Name Service through NIS, be sure to include
821 \*(lqoptions BIND\*(rq and
822 \*(lqldoptions \-lresolv\*(rq to work around some NIS/DNS bugs.
827 Use on AT&T SYSTEM 5 R3 (and newer?) UNIX systems. See also \fImailgroup\fR.
832 Define this if your system uses \*(lqstruct dirent\*(rq
833 instead of \*(lqstruct direct\*(rq.
834 This is true of System V Release 3.0 and later.
835 Uses include file \fB<dirent.h>\fR
836 and the routines \fImkdir\fR, \fIrmdir\fR and \fIgetcwd\fR.
841 Use on AT&T SYSTEM 5 R4 (and newer?) UNIX systems. You should
842 also include \*(lqoptions SYS5\*(rq and \*(lqoptions SYS5DIR\*(rq.
843 See also \fImailgroup\fR.
844 You will also need to include \*(lqoldload none\*(rq if your \fBld\fP
845 doesn't handle `\-x\0\-r' correctly.
850 Define TERMINFO if you have it.
851 You get it automatically if you're running SYS5, and you don't get
852 it if you're not. (If you're not SYS5, you probably have termcap.)
857 Use time zone names from the \fItzname\fR variable, set via \fItzset\fR.
858 Only applicable on SYSTEM 5 systems and only effective when you have
859 asked for alpha\-timezones (see the ATZ option). See also ZONEINFO.
864 Include this option if your system has the file \fB<unistd.h>\fP.
865 If not specified, the LOCKF option will include \fB<sys/fcntl.h>\fP.
870 Use on V7 UNIX systems.
871 Also, be sure to use \*(lqoptions void=int\*(rq.
876 Include this option if your system has the \fIvsprintf\fP\|(3)
877 library routine; otherwise, \fI\(rudoprnt\fP\|(3) will be used.
882 BSD42 based systems call the \fIwait\fP\|(2)
883 system routine with a pointer to type \fIunion wait\fP.
884 Include this option if you included \*(lqoptions BSD42\*(rq, but
885 your system calls the \fIwait\fP\|(2)
886 system routine with a pointer to type \fIint\fP
887 (the non-BSD42 default).
892 Specify this if you have a BSD43 based system that keeps time zone
893 information /etc/zoneinfo or /usr/lib/zoneinfo (SunOS),
896 returned by \fIlocaltime\fP\|(3) contains a \fItm_gmtoff\fP element
897 (see \fB/usr/include/time.h\fP).
898 With this fix the GMT offset specified in outgoing mail
899 will be corrected when the TZ enviornment variable is set
900 to a different time zone. See also TZNAME.
903 .Uh "Site Preferences"
906 These options change the
907 default behavior of \fIMH\fP or enable optional features.
908 Add the options which are appropriate for your configuration
909 or your site preferences.
915 The default editor for \fIMH\fR.
921 \&`\-D' options to \fIcc\fR\|(1).
928 Directs \fIMH\fR to use alpha\-timezones whenever possible.
929 You should not use this option if you are on the Internet,
930 since it will make your host non-compliant with RFC-1123
931 (Requirements for Internet Hosts).
936 Makes \fIrepl\fR `\-nocc\0all' the default instead of `\-cc\0all'.
937 You may want to enable this if you're using \fIxmh\fR.
942 Directs \fIMH\fR to favor `!' over `@' in addressing.
947 Optional for for 4.{2,3}BSD sites running SendMail.
948 Disables nearly all of the RFC822 address and header-parsing routines
949 in favor of recognizing such formats as ASCnet, and so on.
950 If you don't need to disable the parser for this reason,
951 you probably want to use \*(lqoptions DUMB\*(rq instead.
956 If you previously ran a version of \fIMH\fR earlier than mh.4 use this option.
957 After a short grace period,
958 remove it and re-{configure,generate,install} everything.
963 Directs \fIMH\fR not to try and rewrite addresses to their
964 \*(lqofficial\*(rq form.
969 Defines the octal value for default folder-protection.
970 For example, FOLDPROT='\^\*(lq0700\*(rq\^'.
971 The default is \*(lq0711\*(rq.
976 When using \*(lqrepl\0\-ccme\*(rq,
977 only \*(lqcc:\*(rq the first address found which belongs to the user;
978 any other \fIAlternate-Mailboxes\fR do not receive \*(lqcc:\*(rqs.
983 Defines the filename for alternate file name for \fIdist\fR and \fIrepl\fR.
984 For example, LINK='\^\*(lq\^\\\^\\\^043\*(rq\^'
985 to use the pound\-sign character.
986 The default is \*(lq@\*(rq.
991 Enables crude support for Brien Reid's MHE interface.
992 Recommended for use with the GNU Emacs mh-e package.
997 Enables \fIMH\fR to recognize the \fICShell\fR's `~'\-construct.
998 This is useful for sites that run with a ~/.mhrc for their users.
1003 Enables support for multi-media messages,
1004 as specified in RFC 1341 \-\- a major win.
1005 This allows you to include things like audio,
1006 graphics, and the like, in your mail messages.
1007 Several \fIMH\fP commands are extended to support these multi-media
1009 and the \fImhn\fR command is provided to encode and decode
1010 \fBMIME\fP messages.
1011 For more details, see \fBmiscellany/multi-media/READ-ME\fP
1017 Enables \fBslocal\fP to detect and surpress duplicate messages received.
1018 This code uses the \fB<ndbm.h>\fP library,
1019 and requires \*(lqoptions BSD42\*(rq since
1020 it uses the \fIflock\fP\|(2) system call for locking.
1021 (Note that this means its database locking does not work over NFS.)
1022 It has only been tested under SUN40.
1027 Defines the octal value for default folder-protection.
1028 For example, MSGPROT='\^\*(lq0600\*(rq\^'.
1029 The default is \*(lq0644\*(rq.
1034 Directs \fIMH\fR to make private sequences the default.
1039 Enable \fIMH\fR commands to read profile/context from open fd:s
1040 without doing an open(); see \fImh-profile\fP\|(5) for the details.
1045 Directs \fIinc\fR to note UNIX \*(lqFrom\ \*(rq lines as Return-Path: info.
1050 Defines the prefix string for backup file names.
1051 For example, SBACKUP='\^\*(lq\^\\\^\\\^043\*(rq\^'.
1052 The default is \*(lq,\*(rq.
1057 Support for the TTI \fItrusted mail agent\fR (TMA).
1058 Although the TTI TMA is \fBnot\fR in the public domain,
1059 the \fIMH\fR support for the TTI TMA \fBis\fR in the public domain.
1060 You should enable this option only if you are licensed to run the TMA
1062 (otherwise, you don't have the software in your \fIMH\fR source tree).
1067 Support for TTYD. This is no longer in wide use, and is not recommended.
1072 First, \*(lq_\*(rq and \*(lq#\*(rq are recognized as the prefixes for
1074 Second, support for the UCI group\-leadership mechanism is enabled in
1076 Third, the first line of the file
1077 file \fB$HOME/.signature\fR is used as the \fIFull Name\fR part
1078 of your \*(lqFrom:\*(rq header.
1079 This may conflict with the interpretation of this file by \fINews\fR.
1080 If you're not at UCI, you probably don't want this option.
1085 Directs the \fIscan\fR program to generate UK-style dates by default.
1090 Enable certain \fIMH\fR commands to act differently when $mhdraft set.
1095 This option makes the \fImh-format\fP \fB%(year)\fP function
1096 always return a value less than 100.
1097 Enable this option if you have local \fImh-format\fP\|(5) files
1098 which cannot handle 4-digit years.
1099 You should convert these files to use a 4-character field width,
1100 or use the \fB%(modulo 100)\fP function to obtain a 2-digit year value.
1101 After a short grace period,
1102 remove `YEARMOD' and re-{configure,generate,install} everything.
1105 .Uh "Testing/debugging"
1109 Support for debug mode of \fIMH\fR.
1110 Don't use this unless you know what you're doing,
1111 which isn't likely if you're reading this document!
1116 Set this to \*(lqon\*(rq
1117 if you are doing regression testing among different
1118 compilations of \fIMH\fP, and you do not want the hostname
1119 and compile date included in \fIMH\fP binaries.
1124 Now edit \fBconf/config/mtstailor\fR,
1125 depending on your choice of the setting
1126 for mts in the \fIMH\fR configuration file.
1127 for an mts setting of \*(lqmh\*(rq,
1128 look at the file \fBconf/tailor/mhmts\fR;
1129 for an mts setting of \*(lqsendmail\*(rq, \*(lqsendmail/smtp\*(rq,
1130 \*(lqmmdf/smtp\*(rq, or \*(lqmmdf2/smtp\*(rq,
1131 look at the file \fBconf/tailor/sendmts\fR;
1133 for an mts setting of \*(lqmmdf\*(rq, or \*(lqmmdf2\*(rq,
1134 look at the file \fBconf/tailor/mmdf\fR.
1136 Now install the configured files into the source areas. (On SYS5
1137 systems, or other systems where you get complaints about
1138 \*(lq_index\*(rq and \*(lq_rindex\*(rq being undefined,
1139 you should use \*(lqmake sys5\*(rq to compile mhconfig.)
1146 \fBBefore proceeding\fP,
1147 you should familiarize yourself with the \fIAdministrator's Guide\fR.
1148 To generate an \fInroff\fR version, go to the doc/ directory
1152 % (cd ../doc/; make ADMIN.doc)
1156 If you're already running \fIMH\fR at your site,
1157 you should also read the \fImh\fR changes document \fBCHANGES\fP.
1158 The source is in \fBpapers/changes/\fR.
1160 After reading the \fIAdministrator's Guide\fR, you may decide
1161 to change your MH configuration. If so, cd back to the \fBconf/\fP
1162 directory, re-edit the files \fBMH\fP
1163 and \fBconf/config/mtstailor\fR, and re-run \fImhconfig\fP.
1165 You now proceed based on your choice of a transport system
1166 (the setting for mts above).
1167 The best interface is achieved with \*(lqsendmail\*(rq
1168 followed by \*(lqmmdf\*(rq or (\*(lqmmdf2\*(rq),
1169 and then \*(lqmh\*(rq (stand\-alone delivery, not recommended).
1171 If you have not enabled BBoards or POP
1172 then no further MTS\-specific action is required on your part!
1174 If you have enabled POP, but you
1175 want to let \fISendMail\fP deliver mail POP mail using its
1176 standard delivery program \fB/bin/mail\fP,
1177 then, again, no further MTS\-specific action is required on your part!
1180 go to the mts/sendmail/ directory.
1183 % cd ../mts/sendmail/
1186 This directory contains files whose definitions correspond to the
1187 configuration of your \fISendMail\fR system.
1188 If you have enabled BBoards or POP service,
1189 then you will need to re\-configure \fISendMail\fR.
1190 First, in the \*(lqlocal info\*(rq section of your site's
1191 \fISendMail\fR configuration file,
1192 choose a free macro/class (B is used in this distribution),
1193 and add these lines:
1203 Second, immediately after the inclusion of the zerobase file,
1204 in the \*(lqmachine dependent part of ruleset zero\*(rq section,
1209 # resolve names for the BBoards system
1210 R$+<@$=B> $#bboards$@$2$:$1 topic@bboards
1214 Be sure to use tabs when separating these fields.
1219 include(bboardsMH.m4)
1231 in your site's \fISendMail\fR configuration file.
1232 Finally, you should link the file \fBmts/sendmail/bboardsMH.m4\fR into your
1233 \fISendMail\fR cf/ directory and re\-configure \fISendMail\fR.
1235 If you have enabled POP service,
1236 a similar procedure must be used on the POP service host,
1237 to re\-configure \fISendMail\fR.
1238 First, in the \*(lqlocal info\*(rq section of your site's
1239 \fISendMail\fR configuration file,
1240 choose a free macro/class (P is used in this distribution),
1241 and add these lines:
1251 Second, immediately after the inclusion of the zerobase file,
1252 in the \*(lqmachine dependent part of ruleset zero\*(rq section,
1257 # resolve names for the POP system
1258 R$+<@$=P> $#pop$@$2$:$1 subscriber@pop
1262 Be sure to use tabs when separating these fields.
1279 in your site's \fISendMail\fR configuration file.
1280 Finally, you should link the file \fBmts/sendmail/popMH.m4\fR into your
1281 \fISendMail\fR cf/ directory and re\-configure \fISendMail\fR.
1283 If you want \fIMMDF\fR to be your transport service,
1284 and have \fBNOT\fR specified \*(lqmmdf/smtp\*(rq (or \*(lqmmdf2/smtp\*(rq)
1285 as your mts setting,
1286 then go to the mmdf/ directory.
1287 (If you're using \*(lqmmdf/smtp\*(rq or \*(lqmmdf2/smtp\*(rq
1288 as your mts setting, then skip to the next section.)
1294 This directory contains files whose definitions correspond to the
1295 configuration of your \fIMMDF\fR system.
1297 If you're running \fIMMDF\-I\fR,
1298 then copy the following files from wherever you keep the \fIMMDF\fR sources
1299 to this directory: mmdf/h/ch.h, mmdf/h/conf.h, utildir/conf_util.h,
1300 utildir/ll_log.h, mmdf/h/mmdf.h, utildir/util.h, mmdf/mmdf_lib.a,
1301 and utildir/util_lib.a.
1303 If you're running \fIMMDF\-II\fR,
1304 then copy the following files from where you keep the \fIMMDF\fR sources
1305 to this directory: h/ch.h, h/conf.h, h/dm.h, h/ll_log.h, h/mmdf.h, h/util.h,
1308 If you have enabled bboards,
1309 then the directories \fBsupport/bboards/mmdfI\fR
1310 and \fBsupport/bboards/mmdfII\fR
1311 contain information you'll need to
1312 put a UCI BBoards channel in your \fIMMDF\fR configuration.
1313 Similarly, if you have enabled option \*(lqmf\*(rq and are
1314 running \fIMMDF\-I\fR,
1315 then the \fBzotnet/mf/mmdfI/\fR directory contains information you'll need to
1316 put a \fIUUCP\fR channel in your \fIMMDF\-I\fR configuration.
1317 Finally, the directory \fBsupport/pop/mmdfII\fR contains information you'll
1318 need to put a POP channel in your \fIMMDF\-II\fR configuration.
1320 Note that \fIMMDF\-II\fR is distributed with the BBoards channel,
1321 although the version in the \fIMH\fR distribution might be more current,
1322 the version in the \fIMMDF\-II\fR distribution has been tested with that
1323 revision of \fIMMDF\fR.
1325 If you are using \*(lqmmdf/smtp\*(rq as your mts setting,
1326 then no further MTS\-specific action is required on your part!
1328 If you are using \*(lqmmdf2/smtp\*(rq as your mts setting,
1329 then no further MTS\-specific action is required on your part!
1330 .SS "STAND\-ALONE DELIVERY"
1331 If, instead, you want \fIMH\fR to handle its own mail delivery,
1332 then no further MTS\-specific action is required on your part!
1334 Go to the \fIMH\fP top-level directory and generate the system.
1340 This will cause a complete generation of the \fIMH\fR system.
1341 If all goes well, proceed with installation.
1342 If not, complain, as there \*(lqshould be no problems\*(rq at this step.
1344 If the directories you chose for the user\-programs,
1345 support\-programs and manuals
1346 (\*(lqbin\*(rq, \*(lqetc\*(rq, \*(lqpopdir\*(rq, \*(lqslibdir\*(rq,
1347 and \*(lqmandir\*(rq in the \fBconf/MH\fR file)
1349 you should create them at this point.
1351 Next, if you enabled support for the UCI BBoards facility,
1353 called \*(lqbboards\*(rq with the following characteristics:
1354 home directory is \fB/usr/spool/bboards/\fR with mode 755
1355 (actually, use the value for \*(lqbbhome\*(rq given in the \fIMH\fR
1356 configuration file),
1357 login shell is \fB/bin/csh\fR (or \fB/bin/sh\fR),
1358 and, encrypted password field is \*(lq*\*(rq.
1359 The \*(lqbboards\*(rq login should own the \fB/usr/spool/bboards/\fR
1361 In addition to creating \fB/usr/spool/bboards/\fR,
1362 also create \fB/usr/spool/bboards/etc/\fR
1363 and \fB/usr/spool/bboards/archive/\fR.
1364 These directories should also be owned by the \*(lqbboards\*(rq login.
1366 If you enabled support for POP,
1367 then on the POP service host,
1368 create a login called \*(lqpop\*(rq with the following characteristics:
1369 home directory is \fB/usr/spool/pop/\fR with mode 755,
1370 login shell is \fB/bin/csh\fR,
1371 and, encrypted password field is \*(lq*\*(rq.
1372 If you don't have \fB/bin/csh\fR on your system (V7),
1373 then \fB/bin/sh\fR is just fine.
1374 The \*(lqpop\*(rq login should own the \fB/usr/spool/pop/\fR directory.
1375 You'll also need to add a line to the \fB/etc/services\fR file and the
1376 \fB/etc/rc.local\fR file,
1377 see the \fIAdministrator's Guide\fR for more details.
1379 If this is not the first time you have installed \fIMH\fR,
1380 these files will need particular attention:
1384 .ta \w'VeryVeryBigDirectoryName 'u
1385 \fIDirectory\fR \fIFiles\fR
1386 \*(lqetc/\*(rq MailAliases, BBoardAliases, mtstailor
1387 /usr/spool/bboards/ BBoards, \&.cshrc, \&.mh\(ruprofile
1388 /usr/spool/bboards/etc/ *
1393 The \fBMailAliases\fR, \fBBBoardAliases\fR, \fBmtstailor\fR and \fBBBoards\fR
1394 files will \fBNOT\fP be installed over existing copies;
1395 you will need to edit these by
1396 hand and merge in any changes from your previous \fIMH\fR release.
1397 The other files under \fB/usr/spool/bboards/\fR will be overwritten
1399 You may wish to preserve your old versions of these before installing
1402 As the super-user, and from the mh.6/ directory, install the system.
1408 This will cause the \fIMH\fR
1409 processes and files to be transferred to the appropriate areas
1410 with the appropriate attributes.
1412 See the \fIAdministrator's Guide\fR for information on tailoring \fIMH\fR for
1413 the MTS, BBoards, and POP.
1415 In addition to this document,
1416 the \fIAdministrator's Guide\fP,
1417 and the \fIUser's Manual\fP,
1418 there are several documents referenced by the user's manual which may be
1420 The sources for all of these can be found under the \fBpapers/\fR directory.
1422 Consult the directory \fBmiscellany/\fR for the sources to a number of things
1423 which aren't part of the mainstream \fIMH\fR distribution,
1424 but which are still quite useful.
1426 Too numerous to mention. Really.
1430 The \fImhconfig\fR program should be smarter.
1432 There's no way to print the \fIAdministrator's Guide\fP
1433 until after you have configured the system; it is difficult
1434 to configure the system without the \fIAdministrator's Guide\fP.
1436 The Makefiles should know when \fImhconfig\fR has been run and force
1437 \*(lqmake clean\*(rq behavior.