]> Pileus Git - ~andy/fetchmail/blobdiff - todo.html
Attempt merging from 6.3.24.
[~andy/fetchmail] / todo.html
index da6600420610eb5deb7acac6be6abcd64a7f0004..754942c2e2516c07e6e00e74dcb51d45f8d2738f 100644 (file)
--- a/todo.html
+++ b/todo.html
-<!DOCTYPE HTML public "-//W3O//DTD W3 HTML 4.0//EN">
-<HTML>
-<HEAD>
-<link rev=made href="mailto:esr@snark.thyrsus.com">
-<meta name="description" content="Known bugs and to-do items in fetchmail">
-<meta name="keywords" content="fetchmail, POP3, IMAP, bugs"> 
-<TITLE>Fetchmail Bugs and To-Do Items</TITLE>
-</HEAD>
-<BODY>
-<table width="100%" cellpadding=0><tr>
-<td width="30%">Back to <a href="/~esr">Eric's Home Page</a>
-<td width="30%" align=center>Up to <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2002/03/09 12:33:09 $
-</table>
-<HR>
-<H1 ALIGN=CENTER>Fetchmail Bugs and To-Do Items</H1>
-
-<p>I try to respond to urgent bug reports in a timely way.  But fetchmail
-is now pretty mature and I have many other projects, so I don't
-personally chase obscure or marginal problems.  Help with any of these
-will be cheerfully accepted.
-
-<p>IDLE is not fully implemented.  Fetchmail does not time out the idle connection
-every 30 minutes or less as required by RFC2177.  Some servers (including UW IMAPD
-compiled without the MICROSOFT_BRAIN_DAMAGE option, as is the default) will drop
-the connection after 30 minutes, resulting in a spurious socket error in your logs
-and no mail being picked up until the next poll cycle.
-
-<p>The UIDL code seems rather broken.  It's a nasty swamp.  Somebody who
-actually uses it should fix it -- every time I try I seem to make
-things worse....
-
-<p>POP3 can't presently distinguish a wedged or down server from an
-authentication failure.  Possible fix: after issuing a PASS
-command. wait 300 (xx) seconds for a "-ERR" or a "+OK" . If nothing
-comes back, retry at the next poll event and generate no errors. If we
-get an -ERR then log an authentication failure.
-
-<p>It has been reported that multidrop name matching fails when the name
-to be matched contains a Latin-1 umlaut.  Dollars to doughnuts this is
-some kind of character sign-extension problem.  Trouble is, it's very
-likely in the BIND libraries.  Someone should go in with a debugger 
-and check this.
-
-<p>In the SSL support, add authentication of Certifying Authority (Is this
-a Certifying Authority we recognize?).
-
-<p>Laszlo Vecsey writes: "I believe qmail uses a technique of writing
-temporary files to nfs, and then moving them into place to ensure that
-they're written. Actually a hardlink is made to the temporary file and
-the destination name in a new directory, then the first one is
-unlinked.. maybe a combination of this will help with the fetchmail
-lock file."
-
-<p>Move everything to using service strings rather that port numbers, so we
-can get rid of ENABLE_INET6 everywhere but in SockOpen (this will get
-rid of the kluge in rcfile_y.y).
-
-<p>John Summerfield suggests that specifying a localname containing @
-ought to be treated as an smtpname option, with the domain part
-removed for other purposes such as local-address matching.
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rev="made" href="mailto:esr@snark.thyrsus.com" />
+<meta name="description"
+content="Known bugs and to-do items in fetchmail" />
+<meta name="keywords" content="fetchmail, POP3, IMAP, bugs" />
+<title>Fetchmail Bugs and To-Do Items</title>
+<style type="text/css">
+/*<![CDATA[*/
+ h1.c1 {text-align: center}
+/*]]>*/
+</style>
+</head>
+<body>
+<h1 class="c1">Fetchmail Bugs and To-Do Items</h1>
+
+<p>Note that there is a separate <a href="TODO.txt">TODO.txt</a> document of
+different content than this.</p>
+
+<p>I try to respond to urgent bug reports in a timely way. But
+fetchmail is now pretty mature and I have many other projects, so I
+don't personally chase obscure or marginal problems. Help with any
+of these will be cheerfully accepted.</p>
+
+<h2>Serious</h2>
+
+<p>Let IMAP code use UID and UIDVALIDITY rather than relying on flags
+that everyone can alter.</p>
+
+<h2>Normal</h2>
+
+<p>POP3 hang when polling mail with NUL char that is rejected (David
+Greaves) <a
+       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>
+
+<p>It has been reported that multidrop name matching fails when the
+name to be matched contains a Latin-1 umlaut. Dollars to doughnuts
+this is some kind of character sign-extension problem. Trouble is,
+it's very likely in the BIND libraries. Someone should go in with a
+debugger and check this.</p>
 
 <p>The <a
