-.\" $Id: t-prot.1,v 1.139 2009/12/30 21:34:16 jochen Exp $
+.\" $Id: t-prot.1,v 1.157 2010/02/15 20:08:19 jochen Exp $
.\"
-.TH T-PROT "1" "December 2009" "T-PROT"
+.TH T-PROT "1" "February 2010" "T-PROT"
.SH NAME
-t-prot \- TOFU Protection - Display Filter for RFC 2822 messages
+t-prot \- TOFU Protection - Display Filter for RFC 5322 messages
.SH SYNOPSIS
.BI "t\-prot [" OPTIONS "]..."
.SH DESCRIPTION
.PP
-This program is a filter to improve the readability of
+This program is a filter to improve the readability of internet
messages (emails and usenet posts) by *hiding* some annoying parts,
e.g. mailing list footers, signatures, and TOFU (see definition below),
as well as squeezing sequences of blank lines or punctuation.
+The program also detects TOFU or a high quoting ratio in a message (so
+you may take appropriate action, e.g. when submitting messages to a mailing
+list or a news server).
.br
The filter is written in Perl and relies on input to be a single
-message conforming to RFC 822 or its successor, RFC 2822. Messages
-conforming to RFCs 2045-2049 should be treated reasonably correct.
+message conforming to RFC 822 or its successors, RFC 2822 and RFC 5322.
+Messages conforming to RFCs 2045-2049 should be treated reasonably correct.
.PP
Already reformatted messages are handled well: the script was
initially designed to cope with the output of the MUA mutt (which
is the reason for not using standard CPAN modules for handling
messages).
.PP
-For easy usage, you can download a file to be included in your ~/.muttrc:
-.I http://www.escape.de/users/tolot/mutt/t\-prot/muttrc.t\-prot
-.br
-And here is an example S-Lang macro to use t-prot from within slrn:
-.I http://www.escape.de/users/tolot/mutt/t\-prot/t\-prot.sl
+For easy usage, you can include the file muttrc.t\-prot in your
+~/.muttrc. Also coming with the t-prot package is the example S-Lang
+macro t\-prot.sl for using t-prot from within slrn. There is a
+proof\-of\-concept filter for INN2, which you will have to adapt to
+the needs of the news site you host (please see the file for details).
.SH OPTIONS
.TP
.BR "\-A" =DIRECTORY
Defaults are 30 for n and 10 for x.
.TP
.B "\-\-body"
-Input consists just of the message's body. There are no RFC 2822 header
+Input consists just of the message's body. There are no RFC 5322 header
lines.
.IP
.IR NOTE :
.TP
.B "\-c"
"compress":
-Squeezes a sequence of blank lines to two blank lines at maximum.
+Squeezes a sequence of blank lines to just two blank lines.
.TP
.BR "\-\-check" [=FLAGS]
Run checks. If successful, print an error message and quit with
.IR ratio [=n]
.br
If the quoting ratio is n or more, the message is rejected. Must be
-between 0 and 1, or else it is entirely disabled.
+between 0 and 1, or else it is entirely disabled. Default is 0.75
+(i.e., 75% of the message lines are quotes).
.TP
.B "\-d, \-\-debug"
-"debug":
Print envelope info to syslog when bouncing TOFU contaminated email.
Default syslog facility is mail.debug. Requires
.BR \-p .
.BR "\-L" =DIRECTORY.
.TP
.B "\-\-groupwise"
-"delete Groupwise style TOFU":
Hides TOFU as produced by Novell Groupwise.
.TP
.B "\-h, \-\-help"
-"help":
Displays a short help text with a summary on all options, and exits.
.TP
.BR "\-i" =FILE
.IP
Please also note that enabling this option is quite a performance hit.
.TP
-.BR "\-\-kminl" =n
-Minimum line length for wrapped line detection on Kammquotes. For
-details, please see the source code.
+.BR "\-\-kdiff" =n
+Minimum length difference between two lines for wrapped line detection on
+Kammquotes. For details, please see the source code.
.br
Anyway, lower values make the algorithm more aggressive, higher values
-make Kammquotes harder to detect. Default is 65.
+make Kammquotes harder to detect. Default is 20.
.sp
Requires
.BR "\-k" .
Requires
.BR "\-k" .
.TP
-.BR "\-\-kdiff" =n
-Minimum length difference between two lines for wrapped line detection on
-Kammquotes. For details, please see the source code.
+.BR "\-\-kminl" =n
+Minimum line length for wrapped line detection on Kammquotes. For
+details, please see the source code.
.br
Anyway, lower values make the algorithm more aggressive, higher values
-make Kammquotes harder to detect. Default is 20.
+make Kammquotes harder to detect. Default is 65.
.sp
Requires
.BR "\-k" .
.br
and some header lines...)
.TP
+.BR "\-\-max\-lines" =x
+Maximum number of lines a message may count (with headers). If the message
+is longer than x lines, the message will not be processed but printed
+unmodified. Exit status will be EX_DATAERR except when called with \-Mmutt.
+.TP
.B "\-\-ms\-smart"
Burn CPU cycles trying to be smart with MS style TOFU.
.sp
.BR "\-Mmutt" " and"
.BR "\-m" .
.TP
-.BR "\-\-max\-lines" =x
-Maximum number of lines a message may count (with headers). If the message
-is longer than x lines, the message will not be processed but printed
-unmodified. Exit status will be EX_DATAERR.
-.TP
.BR "\-o" =FILE
"output file":
Define the file to be written *to*; the default output is to STDOUT.
if all you need is t-prot's exit code). Use something like "./NONE" if you
really want to write to a file of this name.
.TP
+.BR "\-P" =MESSAGE
+"user defined bounce message for picky delivery":
+You may specify your own bounce message to be returned when we try to deliver
+an email and bounce it because there is TOFU inside. See
+.BR "\-p" .
+.TP
.BR "\-p" [=ADDRESS]
"picky delivery":
If we really find some TOFU, abort with exit code
.sp
.B PLEASE be careful not to bounce messages to mailing lists!
.TP
-.BR "\-P" =MESSAGE
-"user defined bounce message for picky delivery":
-You may specify your own bounce message to be returned when we try to deliver
-an email and bounce it because there is TOFU inside.
-.TP
.B \-\-pgp\-move
Move PGP verification output to bottom; requires
.BR "\-Mmutt" .
"rip header off":
Hides all mail header lines.
.TP
+.B "\-\-reply"
+Subject lines with multiple reply prefixes (Re: and translations into other
+languages) get squeezed to only one prefix.
+.TP
.BR "\-S" [=n]
"supression of overlong signatures":
Signatures are to be n lines (not including the one containing dash-dash-space)
Hides signatures, i.e. all lines after a "signature dashes" line,
i.e. a line with three characters: dash-dash-space (no more, no less).
.TP
+.B "\-\-sani"
+Sanitize headers "To:", "From:" and "Subject:": Quoted-printable gets
+fixed to the corresponding chars. German Umlauts are translated to their
+"ae", "oe", "ue" pendants.
+.br
+Useful e.g. for searching by subject within MUAs like Berkeley mailx.
+.TP
.BR "\-\-sigsmax" [=n]
"maximum number of tolerated signatures":
Here you can define how many signatures you accept to be treated as such.
between mailing lists or with undetected signature attempts.
.TP
.B "\-v, \-\-version"
-"version info":
Prints the current version number and release date, and exits.
.SH ENVIRONMENT
The environment variables
All of the documentation and software included in the t-prot releases
is copyrighted by Jochen Striepe (except when explicitly stated otherwise).
.PP
-Copyright \(co 2001-2009 Jochen Striepe. All rights reserved.
+Copyright \(co 2001-2010 Jochen Striepe. All rights reserved.
.PP
Redistribution and use, with or without modification, are permitted
provided that the following conditions are met:
.SH IDEAS AND INSPIRATION
Many good ideas, bug reports and support from (in alphabetical order) Bjoern
Buerger, Bjoern Laessig, Christian Borss, Gerfried Fuchs, Martin Neitzel, Martin
-Dietze, Ralf Doeblitz, Sven Guckes and many more (see the ChangeLog for active
-contributors). Many thanks to all of them!
+Dietze, Matthias Kilian, Ralf Doeblitz, Sven Guckes and many more (see the
+ChangeLog for active contributors). Many thanks to all of them!
.sp
Many thanks to Gerhard H. Wrodnigg who uses a TOFU protection script
in order to keep the responses to his cancel bot reasonably short. The
.BR perl (1),
.BR aliases (5),
.sp
-RFCs 2045-2049 and 2822,
+RFCs 2045-2049 and 5322,
.sp
+.I http://freshmeat.net/articles/t\-prot/
+(a nice, solid introduction),
+.br
.I http://got.to/quote/
(German language),
.br