| 1 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
| 2 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 3 |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 4 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
| 5 |
<head> |
| 6 |
<link rev="made" href="mailto:esr@snark.thyrsus.com" /> |
| 7 |
<meta name="description" |
| 8 |
content="Known bugs and to-do items in fetchmail" /> |
| 9 |
<meta name="keywords" content="fetchmail, POP3, IMAP, bugs" /> |
| 10 |
<title>Fetchmail Bugs and To-Do Items</title> |
| 11 |
<style type="text/css"> |
| 12 |
/*<![CDATA[*/ |
| 13 |
h1.c1 {text-align: center} |
| 14 |
/*]]>*/ |
| 15 |
</style> |
| 16 |
</head> |
| 17 |
<body> |
| 18 |
<h1 class="c1">Fetchmail Bugs and To-Do Items</h1> |
| 19 |
|
| 20 |
<p>Note that there is a separate <a href="TODO.txt">TODO.txt</a> document of |
| 21 |
different content than this.</p> |
| 22 |
|
| 23 |
<p>I try to respond to urgent bug reports in a timely way. But |
| 24 |
fetchmail is now pretty mature and I have many other projects, so I |
| 25 |
don't personally chase obscure or marginal problems. Help with any |
| 26 |
of these will be cheerfully accepted.</p> |
| 27 |
|
| 28 |
<h2>Serious</h2> |
| 29 |
|
| 30 |
<p>Let IMAP code use UID and UIDVALIDITY rather than relying on flags |
| 31 |
that everyone can alter.</p> |
| 32 |
|
| 33 |
<h2>Normal</h2> |
| 34 |
|
| 35 |
<p>POP3 hang when polling mail with NUL char that is rejected (David |
| 36 |
Greaves) <a |
| 37 |
href="https://lists.berlios.de/pipermail/fetchmail-devel/2004-October/000154.html">https://lists.berlios.de/pipermail/fetchmail-devel/2004-October/000154.html</a></p> |
| 38 |
|
| 39 |
<p>It has been reported that multidrop name matching fails when the |
| 40 |
name to be matched contains a Latin-1 umlaut. Dollars to doughnuts |
| 41 |
this is some kind of character sign-extension problem. Trouble is, |
| 42 |
it's very likely in the BIND libraries. Someone should go in with a |
| 43 |
debugger and check this.</p> |
| 44 |
|
| 45 |
<p>The <a |
| 46 |
href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=fetchmail&archive=no"> |
| 47 |
Debian bug-tracking page for fetchmail</a> lists other bug |
| 48 |
reports.</p> |
| 49 |
|
| 50 |
<h2>Cosmetic</h2> |
| 51 |
|
| 52 |
<p>Alan Munday suggests message change MULTIDROP without ENVELOPE:</p> |
| 53 |
<pre> |
| 54 |
fetchmail: warning: MULTIDROP configuration for pop.example.org requires the envelope option to be set! |
| 55 |
fetchmail: warning: Check ENVELOPE option if fetchmail sends all mail to postmaster! |
| 56 |
</pre> |
| 57 |
|
| 58 |
<h2>Feature requests/Wishlist items</h2> |
| 59 |
|
| 60 |
<p>Feature request from "Ralf G. R. Bergs" <rabe@RWTH-Aachen.DE> "When |
| 61 |
fetchmail downloads mail and Exim+SpamAssassin detecs an incoming |
| 62 |
message as spam, fetchmail tries to bounce it. Unfortunately it uses |
| 63 |
an incorrect hostname as part of the sender address (I've an internal |
| 64 |
LAN with private hostnames, plus an official IP address and hostname, |
| 65 |
and fetchmail picks the internal name of my host.) So I'd like to have |
| 66 |
a config statement that allows me to explicitly set a senderaddress |
| 67 |
for bounce messages."</p> |
| 68 |
|
| 69 |
<p>In the SSL support, add authentication of Certifying Authority |
| 70 |
(Is this a Certifying Authority we recognize?).</p> |
| 71 |
|
| 72 |
<p>Laszlo Vecsey writes: "I believe qmail uses a technique of |
| 73 |
writing temporary files to nfs, and then moving them into place to |
| 74 |
ensure that they're written. Actually a hardlink is made to the |
| 75 |
temporary file and the destination name in a new directory, then |
| 76 |
the first one is unlinked. Maybe a combination of this will help |
| 77 |
with the fetchmail lock file."</p> |
| 78 |
|
| 79 |
<p>Maybe refuse multidrop configuration unless "envelope" is _explicitly_ |
| 80 |
configured (and tell the user he needs to configure the envelope |
| 81 |
option) and change the envelope default to nil. This would |
| 82 |
prevent a significant class of shoot-self-in-foot problems.</p> |
| 83 |
|
| 84 |
<p>Given the above change, perhaps treat a delivery as "temporarily |
| 85 |
failed" (leaving the message on the server, not putting it into |
| 86 |
.fetchids) when the header listed in the "envelope" option is not |
| 87 |
found. (This is so you don't lose mail if you configure the wrong |
| 88 |
envelope header.)</p> |
| 89 |
|
| 90 |
<p>Matthias Andree writes:</p> |
| 91 |
|
| 92 |
<blockquote> |
| 93 |
<p>NOTE that the current code need optimization, if I have |
| 94 |
unseen articles 3 and 47, fetchmail will happily request LIST for |
| 95 |
articles 3...47 rather than just 3 and 47. In cases where the message |
| 96 |
numbers are far apart, this involves considerable overhead - which |
| 97 |
could be alleviated by pipelining the list commands, which needs |
| 98 |
either asynchronous reading while sending the commands, or knowing the |
| 99 |
send buffer, to avoid deadlocks. Unfortunately, I don't have the time |
| 100 |
to delve deeper into the code and look around.</p> |
| 101 |
|
| 102 |
<p>Note that such a pipelining function would be of universal use, so it |
| 103 |
should not be in pop3.c or something. I'd think the best approach is to |
| 104 |
call a "sender" function with the command and a callback, and the sender |
| 105 |
will call the receiver when the send buffer is full and call the |
| 106 |
callback function for each reply received.</p> |
| 107 |
|
| 108 |
<p>See the ESMTP PIPELINING RFC for details on the deadlock avoidance |
| 109 |
requirements.</p> |
| 110 |
</blockquote> |
| 111 |
|
| 112 |
<hr /> |
| 113 |
<br clear="left" /> |
| 114 |
<address>-2003 Eric S. Raymond <a |
| 115 |
href="mailto:esr@thyrsus.com"><esr@thyrsus.com></a><br /> |
| 116 |
2004- Matthias Andree <a |
| 117 |
href="mailto:matthias.andree@gmx.de"><matthias.andree@gmx.de></a></address> |
| 118 |
</body> |
| 119 |
</html> |