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