(The `lines' figures total .c, .h, .l, and .y files under version control.)
-fetchmail-5.4.9 (Sat May 13 18:24:21 EDT 2000), 18977 lines:
+* NT material added to FAQ item O9.
+* Commented out the socket-shutdown code that was causing mystery hangs under
+ Red Hat 6.2. We can live with a socket leak (assuming it comes back) nmore
+ easily than we can live with fetchmail getting wedged in place.
+* Werner Almesberger <almesber@lrc.epfl.ch> sent minor bug fixes for BSMTP.
+
+fetchmail-5.4.0 (Sat May 13 18:24:21 EDT 2000), 18977 lines:
* Matthias Scheler's fix for SSL under IPV6
* Added FAQ material on SSL's "RPNG not seeded" message and on ssh tunnelling.
(client) machine's delivery system, so it can then be be read by
normal mail user agents such as elm(1) or Mail(1).
-fetchmail supports standard all mail-retrieval protocols in use on the
+fetchmail supports all standard mail-retrieval protocols in use on the
Internet: POP2, POP3 (including POP3 with RFC1938 one-time passwords),
RPOP, APOP, KPOP, Compuserve's POP3 with RPA, Microsoft's NTLM, Demon
Internet's SDPS, all flavors of IMAP (including IMAP4rev1 with RFC1731
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="/~esr/index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/04/04 07:27:16 $
+<td width="30%" align=right>$Date: 2000/06/07 00:22:00 $
</table>
<HR>
<H1 ALIGN=CENTER>Design Notes On Fetchmail</H1>
<DD> POP3 Extension Mechanism
<DT><A HREF="ftp://ftp.isi.edu/in-notes/rfc2683.txt">RFC2683</A>
<DD> IMAP4 Implementation Recommendations
-</DL>
+<DD><A HREF="http://www.faqs.org/rfcs/rfc2595.html"></A>
+</DL> Using TLS with IMAP, POP3 and ACAP
<HR>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/04/04 07:27:16 $
+<td width="30%" align=right>$Date: 2000/06/07 00:22:00 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/05/13 22:14:55 $
+<td width="30%" align=right>$Date: 2000/06/07 00:22:00 $
</table>
<HR>
<H1>Frequently Asked Questions About Fetchmail</H1>
The solution is to either (a) wait for the other client to finish, or (b)
terminate it.<p>
+James Stevens <James.Stevens@kyzo.com> writes:<p>
+
+<em>
+We had a Linux box dialing the Net and collecting mail from an NT POP3
+server. Fetchmail was correctly collecting and deleting each e-mail
+one by one. However,the dial-up connection was very unreliable and
+would often just drop out in the middle of a session.<p>
+
+Interestingly, unless the TCP POP3 connection was terminated normally
+(I guess with a POP3 "QUIT" command) NT would then roll back all the
+deletes !!!<p>
+
+This meant if the first e-mail was very large it might just end up
+continuously collecting it, basically jamming the queue. Or, if the
+queue became very full itmight never get a long enough phone
+connection to retrieve the entire mailbox, and NT would roll back any
+deletes, so it would end up collecting (and delivering) the first few
+e-mails again and again. As the POP3 mailbox became fuller and fuller
+the chances of getting a connection long enough to collect theentire
+mailbox became smaller and smaller.<p>
+
+Our solution was to make fetchmail only collect a few (say 5 or 10)
+e-mails at atime, thus trying to ensure that the POP3 connection is
+terminated correctly.
+</em>
+
+That's one solution. Perhaps a better one would be to FORMAT C: and
+install Linux on your server...<p>
+
<HR>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/05/13 22:14:55 $
+<td width="30%" align=right>$Date: 2000/06/07 00:22:00 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/04/08 06:59:44 $
+<td width="30%" align=right>$Date: 2000/06/07 00:22:01 $
</table>
<HR>
<LI> The --limit option can now be used in daemon mode, with oversized-message
notifications being mailed to the calling user.
-<LI> Configurable support for the
-<a href="http://www.demon.net/services/mail/sdps-tech.html">SDPS extensions</a>
-in <a href="http://www.demon.net/">www.demon.net</a>'s POP3 service.
+<LI>
+Configurable support for the <a
+href="http://www.demon.net/info/helpdesk/demon_products/mail/sdps-tech.shtml">SDPS
+extensions</a> in <a href="http://www.demon.net/">www.demon.net</a>'s
+POP3 service.
<LI> There is now an interactive GUI fetchmail configurator, fetchmailconf.
<table width="100%" cellpadding=0><tr>
<td width="30%">Back to <a href="index.html">Fetchmail Home Page</a>
<td width="30%" align=center>To <a href="/~esr/sitemap.html">Site Map</a>
-<td width="30%" align=right>$Date: 2000/04/08 06:59:44 $
+<td width="30%" align=right>$Date: 2000/06/07 00:22:01 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com"><esr@snark.thyrsus.com></A></ADDRESS>
fputs(" BODY=7BIT", sinkfp);
/* exim's BSMTP processor does not handle SIZE */
- /* fprintf(sinkfp, " SIZE=%d\r\n", msg->reallen); */
+ /* fprintf(sinkfp, " SIZE=%d", msg->reallen); */
+
+ fprintf(sinkfp, "\r\n");
/*
* RFC 1123 requires that the domain name part of the
}
else if (ctl->bsmtp)
{
+ int error;
+
/* implicit disk-full check here... */
fputs(".\r\n", sinkfp);
+ error = ferror(sinkfp);
if (strcmp(ctl->bsmtp, "-"))
- fclose(sinkfp);
- if (ferror(sinkfp))
+ if (fclose(sinkfp) == EOF) error = 1;
+ if (error)
{
report(stderr,
_("Message termination or close of BSMTP file failed\n"));
}
#endif
- /* Half-close the connection first so the other end gets notified.
+#ifdef __UNUSED__
+ /*
+ * This hangs in RedHat 6.2 after fetchmail runs for a while a
+ * FIN_WAIT2 comes up in netstat and fetchmail never returns from
+ * the recv system call. (Reported from jtnews
+ * <jtnews@bellatlantic.net>, Wed, 24 May 2000 21:26:02.)
+ *
+ * Half-close the connection first so the other end gets notified.
*
* This stops sends but allows receives (effectively, it sends a
- * TCP <FIN>).
- */
- if (shutdown(sock, 1) == 0)
+ * TCP <FIN>). */
+ if (shutdown(sock, 1) == 0) {
/* If there is any data still waiting in the queue, discard it.
* Call recv() until either it returns 0 (meaning we received a FIN)
* or any error occurs. This makes sure all data sent by the other
if (fm_peek(sock, &ch, 1) > 0)
while (fm_read(sock, &ch, 1) > 0)
continue;
+ }
+#endif /* __UNUSED__ */
/* if there's an error closing at this point, not much we can do */
return(fm_close(sock)); /* this is guarded */
%attr(644, root, man) /usr/man/man1/*.1.gz
%attr(755, root, root) /usr/bin/fetchmail
# Uncomment the following to support internationalization
-# attr(644,root,root) /usr/share/locale/*/LC_MESSAGES/fetchmail.mo
+# %attr(644,root,root) /usr/share/locale/*/LC_MESSAGES/fetchmail.mo
# Uncomment the following to make split fetchmail and fetchmailconf packages
# %files -n fetchmailconf
%attr(644,root,root) /etc/X11/wmconfig/fetchmailconf