-href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=fetchmail&archive=no">Debian
-bug-tracking page for fetchmail</a> lists other bug reports.
-
-<HR>
-<table width="100%" cellpadding=0><tr>
-<td width="30%">Back to <a href="/~esr">Eric's Home Page</a>
-<td width="30%" align=center>Up to <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2002/03/09 12:33:09 $
-</table>
-
-<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@thyrsus.com&gt;</A></ADDRESS>
-</BODY>
-</HTML>
+href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=fetchmail&amp;archive=no">
+Debian bug-tracking page for fetchmail</a> lists other bug
+reports.</p>
+
+<h2>Cosmetic</h2>
+
+<p>Alan Munday suggests message change MULTIDROP without ENVELOPE:</p>
+<pre>
+fetchmail: warning: MULTIDROP configuration for pop.example.org requires the envelope option to be set!
+fetchmail: warning: Check ENVELOPE option if fetchmail sends all mail to postmaster!
+</pre>
+
+<h2>Feature requests/Wishlist items</h2>
+
+<p>Feature request from "Ralf G. R. Bergs" &lt;rabe@RWTH-Aachen.DE&gt; "When
+fetchmail downloads mail and Exim+SpamAssassin detecs an incoming
+message as spam, fetchmail tries to bounce it. Unfortunately it uses
+an incorrect hostname as part of the sender address (I've an internal
+LAN with private hostnames, plus an official IP address and hostname,
+and fetchmail picks the internal name of my host.) So I'd like to have
+a config statement that allows me to explicitly set a senderaddress
+for bounce messages."</p>
+
+<p>In the SSL support, add authentication of Certifying Authority
+(Is this a Certifying Authority we recognize?).</p>
+
+<p>Laszlo Vecsey writes: "I believe qmail uses a technique of
+writing temporary files to nfs, and then moving them into place to
+ensure that they're written. Actually a hardlink is made to the
+temporary file and the destination name in a new directory, then
+the first one is unlinked. Maybe a combination of this will help
+with the fetchmail lock file."</p>
+
+<p>Maybe refuse multidrop configuration unless "envelope" is _explicitly_
+configured (and tell the user he needs to configure the envelope
+option) and change the envelope default to nil.  This would
+prevent a significant class of shoot-self-in-foot problems.</p>
+
+<p>Given the above change, perhaps treat a delivery as "temporarily
+failed" (leaving the message on the server, not putting it into
+.fetchids) when the header listed in the "envelope" option is not
+found.  (This is so you don't lose mail if you configure the wrong
+envelope header.)</p>
+
+<p>Matthias Andree writes:</p>
+
+<blockquote> 
+<p>NOTE that the current code need optimization, if I have
+unseen articles 3 and 47, fetchmail will happily request LIST for
+articles 3...47 rather than just 3 and 47. In cases where the message
+numbers are far apart, this involves considerable overhead - which
+could be alleviated by pipelining the list commands, which needs
+either asynchronous reading while sending the commands, or knowing the
+send buffer, to avoid deadlocks. Unfortunately, I don't have the time
+to delve deeper into the code and look around.</p>
+
+<p>Note that such a pipelining function would be of universal use, so it
+should not be in pop3.c or something. I'd think the best approach is to
+call a "sender" function with the command and a callback, and the sender
+will call the receiver when the send buffer is full and call the
+callback function for each reply received.</p> 
+
+<p>See the ESMTP PIPELINING RFC for details on the deadlock avoidance
+requirements.</p>
+</blockquote>
+
+<hr />
+<br clear="left" />
+<address>-2003 Eric S. Raymond <a
+       href="mailto:esr@thyrsus.com">&lt;esr@thyrsus.com&gt;</a><br />
+2004- Matthias Andree <a
+               href="mailto:matthias.andree@gmx.de">&lt;matthias.andree@gmx.de&gt;</a></address>
+</body>
+</html>