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&amp;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" &lt;rabe@RWTH-Aachen.DE&gt; "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">&lt;esr@thyrsus.com&gt;</a><br />
116
2004- Matthias Andree <a
117
		href="mailto:matthias.andree@gmx.de">&lt;matthias.andree@gmx.de&gt;</a></address>
118
</body>
119
</html>