]> Pileus Git - ~andy/fetchmail/commitdiff
Ready to merge in Julian Haight's changes.
authorEric S. Raymond <esr@thyrsus.com>
Wed, 7 Jun 2000 00:22:01 +0000 (00:22 -0000)
committerEric S. Raymond <esr@thyrsus.com>
Wed, 7 Jun 2000 00:22:01 +0000 (00:22 -0000)
svn path=/trunk/; revision=2899

NEWS
README
design-notes.html
fetchmail-FAQ.html
fetchmail-features.html
sink.c
socket.c
specgen.sh

diff --git a/NEWS b/NEWS
index e996a5574deecc34f30bdd041dec12692d705b9b..0539dcbade06f97b951c1527cb95cfcadf1af2f0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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.
diff --git a/README b/README
index 5f967a14f6aabe35eb53a83b69455c117cebcff1..44fb3890bdeb17647bcc6d53c8af2e8b842a4c59 100644 (file)
--- a/README
+++ b/README
@@ -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
index 8586189fba87482a21e91e7a4ed9cb57b4609e0c..5e251b9becd26f803f07b4b99eed518106735c9e 100644 (file)
@@ -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">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
index 88011fb6419b8b137ec19bca51d32b215727de87..12a81729f2d6439f029bf5e4999eed8d5278195c 100644 (file)
@@ -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 &lt;James.Stevens@kyzo.com&gt; 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">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
index 794f3c1845965c46f0d07d08ecf05b8617de4dba..5f24bfcd8a476a73e046de9963c6adc5fdf40c4a 100644 (file)
@@ -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">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
diff --git a/sink.c b/sink.c
index e5b49955112faa7813906c411e56f290c1917b6b..419e0d33baea369f991089ea2aa6615db1fb78a3 100644 (file)
--- a/sink.c
+++ b/sink.c
@@ -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"));
index f95bae8171405b8e1d71a06ca8db0504f89d2484..8c64d5f2ef13c8cb933c35e5047624b349ba71b3 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -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 */
index 6d26de761d2a077975b1c49052cff9a2f7ff9366..868ba4dd42583a666b9ac8922d32e08a18ba3ef7 100755 (executable)
@@ -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