diff options
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | design-notes.html | 7 | ||||
-rw-r--r-- | fetchmail-FAQ.html | 33 | ||||
-rw-r--r-- | fetchmail-features.html | 12 | ||||
-rw-r--r-- | sink.c | 11 | ||||
-rw-r--r-- | socket.c | 16 | ||||
-rwxr-xr-x | specgen.sh | 2 |
8 files changed, 71 insertions, 20 deletions
@@ -2,7 +2,13 @@ (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. @@ -7,7 +7,7 @@ retrieves mail from remote mail servers and forwards it to your local (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 diff --git a/design-notes.html b/design-notes.html index 8586189f..5e251b9b 100644 --- a/design-notes.html +++ b/design-notes.html @@ -10,7 +10,7 @@ <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> @@ -535,13 +535,14 @@ all shaped the design in one way or another.<P> <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> diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html index 88011fb6..12a81729 100644 --- a/fetchmail-FAQ.html +++ b/fetchmail-FAQ.html @@ -10,7 +10,7 @@ <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> @@ -2823,11 +2823,40 @@ by the other instance yours can neither mark messages seen or delete them. 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> diff --git a/fetchmail-features.html b/fetchmail-features.html index 794f3c18..5f24bfcd 100644 --- a/fetchmail-features.html +++ b/fetchmail-features.html @@ -10,7 +10,7 @@ <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> @@ -74,9 +74,11 @@ no actual cryptographic code. <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. @@ -211,7 +213,7 @@ get-mail, gwpop, pimp-1.0, pop-perl5-1.2, popc, popmail-1.6 and upop.<P> <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> @@ -508,7 +508,9 @@ int open_sink(struct query *ctl, struct msgblk *msg, 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 @@ -889,11 +891,14 @@ int close_sink(struct query *ctl, struct msgblk *msg, flag forward) } 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")); @@ -709,12 +709,18 @@ int SockClose(int sock) } #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 @@ -723,6 +729,8 @@ int SockClose(int sock) 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 */ @@ -144,7 +144,7 @@ rm -rf \$RPM_BUILD_ROOT %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 |