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