]> git.deb.at Git - pkg/t-prot.git/blob - t-prot.1
Merge branch 'upstream'
[pkg/t-prot.git] / t-prot.1
1 .\" $Id: t-prot.1,v 1.143 2010/01/05 11:46:38 jochen Exp $
2 .\"
3 .TH T-PROT "1" "January 2010" "T-PROT"
4 .SH NAME
5 t-prot \- TOFU Protection - Display Filter for RFC 2822 messages
6 .SH SYNOPSIS
7 .BI "t\-prot [" OPTIONS "]..."
8 .SH DESCRIPTION
9 .PP
10 This program is a filter to improve the readability of
11 messages (emails and usenet posts) by *hiding* some annoying parts,
12 e.g. mailing list footers, signatures, and TOFU (see definition below),
13 as well as squeezing sequences of blank lines or punctuation.
14 .br
15 The filter is written in Perl and relies on input to be a single
16 message conforming to RFC 822 or its successor, RFC 2822. Messages
17 conforming to RFCs 2045-2049 should be treated reasonably correct.
18 .PP
19 Already reformatted messages are handled well: the script was
20 initially designed to cope with the output of the MUA mutt (which
21 is the reason for not using standard CPAN modules for handling
22 messages).
23 .PP
24 For easy usage, you can include the file muttrc.t\-prot in your
25 ~/.muttrc. Also coming with the t-prot package is the example S-Lang
26 macro t\-prot.sl for using t-prot from within slrn.
27 .SH OPTIONS
28 .TP
29 .BR "\-A" =DIRECTORY
30 "ad footer directory":
31 Defines the directory which contains the advertisement list footers (one
32 footer per file) which are to be tested when removing them with options
33 .B \-a
34 or
35 .BR \-\-ftr\-ad .
36 .br
37 This option is also needed if you do not want signature lengths to be
38 counted wrong or fullquotes get undetected when an ad footer is
39 appended at the bottom of the message (especially when using 
40 .B "\-S"
41 or
42 .BR "\-t" ).
43 .TP
44 .B "\-a"
45 "commercial signature":
46 Hides "footers" (signatures) from commercial email providers.
47 .br
48 This option compares the last lines of the message body with any
49 footer file found in the directory specified with
50 .BR "\-A" =DIRECTORY
51 (which is mandatory for this option). The comparison is done by perl's
52 .B index()
53 function (please try
54 .I perldoc \-f index
55 for details).
56 .sp
57 .IR NOTE :
58 This option is not needed if
59 .B \-\-ftr\-ad
60 is specified.
61 .TP
62 .BR "\-\-bigq" [=n[,x]]
63 "shrink big quotes":
64 Blocks of quotes with more than n lines will be shrunk to x lines.
65 Defaults are 30 for n and 10 for x.
66 .TP
67 .B "\-\-body"
68 Input consists just of the message's body. There are no RFC 2822 header
69 lines.
70 .IP
71 .IR NOTE :
72 This does not work with \-\-pgp\-short, and multipart messages will not
73 be detected due to missing headers.
74 .TP
75 .B "\-c"
76 "compress":
77 Squeezes a sequence of blank lines to two blank lines at maximum.
78 .TP
79 .BR "\-\-check" [=FLAGS]
80 Run checks. If successful, print an error message and quit with
81 an appropriate exit code. Useful e.g. for rejecting messages from
82 within INN2.
83 .IP
84 Flags are separated by commas (no whitespaces), and can be the
85 following (right now just one flag):
86 .IP
87 .IR ratio [=n]
88 .br
89 If the quoting ratio is n or more, the message is rejected. Must be
90 between 0 and 1, or else it is entirely disabled. Default is 0.75
91 (i.e., three quarters are quoted).
92 .TP
93 .B "\-d, \-\-debug"
94 "debug":
95 Print envelope info to syslog when bouncing TOFU contaminated email.
96 Default syslog facility is mail.debug. Requires
97 .BR \-p .
98 .TP
99 .B "\-\-diff"
100 "tolerate diff":
101 Tolerate unified diff (see 
102 .BR diff (1)
103 and
104 .BR patch (1))
105 appended *after* the signature (which usually makes the signature too long
106 to be valid). Not entirely consequent but sometimes useful, e.g. at the
107 Linux kernel mailing list.
108 .TP
109 .B "\-e"
110 "ellipsis":
111 Squeezes a sequence of four or more dots, exclamation marks, or question marks
112 to only three dots or marks, respectively.
113 .TP
114 .B "\-\-ftr\-ad"
115 "enable aggressive ad footer matching":
116 With this option enabled, t-prot makes footer detection really greedy: We
117 assume that commercial email providers aren't even frightened to append
118 changing texts *under* their ads which are appended to the message body.
119 Because these texts even have changing lengths we simply detect the
120 lines of the footer *anywhere* in the body of the message and assume that
121 everything below belongs to the footer. (Man, if life where always that
122 easy! ;)
123 .br
124 With this option even GMX ads should be easy to hide -- you buy this with
125 a slight performance hit (which is the reason this option is disabled by
126 default), and with the possibility that sometimes the algorithm is just a
127 little *too* greedy.
128 .sp
129 .IR NOTE :
130 This requires a directory with footer files to be given with option
131 .BR "\-A" =DIRECTORY.
132 .TP
133 .B "\-\-ftr\-ml"
134 "enable aggressive mailing list footer matching":
135 With this option enabled t-prot makes footer detection really greedy: Should
136 be helpful with broken list servers, or even if your email provider munges
137 the bodies of your messages.
138 .br
139 Works similar to \-\-ftr\-ad, just that it is intended for mailing list footers.
140 .sp
141 .IR NOTE :
142 This requires a directory with footer files to be given with option
143 .BR "\-L" =DIRECTORY.
144 .TP
145 .B "\-\-groupwise"
146 "delete Groupwise style TOFU":
147 Hides TOFU as produced by Novell Groupwise.
148 .TP
149 .B "\-h, \-\-help"
150 "help":
151 Displays a short help text with a summary on all options, and exits.
152 .TP
153 .BR "\-i" =FILE
154 "input file":
155 Defines a file for input; the default input is from '\-' i.e. STDIN.
156 .TP
157 .B "\-k"
158 "anti Kammquote":
159 Tries (not too aggressively) to fix those broken zig-zag-shaped lines
160 wrapped around by some MUAs which are known as "Kammquoting" in German.
161 .IP
162 .IR NOTE :
163 This option is considered stable by now. However, sometimes Kammquotes
164 should have been removed but weren't. Please send a bug report if this
165 happens to you (after carefully reading the BUGS and REPORTING BUGS
166 section of this man page, that is).
167 .IP
168 Please also note that enabling this option is quite a performance hit.
169 .TP
170 .BR "\-\-kminl" =n
171 Minimum line length for wrapped line detection on Kammquotes. For
172 details, please see the source code.
173 .br
174 Anyway, lower values make the algorithm more aggressive, higher values
175 make Kammquotes harder to detect. Default is 65.
176 .sp
177 Requires
178 .BR "\-k" .
179 .TP
180 .BR "\-\-kmaxl" =n
181 Maximum line length for wrapped line detection on Kammquotes. For
182 details, please see the source code.
183 .br
184 Anyway, higher values make the algorithm more aggressive, lower values
185 make Kammquotes harder to detect. Default is 80.
186 .sp
187 Requires
188 .BR "\-k" .
189 .TP
190 .BR "\-\-kdiff" =n
191 Minimum length difference between two lines for wrapped line detection on
192 Kammquotes. For details, please see the source code.
193 .br
194 Anyway, lower values make the algorithm more aggressive, higher values
195 make Kammquotes harder to detect. Default is 20.
196 .sp
197 Requires
198 .BR "\-k" .
199 .TP
200 .BR "\-L" =DIRECTORY
201 "list footer directory":
202 Defines the directory which contains the mailing list footers (one footer
203 per file) which are to be tested when removing them with the options
204 .B \-l
205 or
206 .BR \-\-ftr\-ml .
207 .br
208 This option is also needed if you do not want signature lengths to be
209 counted wrong or fullquotes get undetected when a mailing list footer is
210 appended at the bottom of the message (especially when using 
211 .B "\-S"
212 or
213 .BR "\-t" ).
214 .TP
215 .B "\-l"
216 "list signature":
217 Hides "footers" (signatures) from mailing lists. Footer detection works like the 
218 .B "\-a"
219 option.
220 .sp
221 .IR NOTE :
222 This requires a directory with footer files to be given with option
223 .BR "\-L" =DIRECTORY.
224 .B \-l
225 is not needed if
226 .B \-\-ftr\-ml
227 is specified.
228 .TP
229 .B "\-\-lax\-security"
230 Allow insecure writing method. DO NOT USE UNLESS YOU REALLY KNOW WHAT
231 YOU ARE DOING. (This ugly workaround is needed for some early mutt versions
232 and should NEVER be used as a default, otherwise it will probably turn into
233 a security issue.)
234 .TP
235 .BR "\-\-locale" =LOCALE
236 "locale to use":
237 Here you can specify which locale to use. Right now this option is only
238 used when
239 .I "\-Mmutt"
240 is specified, but this may change in future. You need the Perl module
241 .I "Locale::gettext"
242 for this feature.
243 .sp
244 .IR NOTE :
245 If you use
246 .B mutt
247 or
248 .B gnupg
249 with locales, t-prot will only work correctly if you specify the corresponding
250 locale string. Alternatively, you can use the environment variables
251 .IR LC_ALL ,
252 .IR LC_MESSAGES ,
253 or
254 .I LANG
255 to specify the locale string.
256 .sp
257 .IR "NOTE also" :
258 You also have to make sure you are running t-prot
259 with matching
260 .B gnupg
261 and 
262 .B mutt
263 versions. T-prot detects
264 .B gnupg
265 and
266 .B mutt
267 locales of the recent stable versions of those programs, earlier versions
268 might not work well with a recent version of t-prot. There are patches available
269 to make t-prot fit into environments with some other
270 .B mutt
271 and
272 .B gnupg
273 versions.
274 .TP
275 .BR "\-M, \-\-mua" =MUA
276 "mail user agent":
277 Turn on special treatment for some mail user agents. (Right now only 
278 .BR mutt (1)
279 is supported, but more might be added in future.)
280 .IR Caveat :
281 If your MUA is supported by this feature you must ensure t-prot makes
282 use of it when called from within your MUA to work as desired.
283 .TP
284 .B "\-m"
285 "Microsoft TOFU":
286 Hides TOFU as given by some Microsoft mailers. (You all surely know these
287 fullquotes beginning with
288 .br
289 "\-\-\-\-\- Original Message \-\-\-\-\-"
290 .br
291 and some header lines...)
292 .TP
293 .B "\-\-ms\-smart"
294 Burn CPU cycles trying to be smart with MS style TOFU.
295 .sp
296 Please note that this is probably just a waste of time because most
297 MS Outlook users who do produce this kind of TOFU won't care about
298 making their messages the least bit readable or even predictable. So
299 this option will probably just be interesting for mutt message hooks
300 (to activate it on demand when you
301 .BR know " the sender tries to write legible messages)."
302 .sp
303 Requires
304 .BR "\-Mmutt" " and"
305 .BR "\-m" .
306 .TP
307 .BR "\-\-max\-lines" =x
308 Maximum number of lines a message may count (with headers). If the message
309 is longer than x lines, the message will not be processed but printed
310 unmodified. Exit status will be EX_DATAERR.
311 .TP
312 .BR "\-o" =FILE
313 "output file":
314 Define the file to be written *to*; the default output is to STDOUT.
315 .sp
316 If "NONE" is specified as file name, there will be no output at all (useful
317 if all you need is t-prot's exit code). Use something like "./NONE" if you
318 really want to write to a file of this name.
319 .TP
320 .BR "\-p" [=ADDRESS]
321 "picky delivery":
322 If we really find some TOFU, abort with exit code 
323 .IR EX_UNAVAILABLE .
324 Otherwise redirect the message to ADDRESS if given.
325 .sp
326 Intended for use from within mail delivery agents (MDAs) or mail transport 
327 agents (MTAs), or even from with INN, so the message bounces if TOFU is
328 detected, and does not get on *your* nerves. :) 
329 .sp
330 As an example for usage with
331 .BR sendmail ,
332 put this line into your alias file and invoke
333 .BR newaliases :
334 .sp
335 notofu: |"/usr/local/bin/t\-prot \-mt \-p=user@mydomain"
336 .sp
337 This will bounce messages for <notofu@domainname> if any TOFU is detected
338 inside the message, and deliver it to <user@mydomain> otherwise.
339 .I Note
340 that TOFU is only detected if you specify
341 .B "\-t"
342 respectively
343 .BR "\-m" .
344 .sp
345 .B PLEASE be careful not to bounce messages to mailing lists!
346 .TP
347 .BR "\-P" =MESSAGE
348 "user defined bounce message for picky delivery": 
349 You may specify your own bounce message to be returned when we try to deliver
350 an email and bounce it because there is TOFU inside.
351 .TP
352 .B \-\-pgp\-move
353 Move PGP verification output to bottom; requires
354 .BR "\-Mmutt" .
355 .TP
356 .B \-\-pgp\-move\-vrf
357 Move PGP verification outout to bottom only if verification shows a good signature
358 and the signature could be verified as authentic (using a trust path). If there is
359 any problem with the signature, the PGP output should not be moved so the user is
360 more likely to notice. Requires
361 .BR "\-Mmutt" .
362 .sp
363 .IR NOTE :
364 If gpg is terminated before finished (e.g. hitting Ctrl-C, or using
365 .IR kill (1)),
366 we cannot always detect if the check was interrupted. Though t-prot tries
367 to be smart, there will be false positives.
368 .TP
369 .B \-\-pgp\-short
370 Hide non-relevant PGP key uids; requires
371 .BR "\-Mmutt" .
372 .TP
373 .B "\-r"
374 "rip header off":
375 Hides all mail header lines.
376 .TP
377 .BR "\-S" [=n]
378 "supression of overlong signatures":
379 Signatures are to be n lines (not including the one containing dash-dash-space)
380 or less. If there are more, it is probably not that spirited after all.
381 So with this option you trade it for a
382 .B truely
383 nice line.
384 .br
385 If no n is given, default is 4. (We do not recommend using a value other
386 than 4. Consider this old-fashioned, but we actually do *like* RFC
387 conformance.)
388 .sp
389 .IR NOTE :
390 The line containing "\-\- " ist not counted when testing for an overlong
391 signature, but it is included when displaying how many lines were deleted.
392 .TP
393 .B "\-s"
394 "signature deletion":
395 Hides signatures, i.e. all lines after a "signature dashes" line,
396 i.e. a line with three characters: dash-dash-space (no more, no less).
397 .TP
398 .BR "\-\-sigsmax" [=n]
399 "maximum number of tolerated signatures":
400 Here you can define how many signatures you accept to be treated as such.
401 (Most significant behaviour is when microsoft style quotes are removed.
402 Experts please see the code for the more subtle implications of this
403 option.)
404 .br
405 Leave empty or specify zero to have an unlimited number of sigs. 
406 Default is 1.
407 .TP
408 .B "\-\-spass"
409 "SpamAssassin workaround":
410 SpamAssassin (available at
411 .IR http://spamassassin.org/ ") often is configured that it adds some"
412 lines to the message body containing information about the spam criteria
413 which were found matching for the message. This option enables an extra
414 test to avoid false positives for Microsoft style TOFU on such messages.
415 .TP
416 .B "\-t"
417 "TOFU deletion":
418 Hides "traditional style" TOFU, where each line begins with an
419 indent string like "> ".
420 .br
421 (You may edit the indent pattern in the script itself to suit your needs,
422 but it is surely
423 .I not
424 recommended at all.)
425 .TP
426 .B "\-w"
427 "whitespace deletion":
428 Hides trailing whitespace (sequences of space and tab).
429 CAVEAT: This may lead to interesting effects with crossposts
430 between mailing lists or with undetected signature attempts.
431 .TP
432 .B "\-v, \-\-version"
433 "version info":
434 Prints the current version number and release date, and exits.
435 .SH ENVIRONMENT
436 The environment variables
437 .IR LC_ALL ,
438 .IR LC_MESSAGES ,
439 and
440 .I LANG
441 are read and respected when interpreting output by mutt or gnupg
442 (unless they are overruled by the \-\-locale option). T-prot's own
443 output is English regardless of any locale setting.
444 .SH EXIT STATUS
445 On program exit, t-prot uses exit codes from
446 .I /usr/include/sysexits.h
447 and thus behaves in a manner that sendmail and others understand when
448 calling t-prot.
449 .sp
450 Currently, the codes used are
451 .RS 20
452 .PD 0
453 .TP
454 EX_OK
455 .TP
456 EX_USAGE
457 .TP
458 EX_DATAERR
459 .TP
460 EX_UNAVAILABLE
461 .TP
462 EX_SOFTWARE
463 .TP
464 EX_IOERR
465 .PD
466 .RE
467 .sp
468 If, however, perl fails to compile and execute t-prot, perl's normal
469 exit codes will be returned.
470 .SH TOFU?
471 TOFU is an abbreviation which mixes German and English words;
472 it expands to "text oben, full-quote unten" which means
473 "text above - full quote below" and describes the style of so
474 many users who let their mailer or newsreader quote everything
475 of the previous message and just add some text at the top;
476 obviously they think that quoted text must not be changed at all.
477 This is quite annoying as it needlessly sends a lot of data
478 even when it is not required. Some editing of messages is desired.
479 Please point these people to the page 
480 .I http://www.river.com/users/share/etiquette/edit.html
481 - thank you!
482 .SH PERFORMANCE
483 There are several ways to fine-tune t-prot's performance:
484 .PP
485 Some command line options are quite grave a performance hit -- do not
486 use \-k and especially \-\-ms\-smart if you are content without them.
487 .PP
488 Checking for special footers is very costly as well. Put as few footer
489 files as absolutely needed in any footer directory.
490 .PP
491 All PGP related options are eating up lots of CPU time. Try to avoid them
492 on unsigned and unencrypted messages.
493 .PP
494 When calling t-prot from within mutt, you might use mutt's folder-hook
495 and message-hook facilities to turn options on only when needed, e.g. to
496 set up a different footer directory for each mailing list folder.
497 .SH TROUBLESHOOTING
498 .TP
499 .IR Q :
500 I want to make my mailing list footer files match more different mailing
501 list footers. Can I use regular expressions, or how can I accomplish
502 that?
503 .TP
504 .IR A :
505 Nope, regexp's do not work here. The comparison is made by the perl
506 builtin
507 .IR index ()
508 function (see 
509 .B perldoc
510 for more detailed info), so you must exactly match the beginning of the
511 line. The longer the line you specify, the more precise the match; if
512 your line is empty you match unconditionally.
513 .PP
514 .TP
515 .IR Q :
516 I use the options \-l and \-L to supress mailing list footers when
517 displaying messages in
518 .BR mutt (1).
519 This does work sometimes, but sometimes it does not: the footer is not
520 detected, and therefore full quotes are not deleted and signatures are
521 detected as too long (which they aren't).
522 .TP
523 .IR A :
524 This might occur if the message is badly encoded, so mutt cannot resolve
525 all encoded characters, e.g. if you have an encoded message on a mailing
526 list, and majordomo appends a mailing list footer in a different encoding
527 (or even plain us-ascii). "\-\- " simply does not match "\-\-=20".
528 .br
529 Another problem are non-us-ascii characters. Just avoid them, and 
530 everything should work fine.
531 .br
532 See the preceding Q+A for a solution.
533 .PP
534 .TP
535 .IR Q :
536 I want to write a message which contains parts that should *not* be 
537 deleted even when filtered with t-prot. Is this possible?
538 .TP
539 .IR A :
540 Yes, but please do not spread word of it. Make unobstrusive use of the
541 .I
542 verbatim
543 instruction:
544 .sp
545 #v+
546 .br
547 This line is protected from being filtered by t\-prot !!!!!!!
548 .br
549 #v\-
550 .br
551 Text coming now is not.
552 .SH AUTHOR
553 Written by Jochen Striepe <t\-prot@tolot.escape.de>.
554 .SH COPYRIGHT
555 All of the documentation and software included in the t-prot releases
556 is copyrighted by Jochen Striepe (except when explicitly stated otherwise).
557 .PP
558 Copyright \(co 2001-2010 Jochen Striepe. All rights reserved.                     
559 .PP
560 Redistribution and use, with or without modification, are permitted
561 provided that the following conditions are met:
562 .PP
563 1. Redistributions of source code must retain the above copyright notice,
564 this list of conditions and the following disclaimer.
565 .PP
566 2. All advertising materials mentioning features or use of this software
567 must display the following acknowledgement:
568 .PP
569   This product includes software developed by Jochen Striepe and others.
570 .PP
571 3. Neither the name of the author nor the names of any contributors may
572 be used to endorse or promote products derived from this software without
573 specific prior written permission.
574 .PP
575 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
576 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
577 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
578 DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
579 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
580 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
581 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
582 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
583 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
584 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
585 .SH IDEAS AND INSPIRATION
586 Many good ideas, bug reports and support from (in alphabetical order) Bjoern
587 Buerger, Bjoern Laessig, Christian Borss, Gerfried Fuchs, Martin Neitzel, Martin
588 Dietze, Ralf Doeblitz, Sven Guckes and many more (see the ChangeLog for active
589 contributors). Many thanks to all of them!
590 .sp
591 Many thanks to Gerhard H. Wrodnigg who uses a TOFU protection script
592 in order to keep the responses to his cancel bot reasonably short.  The
593 entire inspiration for this hack came from the "TOFU protection" line of
594 his script on many usenet postings.
595 .SH AVAILABILITY
596 You can get the latest version from
597 .IR http://www.escape.de/users/tolot/mutt/ .
598 .SH BUGS
599 There is a problem when mutt gives a PGP verified or even a multipart
600 message to t-prot: The information where the PGP encrypted/signed data
601 or even attachments begin and end is plainly embedded in the text, not
602 really cleanly recognizable for t-prot. The problem should be worked
603 around by now, please send a bug report if it does not work for you.
604 .SH "REPORTING BUGS"
605 Please note that t-prot development happens on
606 .BR "current stable perl versions only" . 
607 If you do run t-prot on earlier (or unstable) perl versions, you might
608 encounter perl compiler bugs (or funny t-prot behaviour). One solution
609 is to upgrade your perl, another is simply to write a bug report. If
610 you do not run a current perl version, please include this information
611 in your bug report.
612 .PP
613 Please do
614 .I not
615 report a bug if
616 .br
617  * you found it in the TODO file coming with the distribution. We do
618 know those and try to fix them as soon as possible.
619 .br
620  * you have an old t-prot version. If you encounter a problem, first
621 see if there is a new t-prot version which fixes the issue. If you
622 upgraded to the latest version and it still occurs, a bug report is
623 just great.
624 .PP
625 If you noticed a bug when processing a message and want to provide the
626 t-prot team with some useful info, please:
627 .br
628  * if invoking t-prot by mutt's
629 .I display_filter
630 facility, just set display_filter to something like
631 .IP
632 "tee ~/foobar | t\-prot <your options>"
633 .PP
634 and include ~/foobar in the bug report -- this way we might reproduce
635 the bug much easier if you are using a different environment than we do.
636 .br
637  * provide information on what command line options you use t-prot
638 with, what perl version t-prot runs on your system, and what else might
639 be important to enable us reproducing the bug.
640 .PP
641 Send your bug report to 
642 .IR <t\-prot\-bugs@tolot.escape.de> .
643 Thank you.
644 .SH TODO
645 Fix bugs (see the 
646 .I BUGS
647 section). Beside that, all main features should be implemented by now.
648 See the TODO file for more information.
649 .SH "SEE ALSO"
650 .BR mutt (1),
651 .BR muttrc (5)
652 and the part about "display_filter", 
653 .BR perl (1),
654 .BR aliases (5),
655 .sp
656 RFCs 2045-2049 and 2822,
657 .sp
658 .I http://got.to/quote/
659 (German language),
660 .br
661 .I http://www.river.com/users/share/etiquette/edit.html
662 (the Learn To Edit Messages HowTo has found a new home).
663