Added all of the MH sources, including RCS files, in
[mmh] / docs / historical / mh-6.8.5 / papers / changes / RCS / mh6.tex,v
1 head     1.11;
2 branch   ;
3 access   ;
4 symbols  ;
5 locks    ; strict;
6 comment  @% @;
7
8
9 1.11
10 date     90.04.05.15.19.59;  author sources;  state Exp;
11 branches ;
12 next     1.10;
13
14 1.10
15 date     90.04.02.15.12.47;  author sources;  state Exp;
16 branches ;
17 next     1.9;
18
19 1.9
20 date     90.03.29.15.15.11;  author sources;  state Exp;
21 branches ;
22 next     1.8;
23
24 1.8
25 date     90.03.29.11.05.57;  author sources;  state Exp;
26 branches ;
27 next     1.7;
28
29 1.7
30 date     90.03.29.09.24.36;  author sources;  state Exp;
31 branches ;
32 next     1.6;
33
34 1.6
35 date     90.03.29.09.06.19;  author sources;  state Exp;
36 branches ;
37 next     1.5;
38
39 1.5
40 date     90.03.29.08.29.07;  author sources;  state Exp;
41 branches ;
42 next     1.4;
43
44 1.4
45 date     90.03.29.08.17.38;  author sources;  state Exp;
46 branches ;
47 next     1.3;
48
49 1.3
50 date     90.03.29.08.03.49;  author sources;  state Exp;
51 branches ;
52 next     1.2;
53
54 1.2
55 date     90.03.29.07.46.07;  author sources;  state Exp;
56 branches ;
57 next     1.1;
58
59 1.1
60 date     90.03.29.07.44.49;  author sources;  state Exp;
61 branches ;
62 next     ;
63
64
65 desc
66 @@
67
68
69 1.11
70 log
71 @add ID
72 @
73 text
74 @% run this through LaTeX
75 % @@(#)$Id:$
76
77 \input lcustom
78
79 \documentstyle[12pt,sfwmac]{article}
80
81 \parindent 0pt
82 \parskip 6pt plus 2pt   % for 12pt font
83 %\raggedright
84
85 \def\displaylabel#1{{\tt #1}\ \hfill}
86 %\def\displaylabel#1{\pgm{#1}\ \hfill}
87 \newenvironment{display}[1]{%
88 \list{}{\let\makelabel\displaylabel%
89     \settowidth{\labelwidth}{\makelabel{#1}\ }%
90     \setlength{\leftmargin}{\labelwidth}\addtolength{\leftmargin}{\labelsep}%
91     \setlength{\itemindent}{0pt}}}{\endlist}
92
93 \begin{document}
94
95 \title{Changes to\\ The Rand MH Message Handling System:\\
96         UCI version MH.6.7}
97 \author{John L.~Romine\\
98         Computing Suport Group\\
99         Department of Information and Computer Science\\
100         University of California, Irvine\\
101         Irvine, CA  92717}
102 \date{\ifdraft \versiondate/\\ Version \versiontag/\else \today\fi}
103 \maketitle
104 \footnotetext[0]{\hskip -\parindent
105 This document (version \versiontag/)
106 was \LaTeX set \today\ with \fmtname\ v\fmtversion.}
107
108 \begin{abstract}
109 This document describes the user-visible and internal changes to the
110 UCI version of the Rand \MH/ system from \MH/~\#6.5
111 to \MH/.6.7.  The first part should be of interest to all users
112 of \MH/, while the latter part is of interest only to \MH/
113 Administrators.
114
115 This document is meant to supplement,
116 not supersede, the standard \MH/ User's manual\cite{MH.USR} and
117 \MH/ Administrator's manual\cite{MH.ADM}.
118
119 Comments concerning this documentation should be addressed to the Internet
120 mailbox {\sf Bug-MH@@ICS.UCI.EDU}.
121 \end{abstract}
122
123 \newpage
124 \f\section* {Acknowledgements}
125 The \MH/ system described herein is based on the original Rand \MH/ system.
126 It has been extensively developed (perhaps too much so) by Marshall T.~Rose
127 and John L.~Romine at the University of California, Irvine.
128
129 For this release, numerous \MH/-Workers sent in fixes and other
130 changes.  Also, a number of sites served as beta-testers for
131 the changes which were made.
132 \f\section* {Disclaimer}
133 The Regents of the University of California wish to make it known that:
134 \begin{quote}
135 Although each program has been tested by its contributor,
136 no warranty, express or implied,
137 is made by the contributor or the University of California,
138 as to the accuracy and functioning of the program
139 and related program material,
140 nor shall the fact of distribution constitute any such warranty,
141 and no responsibility is assumed by the contributor
142 or the University of California in connection herewith.
143 \end{quote}
144
145 \f\section* {Conventions}
146 In this document,
147 certain \LaTeX -formatting conventions are adhered to:
148 \begin{enumerate}
149 \item The names of \unix/ commands, such as \pgm{comp},
150 are presented in {\it text italics}.
151
152 \item Arguments to programs, such as \arg"msgs",
153 are presented in {\tt typewriter style} and delimited by single-quotes.
154
155 \item \unix/ pathnames and envariables,
156 such as $$\file{/usr/uci/}\hbox{\qquad and\qquad}\file{\$SIGNATURE},$$
157 are presented in {\sl slanted roman}.
158
159 \item Text presenting an example, such as
160 \begin{verbatim}
161     comp -editor zz
162 \end{verbatim}
163 is presented in {\tt typewriter style}.
164 \end{enumerate}
165
166 \newpage
167 \f\section* {General Changes}
168 The author is pleased to announce that there are very few
169 user-visible
170 changes to \MH/.6.7 from the previous \MH/.6.6 distribution.
171 The majority of development was in the form of bug fixes and 
172 slight enhancements.
173 In addition, this release is slightly faster than the
174 previous release.
175 With a few minor exceptions, 
176 it is backward-compatible with the previous release.
177
178 The changes were made mainly to generalize the source code to
179 be compatible with a larger range of systems and compilers.
180 There were many small changes to add declarations for ANSI C compliance.
181 The System 5 support has been brought up to SYS5 R3, and there is
182 support for Sun OS 4.0.
183
184 \subsection*{Using Aliases}
185 A new profile entry \arg"Aliasfile:" has been added.  The
186 \pgm{ali}, \pgm{send}, and \pgm{whom} programs will look for
187 this profile entry and treat it as they would an argument to
188 \switch"alias".
189 This should make it easier for novice \MH/ users to begin
190 using aliases.
191
192 \subsection*{BBoards \& News}
193 In addition to reading local BBoards, 
194 the UCI BBoards facility\cite{MH.BB}
195 has been augmented to let it read the Network
196 News using the NNTP\cite{NetworkNews}
197 instead of reading remote BBoards with the 
198 POP\cite{MH.POP}\cite{MH.XPOP}.
199 This capability is enabled by compiling \MH/ with
200 the \arg"bboards: nntp" option.
201 Unfortunately, reading remote BBoards via the POP and the Network
202 News via the NNTP may not both be enabled.
203
204 To support the NNTP,
205 a new module, \file{uip/pshsbr.c}, is compiled and loaded into
206 \pgm{bbc} and \pgm{msh} instead of \file {uip/popsbr.c}.
207 The default BBoard is changed from \arg"system" to \arg"general"
208 for the NNTP.
209
210 When reading BBoards,
211 \pgm{bbc} will first look for local BBoards, and then contact the
212 NNTP server to read the Network News.  The location of the
213 NNTP server should be specified with the \arg"nntphost:"
214 entry in the \file{mtstailor} file
215 (see the \MH/ Administrator's Guide for details),
216 or may be specified on
217 the command line with the \switch"host" switch.
218
219 \subsection*{Format Strings}
220 The manual page documenting format strings \man{mh-format}(5) has
221 been rewritten to better explain how to write format strings,
222 and how they are interpreted by \MH/.
223 A description of the \file{replcomps}
224 default format is now included in that manual page.
225
226 Some new format functions were added, and others were augmented:
227 \begin{display}{date2local}
228 \item [trim]
229         Strips leading and trailing spaces from \verb"str".
230 \item [date2local]
231         Will coerce the date to the local timezone.
232 \item [date2gmt]
233         Will coerce the date to GMT.
234 \item [divide]
235         Divides \arg"num" by its argument.  This is useful for
236         building \pgm{scan} format strings which print large
237         message sizes in \verb"Kb" or \verb"Mb".
238 \item [friendly]
239         Modified to just return the text of the address header,
240         if the address cannot be parsed.
241 \item [szone]
242         A flag indicating whether the timezone was explict
243         in the date string.
244 \end{display}
245 %
246 \section*{New Program Features}
247 In addition to the general changes mentioned above,
248 many programs have specific new features added,
249 either by new switches or by expanded functionality.
250 Each command's manual page gives complete information about 
251 its new options.  Here is a short summary.
252 \subsection*{User Interface Programs}
253 \def\displaylabel#1{\pgm{#1}\ \hfill}
254 \begin{display}{prompter}
255 \item [anno]
256         Accepts a \switch"nodate" switch which inhibits the date annotation, 
257         leaving only the body annotation.
258 \item [folder]
259         When invoked with the \switch"pack" switch
260         and the new \switch"verbose" switch, \pgm{folder} will
261         give information about the actions taken to renumber the folder.
262
263         On most systems, \pgm{folder} can now create any non-existing
264         parent folders of a new sub-folder.
265 \item [forw]
266         When making digests, \pgm{forw}
267         will put the issue and volume numbers
268         in the digest trailer as well as the digest list name.
269 \item [inc]
270         Detects NFS write failures, and will
271         not zero your maildrop in that event.
272 \item [msh]
273         Supports a variant of the new \pgm{sortm}.
274 \item [prompter]
275         Considers a period on a line by itself to signify end-of-file
276         when the \switch"doteof" switch is specified.
277 \item [repl]
278         The \switch"[no]format" switches
279         have not been used since \mh5 and have been deleted.
280 \item [scan]
281         With the \switch"file msgbox" switch, \pgm{scan}
282         can list a \pgm{packf}\/'d-format file directly 
283         (without using \pgm{msh}).
284
285         Lists messages in reverse order with the \switch"reverse" switch.
286         This should be considered a bug.
287 \item [sortm]
288         Now has the options:
289         \switch"textfield field", \switch"notextfield",
290         \switch"limit days", and \switch"nolimit".
291
292         With these options, \pgm{sortm} can be instructed to sort a 
293         folder based on the contents of an arbitrary header such
294         as \arg"subject".
295
296         \pgm{sortm} minimizes renaming messages, and
297         will no longer arbitrarily pack folders; for this behavior,
298         use \verb"folder -pack".
299 \item [whatnow]
300         Deletes the draft by renaming it with leading comma, instead
301         of unlinking it.
302 \end{display}
303
304 \subsection*{\MH/ Support Programs}
305 The following support programs also have changes or enhancements:
306 \begin{display}{rcvtty}
307 \item [mhl]
308         Will now accept a format string on any component, not just
309         addresses and dates.
310 \item [popd]
311         Will use {\it shadow} password files if compiled with the 
312         \verb"SHADOW" option.  It can now also 
313         read UUCP-style maildrops directly.
314 \item [rcvtty]
315         If given no arguments, \pgm{rcvtty} will produce a \verb"scan"
316         listing as specified by a format string or file; a default
317         format string is used if one is not specified.
318
319         Before the listing is written to the users terminal, the 
320         terminal's bell is rung and a newline is output.
321         The \switch"nobell" and the \switch"nonewline" options
322         inhibit these functions.
323
324         On \verb"BSD43" systems, \pgm{rcvtty} will be installed
325         set-group-id to the \verb"tty" group, and will obey the
326         \pgm{mesg} permissions on your terminal.
327         Using the \switch"biff" switch will cause \pgm{rcvtty} to
328         also obey the \pgm{biff} permissions on your terminal.
329 \item [slocal]
330         Understands UUCP-style \arg"From " lines and will write
331         output files using this format if appropriate.
332         Before invoking a delivery program, \pgm{slocal} will strip
333         such lines unless compiled with the \verb"RPATHS" option,
334         in which case it will will convert such lines into
335         \arg"Return-Path:" headers.
336
337         \pgm{slocal} has a new result code \arg"N", 
338         for use in \file{.maildelivery} files.
339         With this result code,
340         \pgm{slocal} will 
341         perform the action only if the message has not been delivered
342         and the previous action succeeded.  This allows for performing
343         an action only if multiple conditions are true.
344 \end{display}
345
346 \section*{Documentation}
347 Several of the older \MH/ papers have been difficult to format
348 because they depended on an older version of
349 PhDTeX\cite{PhDTeX}\cite{AmSTeX} which was
350 not supplied.  These papers have been updated, and some TeX
351 library files are supplied in \file{papers/doclib/}, so that 
352 these papers may be generated on any system with TeX.
353
354 Many of the manual pages have been revised to include documentation
355 of new command options, and some have been expanded to give more detail.
356 All are now slightly reformatted at installation time
357 to make them more compatible with programs like \pgm{makewhatis}.
358
359 \section*{\MH/ Administration}
360 This section describes changes in configuring, compiling and
361 installing \MH/.6.7 and should not
362 be of interest to casual \MH/ users.
363 The \file{READ-ME} file has been revised to
364 better document the configuration and compilation options which
365 have been included in this release.  Some compilation options
366 have been removed, and many new options have been added.
367
368 All \MH/ \file{Makefile}\/s have been updated to work around some 
369 incompatibilities introduced in newer versions of \pgm{make}.
370 \MH/ programs will no longer be installed with the sticky-bit 
371 turned on.
372
373 Reading this section not a substitute for carefully
374 reading the \file{READ-ME} file before attempting to compile \MH/.
375
376 \subsection*{Bug Fixes}
377 Some bugs were fixed which in general were not user-visible:
378 \def\displaylabel#1{{\tt #1}\ \hfill}
379 \begin{display}{dynamic memory}
380 \item [address parser]
381         Fixed to allow use of the \arg"AT" domain, and some 
382         minor bugs were fixed pertaining to address groups.
383 \item [date parser]
384         Improved to accept more forms of illegal dates.  Military
385         timezones were removed.
386 \item [dynamic memory]
387         Many problems with the dynamic memory pool becoming corrupted
388         have been fixed.
389 \item [locking]
390         Fixed to open files for write if necessary to enable locking.
391 \item [nil pointers]
392         All reported nil pointer problems have been fixed.
393 \item [replcomps]
394         The \arg"In-Reply-To:" header had quotes added 
395         around the date field to comply with RFC822\cite{RFC822}.
396 \end{display}
397
398 \subsection*{White Pages}
399 If \MH/ is compiled with the \verb"WP" option,
400 \pgm{send} recognizes an address between \arg"<<" and \arg">>" characters
401 such as:
402 \begin{verbatim}
403         To: << rose -org psi >>
404 \end{verbatim}
405 to be a name meaningful to a whitepages service.  In order to expand the
406 name, \pgm{send} must be invoked interactively 
407 (i.e., not from \pgm{push}).  For each
408 name, \pgm{send} will invoke a command called \pgm{fred}
409 in a special mode asking to expand the name.
410
411 To get a copy of the white pages service, contact wpp-manager@@psi.com.
412 \subsection*{Configuration Options}
413 Some configuration options have been added or changed:
414 %
415 \begin{display}{mailgroup}
416 \item [cc]
417         To specify an alternate C compiler.
418 \item [ccoptions]
419         Defaults to \switch"O".
420 \item [bboards]
421         May now be defined as \arg"on", \arg"off", \arg"pop", or \arg"nntp".
422 \item [bbdelivery]
423         Determines whether the bboard delivery agent should be installed.
424 \item [lex]
425         To specify an alternate version of \pgm{lex}.
426 \item [mailgroup]
427         If defined, \pgm{inc} will be made set-group-id to this group.
428 \item [sharedlib]
429         For \verb"SUN40" systems; if \arg"on", makes \file{libmh.a}
430         into a shared library.
431 \item [slibdir]
432         The directory where the above shared library should be installed.
433 \end{display}
434
435 \subsection*{Compilation Options}
436 For different configurations,
437 several \arg"-D" options to \pgm{cc} have been added or changed:
438 %
439 \begin{display}{NOIOCTLH}
440 \item [BSD43]
441         Will make \pgm{rcvtty} set-group-id to the group \verb"tty".
442 \item [NETWORK]
443         This option has been deleted.  See \verb"SOCKETS".
444 \item [NOIOCTLH]
445         Tells \MH/ not to include the file \file{sys/ioctl.h}.  Use this
446         if this file is not present on your system.
447 \item [NTOHL]
448         On systems with TCP/IP networking,
449         \pgm{msh} will try to use the \verb"ntohl()" macro from the
450         file \file{netinet/in.h} to byte-swap the binary map files
451         it writes.
452 \item [SENDMAILBUG]
453         Some versions of \SendMail/ return a {\tt 451} (failure) reply code 
454         when they don't mean to indicate failure.  This option considers
455         that code to be equivalent to {\tt 250} (OK).
456 \item [SHADOW]
457         Causes \pgm{popd} to read the file \file{/etc/shadow} for
458         encrypted passwords instead of \file{/etc/passwd}.  Use this if you
459         are using a newer version of SYSTEM 5 with shadow password files.
460 \item [SOCKETS]
461         Enable this if you are on a non-BSD system with a
462         socket interface for TCP/IP networking compatible with 4.2BSD UNIX.
463 \item [SUN40]
464         Use on Suns running Sun OS 4.0 and later.
465 \item [SUN41]
466         Use on Suns running Sun OS 4.1 and later.
467 \item [SYS5]
468         This option has been updated to refer to SYS5 R3 and later systems.
469 \item [SYS5DIR]
470         Use this if your system uses \verb"struct dirent" instead of
471         \verb"struct direct".  This should be true for systems based
472         on SYS5 R3 and later.
473 \item [TYPESIG]
474         Defines the base type for the {\it signal} system call.  This
475         defaults to \verb"int", but should be defined as \verb"void"
476         if appropriate for your system.
477 \item [WP]
478         Enables support for the White Pages service.
479 \end{display}
480
481 \subsection*{Installation}
482 \MH/ will now
483 explicitly set the protection mode on every file it installs.
484
485 Previously any existing file \MH/ installed would be backed up into
486 the source tree, and then overwritten.
487 Now, a few system-dependent files will not be overwritten, and your
488 changes will have to be merged in by hand. 
489 See the \file{READ-ME} file for more details.
490
491 \bibliography{bcustom,sfwdoc,mail,networking}
492 \bibliographystyle{alpha}
493
494 \showsummary
495
496 \end{document}
497
498 @
499
500
501 1.10
502 log
503 @*** empty log message ***
504 @
505 text
506 @d2 1
507 @
508
509
510 1.9
511 log
512 @*** empty log message ***
513 @
514 text
515 @d9 1
516 a9 1
517 \raggedright
518 d11 2
519 a12 1
520 \def\displaylabel#1{\pgm{#1}\hfill}
521 a70 1
522 \newpage
523 a119 1
524 If you compiled \MH/ with the \arg"bboards: nntp" option, 
525 d125 2
526 a126 1
527
528 d153 1
529 a153 1
530 \begin{itemize}
531 d170 1
532 a170 1
533 \end{itemize}
534 d179 2
535 a180 1
536 \begin{description}
537 d214 1
538 a214 1
539         Now has the following new options:
540 d228 1
541 a228 1
542 \end{description}
543 d232 1
544 a232 1
545 \begin{description}
546 d270 1
547 a270 1
548 \end{description}
549 d287 3
550 a289 1
551 installing \MH/.6.7.  The \file{READ-ME} file has been revised to
552 d294 6
553 a299 1
554 This section not a substitute for carefully
555 d302 4
556 a305 11
557 \subsection*{Internal Changes}
558 Some internal changes were made which in general are not
559 user-visible:
560 \begin{description}
561 \item [m\_seq \& m\_getfld]
562         have minor speed improvements.
563 \item [locking]
564         Fixed to also open files for write if necessary to enable locking.
565 \item [replcomps]
566         Quotes were added around the date field of the \arg"In-Reply-To:"
567         header to comply with \cite{RFC822}.
568 d307 2
569 a308 2
570         Some bugs were fixed pertaining to address groups, and the
571         \arg"AT" domain.
572 d312 11
573 a322 1
574 \end{description}
575 d324 12
576 a335 5
577 %\item [uip/Makefile]
578 %       doesn't use sticky bit
579 %\item [whom]
580 %       WP changes
581 %
582 d337 1
583 d341 1
584 a341 1
585 \begin{description}
586 d359 1
587 a359 1
588 \end{description}
589 d365 1
590 a365 1
591 \begin{description}
592 d403 3
593 a405 1
594 \end{description}
595 @
596
597
598 1.8
599 log
600 @*** empty log message ***
601 @
602 text
603 @d5 1
604 a5 1
605 \documentstyle[sfwmac,res]{article}
606 d8 2
607 a9 2
608 \parskip 10pt   % for 10pt font
609 %\raggedright
610 d11 7
611 d34 5
612 a38 8
613 This document describes the user-visible change to the
614 UCI version of the Rand \MH/ system that were made from \mh5 to \MH/ \#6.5.
615 It is based on the \mh6 changes document,
616 but has been updated to accurately reflect the \MH/ distributed with
617 4.3\bsd/~\unix/.
618 This document does not describe bug-fixes, per se,
619 or internal changes,
620 unless these activities resulted in a visible change for the \MH/ user.
621 d41 2
622 a42 1
623 not supersede, the standard \MH/ User's manual\cite{MH.USR}.
624 a52 6
625 Einar A.~Stefferud, Jerry N.~Sweet,
626 and Terry P.~Domae provided numerous suggestions
627 to improve the UCI version of \MH/.
628 Of course,
629 a large number of people have helped \MH/ along.
630 The list of ``\MH/~immortals'' is too long to list here.
631 d54 3
632 d94 9
633 a102 2
634 This document describes the changes to \MH/ from
635 release \MH/.6.5 to the current release \MH/.6.7.
636 d104 5
637 a108 2
638 All known bugs are fixed.  There were many small changes to add 
639 declarations for ANSI C compliance.
640 a109 3
641 \section*{User Changes}
642 Many improvements and new options have been added to \MH/ programs.
643
644 d111 1
645 a111 1
646 A new profile entry \verb"Aliasfile:" has been added.  The
647 a114 1
648
649 d121 5
650 a125 2
651 the UCI BBoards facility has been augmented to let it read the Network
652 News using the NNTP instead of reading remote BBoards with the POP.
653 d140 3
654 a142 1
655 entry in the \file{mtstailor} file, or may be specified on
656 d146 1
657 a146 1
658 The man page documenting format strings \man{mh-format}(5) has
659 d148 3
660 a150 2
661 and how they are interpreted.  A description of the \file{replcomps}
662 default format is included.
663 d152 2
664 a153 2
665 Some new format functions were added, and others augmented:
666 \begin{description}
667 d157 1
668 a157 1
669         Coerce the date to the local timezone.
670 d159 1
671 a159 1
672         Coerce the date to GMT.
673 d161 2
674 a162 2
675         Divides \verb"num" by its argument.  This is useful for
676         building \pgm{scan} format strings which output large
677 d170 2
678 a171 9
679 \end{description}
680
681 \subsection*{Documentation}
682 man pages won't upset makewhatis
683
684 The man pages have been updated and I'll be supplying
685 some TeX stuff so that the MH papers can be generated on systems
686 without UCI's version of AmSTeX.
687
688 d176 3
689 a178 1
690 %
691 d191 2
692 a192 1
693         When making digests, will put the issue and volume numbers
694 a196 2
695 \item [mhl]
696         Accepts format strings on all components.
697 a201 16
698 \item [popd]
699         Will use {\it shadow} password files if compiled with the 
700         \verb"SHADOW" option.
701
702         Can read UUCP-style maildrops directly.
703 \item [rcvtty]
704         Has lots of new enhancements:
705         \begin{enumerate}
706         \item 
707         Now uses an mh-format string to specify the output format.
708         -->needs separate man page.
709         \item -biff,
710         \item uses mh-format
711         \item -[no]bell
712         \item obeys 4.3 tty prots
713         \end{enumerate}
714 d206 3
715 a208 2
716         Can list a \pgm{packf}\/'d-format file directly 
717         (without using \pgm{msh}) with the \switch"file msgbox" switch.
718 a211 12
719 \item [slocal]
720         Understands UUCP-style \arg"From " lines and will write
721         output files using this format if appropriate.
722         Before invoking a delivery program, \pgm{slocal} will strip
723         such lines unless compiled with the \verb"RPATHS" option,
724         in which case it will will convert such lines into
725         \verb"Return-Path:" headers.
726
727         When using the new result code \arg"N" in your 
728         \file{.maildelivery} file, \pgm{slocal} will 
729         perform the action only if the message has not been delivered
730         and the previous action succeeded.
731 d213 1
732 a213 1
733         A major rewrite.  Now has the following new options:
734 d229 2
735 a230 4
736 \subsection*{Other Internal Changes}
737 Some other internal changes were made which in general are not
738 user-visible.
739 %
740 d232 11
741 a242 14
742 \item [m\_seq \& m\_getfld]
743         have minor speed improvements.
744 \item [locking]
745         Fixed to also open files for write if necessary to enable locking.
746 \item [replcomps]
747         Quotes were added around the date field of the \verb"In-Reply-To:"
748         header to comply with RFC822.
749 \item [address parser]
750         Some bugs were fixed pertaining to address groups, and the
751         \verb"AT" domain.
752 \item [date parsing]
753         Was improved to accept more types of illegal dates.  Military
754         timezones were removed.
755 \end{description}
756 d244 4
757 a247 3
758 \begin{display}{uip/Makefile}
759 \item [mts: sendmail]
760         SENDMAILBUG option
761 d249 12
762 a260 18
763 \item [uip/Makefile]
764         doesn't use sticky bit
765         can install inc sgid-mailgroup
766         rcvtty sgid-tty
767 \item [config]
768         bbserver
769 \item [mtstailor]
770         nntphost
771 \item [DOCS]
772 \item [bbc]
773         -host host      if NNTP
774 \item [config/install changes]
775         will not overwrite mtstailor, etc.
776         shared libraries
777         cc
778         lex
779         
780 \end{display}
781 d262 8
782 a269 18
783 \subsection*{Other bug fixes, etc.}
784 \begin{description}
785 \item [whom]
786         WP changes
787 \item [spost]
788         uses sendmail: from mtstailor
789 \item [send]
790         Aliasfile: profile entry
791 \item [rcvdist]
792         malloc bug fixed
793 \item [rcvstore]
794         bugs fixed - tmpfile always removed
795 \item [post]
796         -fill-in file for WP changes
797         hidden Dcc: header
798 \item [msh]
799         NNTP interface stuff
800         sortm changes
801 d271 7
802 a277 2
803 \item [dropsbr]
804         SOCKETS/NTOHL changes
805 d279 4
806 a282 1
807 \end{description}
808 d284 1
809 a284 1
810 \section*{Confuration and Installation}
811 d294 18
812 a311 1
813 makefiles deal with changed "make" semantics
814 d313 6
815 d332 1
816 a332 1
817         You may now specify an alternate version of \pgm{lex}.
818 d371 1
819 a371 1
820         Use on Sun Microsystems systems running Sun OS 4.0 and later.
821 d373 1
822 a373 1
823         Use on Sun Microsystems systems running Sun OS 4.1 and later.
824 d387 1
825 a387 1
826 For those sites with restrictive \verb"umask"s, \MH/ will now
827 d390 5
828 a394 4
829 For sites who are already running \MH/, previously all
830 files would be overwritten when installing \MH/.  Now a few files
831 (documented in \file{READ-ME}) will not be overwritten, and your
832 changes will have to be merged in by hand.
833 d396 1
834 a396 1
835 \bibliography{bcustom,sfwdoc}
836 @
837
838
839 1.7
840 log
841 @*** empty log message ***
842 @
843 text
844 @d5 1
845 a5 1
846 \documentstyle[11pt,sfwmac,res]{article}
847 d8 2
848 a9 2
849 \parskip 11pt   % for 11pt font
850 \raggedright
851 d14 1
852 a14 1
853  UCI version MH.6.7}
854 d16 4
855 a19 4
856  Computing Suport Group\\
857  Department of Information and Computer Science\\
858  University of California, Irvine\\
859  Irvine, CA  92717}
860 d68 1
861 d91 3
862 d95 70
863 d169 1
864 a169 1
865
866 d189 2
867 d194 5
868 d200 1
869 a200 1
870         Has lot of new enhancements:
871 d211 1
872 a211 1
873         The \switch"format" and \switch"noformat" switches
874 d214 1
875 a214 1
876         Can list a \pgm{packf}'d-format file directly 
877 d248 19
878 a266 1
879 Some other stuff
880 a268 14
881 \item [mh-format]
882         In addition to a much improved manual page, some new
883         functions were added:
884         \begin{enumerate}
885         \item put{num,str}f can do ljust
886         \item "trim"
887         \item "divide"
888         \item "zonef"   szone
889         \item "friendly" more friendly
890         \item "localdate" date2local
891         \item "gmtdate" date2gmt
892         \end{enumerate}
893 \item [m\_seq]
894         speedup
895 d271 1
896 a271 19
897 \item [addrsbr]
898         WP changes
899         discard newlines in addresses
900 \item [m\_getfld]
901         slight speedup
902 \item [lock]
903         always lock for write
904 \item [replcomps]
905         fixed typo
906         added quotes around date in-reply-to
907 \item [popd]
908         SHADOW passwd files
909         reads old UUCP mbox format
910 \item [mf]
911         fixed some addr parsing bugs
912         "at" domain, dotted-addresses in groups
913 \item [tws]
914         improved error-rejection
915         no mil-timezones
916 a287 2
917         man pages won't upset makewhatis
918         makefiles deal with changed "make" semantics
919 a288 19
920 \item [config]
921         mailgroup
922         bboards: nntp/pop/on/off
923         bbdelivery: on/off
924         NOIOCTLH
925         NTOHL
926         SENDMAILBUG
927         SHADOW
928         SOCKETS
929         SUN40
930         SUN41
931         SYS5 changes for R3
932         SYS5DIR
933         TYPESIG
934         lex:
935         sharedlib: on/off
936         slibdir:
937 \item [papers/]
938         updated to be formatable
939 a298 2
940 \item [pshsbr]
941         new module for NNTP
942 a308 6
943 \item [bbc]
944         can use NNTP instead of BB/POP
945         some UCL ifdefs for speedups?
946         signal type under TYPESIG
947         able to understand reseting bb-id? - needs testing
948         reads "general" instead of "system" if NNTP
949 a313 2
950         
951 \f\section* {General Changes}
952 d315 6
953 a320 2
954 This document describes the changes to \MH/ from
955 release \MH/.6.5 to the current release \MH/.6.7.
956 d322 2
957 a323 2
958 Fixes for null pointers, and freeing incremented malloc'd pointers are
959 plentiful.
960 d325 1
961 a325 2
962 There were many small changes to add declarations for ANSI C
963 compliance.
964 d327 3
965 a329 2
966 \subsection*{Configuration}
967
968 d331 10
969 d342 6
970 a347 11
971
972 \item [bboards: nntp/pop/on/off]
973
974 \item [bbdelivery: on/off]
975
976 \item [lex:]
977
978 \item [sharedlib: on/off]
979
980 \item [slibdir:]
981
982 d350 4
983 a353 2
984 \subsubsection*{Compiler Options}
985
986 d355 4
987 d360 2
988 a361 2
989 Tells \MH/ not to include the file \file"sys/ioctl.h".  Use this
990 if this file is not present on your system.
991 d363 4
992 a366 1
993 \pgm{msh} will 
994 d368 3
995 a370 1
996
997 d372 3
998 a374 1
999
1000 d376 2
1001 a377 1
1002
1003 d379 1
1004 a379 1
1005
1006 d381 3
1007 a383 3
1008
1009 \item [SYS5 changes for R3]
1010
1011 d385 3
1012 a387 1
1013
1014 d389 3
1015 a391 1
1016
1017 d394 3
1018 a396 3
1019 \#ifdefs for SYS5 (release 3) and hpux.  You can now define
1020 TYPESIG to be "void" to stop compiler warnings regarding signal types
1021 (automatically defined that way on SUN40).
1022 d398 4
1023 a401 2
1024 4. The bboard program "bbl" and associated man pages are installed if
1025 you enable "bboards", whether or not you enable "bbdelivery".
1026 a402 42
1027
1028 For SYS5, you can set "mailgroup" in the MH config file to have inc be
1029 set-gid to that group.  You can also defined SOCKET for those non-BSD
1030 systems with sockets.
1031
1032 NTOHL
1033 The bug is minor, msh can't read map files -- which would cause
1034 a performance penalty, as well as giving irritating diagnostic
1035 messages.  You can add "options NONTOHL" if you don't want the
1036 ntohl() macro to be used (for binary file transportability).
1037
1038 \subsection*{New Features}
1039
1040 7. whatnowsbr reads the "Aliasfile:" profile entry for its built-in send.
1041
1042 5. In mh-format, %(friendly{addr}) will return the text of the header
1043 if it can't parse the addresses.
1044
1045 6. Changes to uip/mshcmds.c to support a variant of the new sortm.
1046
1047 ---> need to add these to msh?
1048 Other minor things are "anno -[no]date", "scan -[no]reverse", "prompter
1049 -doteof" and "forw -[no]dashmunging".  These are either now visible or
1050 new options.  
1051
1052 changes to rcvtty to work with biff,
1053
1054 some major changes to sortm to make it sort by subject as well as date.  
1055
1056 1. A new sortm, which has "-textfield field" and "-limit days".  This
1057 lets you sort by date first, then by an arbitrary text field (like
1058 subject).  It can also sort by text field first and date second.  It's
1059 kinda complicated; see "man sortm" for the details.
1060
1061 \subsection*{Documentation}
1062
1063 The man pages have been updated and I'll be supplying
1064 some TeX stuff so that the MH papers can be generated on systems
1065 without UCI's version of AmSTeX.
1066
1067 mh-format man page improved
1068
1069 d409 1
1070 @
1071
1072
1073 1.6
1074 log
1075 @*** empty log message ***
1076 @
1077 text
1078 @a53 4
1079 However, Van Jacobson deserves a special acknowledgement for his tireless
1080 work in improving the performance of \MH/.
1081 Some programs have been speeded-up by a factor of 10 or 20.
1082 All of users of \MH/, everywhere, owe a special thanks to Van.
1083 a67 1
1084 \newpage
1085 d91 1
1086 a91 1
1087 \subsection*{Program Changes}
1088 d96 1
1089 a96 1
1090 \begin{display}{prompter}
1091 d101 3
1092 a103 4
1093         When invoked with the \switch"pack" switch, will
1094         give information about
1095         the actions taken to renumber the folder with the
1096         \switch"verbose" switch.
1097 d105 1
1098 a105 1
1099         On most systems, \pgm{folder} will create any non-existing
1100 d139 1
1101 a139 1
1102         Understands UUCP-style \arg"From\ " lines and will write
1103 d141 4
1104 a144 3
1105         It can also convert such lines into \verb"Return-Path:" headers
1106         before invoking a delivery program if compiled with the
1107         \verb"RPATHS" option.
1108 d152 3
1109 a154 4
1110         \begin{enumerate}
1111         \item   \switch"textfield field" and \switch"notextfield"
1112         \item   \switch"limit days" and \switch"nolimit"
1113         \end{enumerate}
1114 d159 3
1115 a161 2
1116         Does not automatically pack folders; for this behavior,
1117         use the \switch"pack" switch to \pgm{folder}.
1118 d163 7
1119 a169 1
1120         Deletes the draft by renaming it with leading comma.
1121 a181 5
1122 \end{display}
1123
1124 Some other stuff
1125
1126 \begin{display}{uip/Makefile}
1127 @
1128
1129
1130 1.5
1131 log
1132 @*** empty log message ***
1133 @
1134 text
1135 @d105 5
1136 d111 2
1137 a112 3
1138 \item [folder]
1139         New switch \switch"verbose" which gives information about
1140         the actions taken by \switch"pack" to renumber the folder.
1141 d114 1
1142 a114 1
1143         When making digests, forw will put the issue and volume numbers
1144 d117 1
1145 a117 1
1146         Should now be able to detect NFS write failures, and will
1147 d120 1
1148 a120 1
1149         Will now accept format strings on all components.
1150 d122 2
1151 a123 2
1152         Will consider a period on a line by itself to signify end-of-file
1153         if the \switch"doteof" switch is specified.
1154 d139 5
1155 a143 6
1156         The new \switch"file filename" is useful for getting a listing of
1157         a \pgm{packf}-format file without using \pgm{msh}.\\
1158         Has a \switch"reverse" switch to list messages in reverse
1159         order.  This should be considered a bug.
1160 \item [send]
1161         Aliasfile: profile entry
1162 d145 10
1163 a154 2
1164         fix for RPATHS, can write mbox format on output
1165         new "n" action
1166 d156 11
1167 a166 4
1168         new version with -textfield, -limit, etc.
1169         doesn't compress folders
1170 \item [spost]
1171         uses sendmail: from mtstailor
1172 d168 1
1173 a168 5
1174         deletes draft by renaming with leading comma
1175         Aliasfile profile entry
1176         WP changes
1177 \item [whom]
1178         WP changes
1179 d170 16
1180 a185 10
1181         some new functions
1182         better documentation
1183         put{num,str}f can do ljust
1184         "trim"
1185         "divide"
1186         "zonef" szone
1187         "friendly" more friendly
1188         "localdate" date2local
1189         "gmtdate" date2gmt
1190         fix for addr parser calls
1191 a187 2
1192 \item [makedir]
1193         can do recursive mkdir's on most systems
1194 d251 6
1195 @
1196
1197
1198 1.4
1199 log
1200 @*** empty log message ***
1201 @
1202 text
1203 @d97 3
1204 a99 2
1205 Many programs have new features added, either with new switches
1206 or by expanded functionality.
1207 d101 1
1208 a101 1
1209 \begin{display}{uip/Makefile}
1210 d126 4
1211 a129 4
1212         \item
1213         -biff, uses mh-format -[no]bell
1214         \item
1215         obeys 4.3 tty prots
1216 d135 4
1217 a138 3
1218         The -reverse causes scan to 
1219         -[no]reverse standard
1220         -file for scanning msgbox files -- needs doc?
1221 @
1222
1223
1224 1.3
1225 log
1226 @*** empty log message ***
1227 @
1228 text
1229 @d5 1
1230 a5 1
1231 \documentstyle[11pt,sfwmac]{article}
1232 d8 1
1233 a8 1
1234 \parskip 13pt   % for 11pt font
1235 d97 4
1236 a100 2
1237 \begin{description}
1238 \settowidth{\labelwidth}{{\bf folder\-pack   }}
1239 d102 2
1240 a103 2
1241         Accepts a -nodate switch which inhibits the date annotation, 
1242         leaving only the body annotation.  The default is -date.
1243 a104 10
1244 \item [bbc]
1245         can use NNTP instead of BB/POP
1246         some UCL ifdefs for speedups?
1247         signal type under TYPESIG
1248         able to understand reseting bb-id? - needs testing
1249         reads "general" instead of "system" if NNTP
1250
1251 \item [dropsbr]
1252         SOCKETS/NTOHL changes
1253
1254 d106 2
1255 a107 2
1256         New switch -verbose which gives information about
1257         the actions taken by -pack to renumber the folder.
1258 d109 2
1259 a110 3
1260         When using -digest, forw will put the issue and volume numbers
1261         in the digest trailer.
1262
1263 a113 1
1264
1265 d115 1
1266 a115 8
1267         Will now accept format strings on all components.  Also,
1268         some bugs with 'body:component=">"' have been fixed.
1269 \item [msh]
1270         NNTP interface stuff
1271         sortm changes
1272 \item [post]
1273         -fill-in file for WP changes
1274         hidden Dcc: header
1275 d118 1
1276 a118 7
1277         if the -doteof switch is specified.  -nodoteof is the default.
1278 \item [pshsbr]
1279         new module for NNTP
1280 \item [rcvdist]
1281         malloc bug fixed
1282 \item [rcvstore]
1283         bugs fixed - tmpfile always removed
1284 d120 3
1285 d125 1
1286 d127 1
1287 d129 1
1288 d131 2
1289 a132 2
1290         The -[no]format switches have not been used since mh.5 and
1291         have been deleted.
1292 d227 26
1293 @
1294
1295
1296 1.2
1297 log
1298 @checkpoint
1299 @
1300 text
1301 @d7 4
1302 d97 3
1303 a99 2
1304 \begin{itemize}
1305 \item anno\\
1306 d103 1
1307 a103 1
1308 \item bbc\\
1309 d110 1
1310 a110 1
1311 \item dropsbr\\
1312 d113 1
1313 a113 1
1314 \item folder\\
1315 d116 1
1316 a116 1
1317 \item forw\\
1318 d120 1
1319 a120 1
1320 \item inc\\
1321 d124 1
1322 a124 1
1323 \item mhl\\
1324 d127 1
1325 a127 1
1326 \item msh\\
1327 d130 1
1328 a130 1
1329 \item post\\
1330 d133 1
1331 a133 1
1332 \item prompter\\
1333 d136 1
1334 a136 1
1335 \item pshsbr\\
1336 d138 1
1337 a138 1
1338 \item rcvdist\\
1339 d140 1
1340 a140 1
1341 \item rcvstore\\
1342 d142 1
1343 a142 1
1344 \item rcvtty\\
1345 d147 1
1346 a147 1
1347 \item repl\\
1348 d150 1
1349 a150 1
1350 \item scan\\
1351 d154 1
1352 a154 1
1353 \item send\\
1354 d156 1
1355 a156 1
1356 \item slocal\\
1357 d159 1
1358 a159 1
1359 \item sortm\\
1360 d162 1
1361 a162 1
1362 \item spost\\
1363 d164 1
1364 a164 1
1365 \item whatnow\\
1366 d168 1
1367 a168 1
1368 \item whom\\
1369 d170 1
1370 a170 1
1371 \item mh-format\\
1372 d181 1
1373 a181 1
1374 \item m_seq\\
1375 d183 1
1376 a183 1
1377 \item makedir\\
1378 d185 1
1379 a185 1
1380 \item mts: sendmail\\
1381 d187 1
1382 a187 1
1383 \item addrsbr\\
1384 d190 1
1385 a190 1
1386 \item m_getfld\\
1387 d192 1
1388 a192 1
1389 \item lock\\
1390 d194 1
1391 a194 1
1392 \item replcomps\\
1393 d197 1
1394 a197 1
1395 \item popd\\
1396 d200 1
1397 a200 1
1398 \item mf\\
1399 d203 1
1400 a203 1
1401 \item tws\\
1402 d206 1
1403 a206 1
1404 \item uip/Makefile\\
1405 d210 1
1406 a210 1
1407 \item config\\
1408 d212 1
1409 a212 1
1410 \item mtstailor\\
1411 d214 2
1412 a215 2
1413 \item DOCS\\
1414 \item bbc\\
1415 d217 1
1416 a217 1
1417 \item config/install changes\\
1418 d225 1
1419 a225 1
1420 \item config\\
1421 d242 1
1422 a242 1
1423 \item papers/\\
1424 d244 1
1425 a244 1
1426 \end{itemize}
1427 d259 2
1428 a260 2
1429 \begin{itemize}
1430 \item mailgroup\\
1431 d262 1
1432 a262 1
1433 \item bboards: nntp/pop/on/off\\
1434 d264 1
1435 a264 1
1436 \item bbdelivery: on/off\\
1437 d266 1
1438 a266 1
1439 \item lex:\\
1440 d268 1
1441 a268 1
1442 \item sharedlib: on/off\\
1443 d270 1
1444 a270 1
1445 \item slibdir:\\
1446 d272 1
1447 a272 1
1448 \end{itemize}
1449 d276 2
1450 a277 2
1451 \begin{itemize}
1452 \item NOIOCTLH\\
1453 d280 1
1454 a280 1
1455 \item NTOHL\\
1456 d282 1
1457 a282 1
1458 \item SENDMAILBUG\\
1459 d284 1
1460 a284 1
1461 \item SHADOW\\
1462 d286 1
1463 a286 1
1464 \item SOCKETS\\
1465 d288 1
1466 a288 1
1467 \item SUN40\\
1468 d290 1
1469 a290 1
1470 \item SUN41\\
1471 d292 1
1472 a292 1
1473 \item SYS5 changes for R3\\
1474 d294 1
1475 a294 1
1476 \item SYS5DIR\\
1477 d296 1
1478 a296 1
1479 \item TYPESIG\\
1480 d298 1
1481 a298 1
1482 \end{itemize}
1483 @
1484
1485
1486 1.1
1487 log
1488 @Initial revision
1489 @
1490 text
1491 @a90 12
1492 \begin{verbatim}
1493 --
1494 ali
1495  accept Aliasfile profile entry
1496 anno
1497  -[no]date
1498 bbc
1499  can use NNTP instead of BB/POP
1500  some UCL ifdefs for speedups?
1501  signal type under TYPESIG
1502  able to understand reseting bb-id? - needs testing
1503  reads "general" instead of "system" if NNTP
1504 d92 5
1505 a96 2
1506 dropsbr
1507  SOCKETS/NTOHL changes
1508 d98 6
1509 a103 113
1510 folder
1511  -verbose used by -pack
1512 forw
1513  will put issue/volume numbers in digest trailers
1514 inc
1515  should be able to detect NFS write failures
1516 mhl
1517  added -volume, -issue hidden switches interface from forw.
1518  will allow format strings on all components
1519  does BODYCOMP stuff right
1520 msh
1521  NNTP interface stuff
1522  sortm changes
1523 post
1524  -fill-in file for WP changes
1525  hidden Dcc: header
1526 prompter
1527  -[no]doteof
1528  minor fix for -nobody
1529 pshsbr
1530  new module for NNTP
1531 rcvdist
1532  malloc bug fixed
1533 rcvstore
1534  bugs fixed - tmpfile always removed
1535 rcvtty
1536  -biff, uses mh-format -[no]bell
1537  obeys 4.3 tty prots
1538 repl
1539  -[no]format went away
1540  malloc bug fixed
1541 scan
1542  -[no]reverse standard
1543  -file for scanning msgbox files -- needs doc?
1544 send
1545  Aliasfile: profile entry
1546 slocal
1547  fix for RPATHS, can write mbox format on output
1548  new "n" action
1549 sortm
1550  new version with -textfield, -limit, etc.
1551  doesn't compress folders
1552 spost
1553  uses sendmail: from mtstailor
1554 whatnow
1555  deletes draft by renaming with leading comma
1556  Aliasfile profile entry
1557  WP changes
1558 whom
1559  WP changes
1560 mh-format
1561  some new functions
1562  better documentation
1563  put{num,str}f can do ljust
1564  "trim"
1565  "divide"
1566  "zonef" szone
1567  "friendly" more friendly
1568  "localdate" date2local
1569  "gmtdate" date2gmt
1570  fix for addr parser calls
1571 mseq
1572  speedup
1573 makedir
1574  can do recursive mkdir's on most systems
1575 mts: sendmail
1576  SENDMAILBUG option
1577 addrsbr
1578  WP changes
1579  discard newlines in addresses
1580 mgetfld
1581  slight speedup
1582 lock
1583  always lock for write
1584 replcomps
1585  fixed typo
1586  added quotes around date in-reply-to
1587 popd
1588  SHADOW passwd files
1589  reads old UUCP mbox format
1590 mf
1591  fixed some addr parsing bugs
1592  "at" domain, dotted-addresses in groups
1593 tws
1594  improved error-rejection
1595  no mil-timezones
1596 uip/Makefile
1597  doesn't use sticky bit
1598  can install inc sgid-mailgroup
1599  rcvtty sgid-tty
1600 config
1601  bbserver
1602 mtstailor
1603  nntphost
1604 DOCS
1605 bbc
1606  -host host if NNTP
1607 config/install changes
1608  will not overwrite mtstailor, etc.
1609  shared libraries
1610  cc
1611  lex
1612  man pages won't upset makewhatis
1613  makefiles deal with changed "make" semantics
1614  
1615 papers/
1616  updated to be formatable
1617  
1618 Let me see if I can hit the highlights in these changes.  There were
1619 the SUN40 changes to use shared libraries and the NNTP changes to bbc
1620 which you've already seen.  I have fixed up some problems with those
1621 patches.
1622 \end{verbatim}
1623 d105 136
1624 @