1 T-PROT -- TOFU protection
2 =========================
4 1. What the hell is TOFU?
6 TOFU is an abbreviation which mixes German and English words; it expands
7 to "text oben, full-quote unten" which means "text above - full quote
8 below" and describes the style of so many users who let their mailer or
9 newsreader quote everything of the previous message and just add some
10 text at the top; obviously they think that quoted text must not be
11 changed at all. This is quite annoying as it needlessly sends a lot of
12 data even when it is not required. Some editing of messages is desired.
13 Please point these people to the page
14 http://www.river.com/users/share/etiquette/edit.html
17 2. What does the script do?
18 It detects, and when demanded hides annoying parts in rfc5322 messages:
19 TOFU, huge quoted blocks, signatures (especially when they are too long),
20 excessive punktuation, blocks of empty lines, trailing spaces and tabs.
21 For use inside of MTAs or MDAs it exits with appropriate libc exit codes,
22 so annoying messages may be bounced easily.
24 3. For what can I use it?
25 There are several possibilities. One is to filter your email or news
26 messages when displaying them in your User Agent. Another is blocking
27 annoying messages entirely from your system - using the script in some
28 sendmail (see the man page for an example) or procmail rule, or even
31 4. Give me some example! What about an example configuration for the MUA
32 mutt(1), or the NUA slrn(1)?
33 An example is included in the distribution. Please see the man page for
34 further details on the activated features.
36 5. And what about other User Agents?
37 I just use mutt and slrn, so I do not know how to filter messages in
38 other User Agents. If you know how to incorporate t-prot e.g. in Gnus,
39 please just drop me a note. ;)
41 6. Where did the idea come from?
42 Many thanks to Gerhard H. Wrodnigg who uses a TOFU protection script
43 in order to keep the responses to his cancel bot reasonably short. The
44 entire inspiration for this hack came from the "TOFU protection" line of
45 his script on many usenet postings.
48 T-PROT AND SUPPORT FOR GETOPT::LONG
49 ===================================
51 Most distributions (it seems to me) are quite eager to abandon Getopt::Mixed,
52 having Getopt::Long in the official Perl package, which does everything the
53 former module did. Getopt::Mixed is unmaintained and marked deprecated by
54 its author, so why keep it?
56 The answer is simple: because it's much faster (GNU time(1) tells me 28%
57 faster for running my complete t-prot release test suite consisting of
58 real-life emails) than anything I could get out of Getopt::Long. Plus,
59 from my point of view, there are no problems having a package installed
60 that is well-tested and just works fine (you don't need updates and more
61 new shiny features if the software just does what you want it to do).
63 So we have the choice between easy maintainance and better performance.
65 For the time being, I made my choice and keep sticking to Getopt::Mixed as
66 long as it works as-is with current stable perl versions. That does not mean
67 I don't see the merits of a well-maintained standard module, which is already
68 available on any perl system out there. Thus, a patch is provided to allow
69 easy migration to Getopt::Long for anyone who likes this better. I hope
70 this solution is fine for everyone.