]> git.deb.at Git - pkg/t-prot.git/blob - README
Imported Upstream version 2.14
[pkg/t-prot.git] / README
1 T-PROT -- TOFU protection
2 =========================
3
4 1. What the hell is TOFU?
5    As the man page says:
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
15    Thank you!
16
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.
23    
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
29    inside innd.
30
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.
35
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. ;)
40
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.
46
47
48 T-PROT AND SUPPORT FOR GETOPT::LONG
49 ===================================
50
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?
55
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).
62
63 So we have the choice between easy maintainance and better performance.
64
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.
71