From 94dd90893a24682550d2127cd0aa997683add614 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sun, 19 Jun 2011 20:08:57 +0200 Subject: [PATCH] Remove domino, a mail mangling script that works around a bug long since fixed. --- contrib/README | 7 ----- contrib/domino | 84 -------------------------------------------------- 2 files changed, 91 deletions(-) delete mode 100644 contrib/domino diff --git a/contrib/README b/contrib/README index 383d987a..59a699fd 100644 --- a/contrib/README +++ b/contrib/README @@ -136,13 +136,6 @@ files. Martijn Lievaart's sendmail hacks to make multidrop reliable. -### domino: - -Gustavo Chaves wrote this script to deal with -the boundary-mismatch bug in Domino (see FAQ item X5). If you use -this with --mda, the broken boundaries will be fixed and the result -passed to procmail. - ### toprocmail: John Lim Eng Hooi wrote this script, yet another diff --git a/contrib/domino b/contrib/domino deleted file mode 100644 index a5802718..00000000 --- a/contrib/domino +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/perl -w -# correct-domino-mime-conversion - does it! -# $Id: domino,v 1.1 2004/06/08 03:59:00 rfunk Exp $ - -use strict; - -# Any arguments are expected to be an mda invocation. -if (@ARGV) { - my $mda = join(' ', @ARGV); - open(MDA, "| $mda") or die "Can't exec $mda: $!\n"; - select(MDA); -} - -# Look for a Boundary declaration in the message header -my $decltag; -while () { - print; - if (/boundary=\"(.*)\"$/i) { - $decltag = $1; - } elsif (/^$/) { - # An empty line marks the end of the headers. - last; - } -} - -# If we didn't find a Boundary declaration just pipe the rest of the -# message unchanged. -if (!defined $decltag) { - while () { - print; - } - exit 0; -} - -# Substitute $decltag for every ocurrence of an outer-level boundary -# string found in the body of the message. -my $usedtag; -while () { - if (/^--(.*)$/) { - $usedtag = $1 unless defined $usedtag; - if ($1 eq $usedtag) { - $_ = "--$decltag\n"; - } elsif ($1 eq "$usedtag--") { - $_ = "--$decltag--\n"; - } - } - print; -} - -=pod - -This script can be used to bypass a bug in the Domino-5.0.2b IMAP -service that manifests itself when you use fetchmail as the IMAP -client. The problem is that fetchmail (differently from other IMAP -clients) fetches messages in two parts, first the headers and then the -body. It seems that Domino converts the messages from its internal -format into MIME twice. In doing so, it declared a boundary string in -the messages Content-type header and uses another one to separate the -parts in the body. - -This script should be used as a mda option for fetchmail. As -arguments to it, pass the former mda you used. I, for example, use the following entry in my .fetchmailrc: - - poll server ... mda "/usr/bin/procmail -d %T"; - -To use this filter, I changed the above into the following: - - poll server ... mda "/home/gustavo/bin/correct-domino-mime-conversion /usr/bin/procmail -d %T"; - -If you do not use a mda normally, you can try the following to call sendmail directly: - - poll server ... mda "/home/gustavo/bin/correct-domino-mime-conversion //wherever/is/your/sendmail -oem -f %F %T"; - -Without argumets this script is a filter that reads from its stdin and -outputs the result into its stdout. - -I should mention that this bug seems to be solved in Domino 5.0.3 -(http://www.notes.net/46dom.nsf/434e319a66960d8385256857005cd97b/4499e0db6e43732b852568b2006ef7e9?OpenDocument) -but I have not checked it. - -Gustavo. - - -=cut -- 2.43.2