]> Pileus Git - ~andy/fetchmail/commitdiff
This version is good.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 1 Jan 1999 18:49:10 +0000 (18:49 -0000)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 1 Jan 1999 18:49:10 +0000 (18:49 -0000)
svn path=/trunk/; revision=2309

NEWS
design-notes.html
driver.c
fetchmail-FAQ.html
fetchmail.c
fetchmail.h
fetchmailconf
report.c

diff --git a/NEWS b/NEWS
index 482667769d6712b41ea37dcdcc35016c9c886d97..b6e3052e93cdebc2b1f4ae532c75481a730ec1ca 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
                                Release Notes:
 
+fetchmail-4.7.4 ():
+* Error message cleanup.
+* HTML cleanup in design notes and FAQ, thanks to Byrial Jensen.
+* Don't get message sizes when --check is on.
+* Supply our own strerror() if system doesn't have one.
+
+There are 248 people on fetchmail-friends and 336 on fetchmail-announce.
+
 fetchmail-4.7.3 (Thu Dec 31 11:54:01 EST 1998):
 * Added new FAQ item G11 and added material to R1.
 * Do a full antispam check on the EOM response in case the local MTA does
index 0501f520dc22e501cfa3d9ec16180f47587948fc..8a48ba6f3f9519ee0b487fd4375ac63d17055643 100644 (file)
@@ -2,7 +2,7 @@
 <HTML>
 <HEAD>
 <TITLE>Design notes on fetchmail</TITLE>
-<link rev=made href=mailto:esr@snark.thyrsus.com>
+<link rev=made href="mailto:esr@snark.thyrsus.com">
 <meta name="description" content="Design notes on fetchmail.">
 <meta name="keywords" content="fetchmail, POP, POP2, POP3, IMAP, remote mail"> 
 </HEAD>
@@ -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: 1998/12/30 07:49:33 $
+<td width="30%" align=right>$Date: 1999/01/01 18:49:07 $
 </table>
 <HR>
 <H1 ALIGN=CENTER>Design Notes On Fetchmail</H1>
@@ -22,7 +22,7 @@ beginning to end.<P>
 <H1>History</H1>
 
 A direct ancestor of the fetchmail program was originally authored
-(under the name popclient) by Carl Harris <ceharris@mal.com>. I took
+(under the name popclient) by Carl Harris &lt;ceharris@mal.com&gt;. I took
 over development in June 1996 and subsequently renamed the program
 `fetchmail' to reflect the addition of IMAP support.  In early
 November 1996 Carl officially ended support for the last popclient
@@ -188,7 +188,7 @@ Fortunately, I've only seldom seen a server that incurred significant
 wait time on an individual response.  I judge the gain from this not
 worth the hideous complexity increase it would require in the code.<P>
 
-<H2>Multiple concurrent instances of fetchmail</H1>
+<H2>Multiple concurrent instances of fetchmail</H2>
 
 Fetchmail locking is on a per-invoking-user because finer-grained
 locks would be really hard to implement in a portable way.  The
@@ -247,7 +247,7 @@ careful to preserve.<P>
    nameserver handy.  If not, the poll is skipped. If DNS crashes during a
    poll, the error return from the next nameserver lookup aborts message
    delivery and ends the poll.  The daemon mode will then quietly spin until
-   DNS comes up again, at which point it will resume delivering mail.<P>
+   DNS comes up again, at which point it will resume delivering mail.
 </OL>
 
 When I designed this support, I was terrified of doing anything that could 
@@ -530,7 +530,7 @@ all shaped the design in one way or another.<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: 1998/12/30 07:49:33 $
+<td width="30%" align=right>$Date: 1999/01/01 18:49:07 $
 </table>
 
 <P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
index 4b649ced8b6de6b2eff6dc1c028c44b51bd73ee6..b9849062cc204d75c585c6047d08fb39df99644b 100644 (file)
--- a/driver.c
+++ b/driver.c
@@ -1651,33 +1651,6 @@ const struct method *proto;      /* protocol method table */
                if (ok != 0)
                    goto cleanUp;
 
-               /* 
-                * We need the size of each message before it's
-                * loaded in order to pass via the ESMTP SIZE
-                * option.  If the protocol has a getsizes method,
-                * we presume this means it doesn't get reliable
-                * sizes from message fetch responses.
-                */
-               if (count > 0 && proto->getsizes)
-               {
-                   int i;
-
-                   xalloca(msgsizes, int *, sizeof(int) * count);
-                   for (i = 0; i < count; i++)
-                       msgsizes[i] = -1;
-
-                   ok = (proto->getsizes)(sock, count, msgsizes);
-                   if (ok != 0)
-                       goto cleanUp;
-
-                   if (bytes == -1)
-                   {
-                       bytes = 0;
-                       for (i = 0; i < count; i++)
-                           bytes += msgsizes[i];
-                   }
-               }
-
                /* show user how many messages we downloaded */
                if (idp->id)
                    (void) sprintf(buf, _("%s at %s (folder %s)"),
@@ -1755,6 +1728,33 @@ const struct method *proto;      /* protocol method table */
                     */
                    force_retrieval = !peek_capable && (ctl->errcount > 0);
 
+                   /* 
+                    * We need the size of each message before it's
+                    * loaded in order to pass via the ESMTP SIZE
+                    * option.  If the protocol has a getsizes method,
+                    * we presume this means it doesn't get reliable
+                    * sizes from message fetch responses.
+                    */
+                   if (proto->getsizes)
+                   {
+                       int     i;
+
+                       xalloca(msgsizes, int *, sizeof(int) * count);
+                       for (i = 0; i < count; i++)
+                           msgsizes[i] = -1;
+
+                       ok = (proto->getsizes)(sock, count, msgsizes);
+                       if (ok != 0)
+                           goto cleanUp;
+
+                       if (bytes == -1)
+                       {
+                           bytes = 0;
+                           for (i = 0; i < count; i++)
+                               bytes += msgsizes[i];
+                       }
+                   }
+
                    /* read, forward, and delete messages */
                    for (num = 1; num <= count; num++)
                    {
index e9c7e2a7540d5724eb4f6a6302fad10d704dbe90..3fd20524e3f1518ca8b1956b385fd8b4657e1c8d 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: 1998/12/30 18:15:59 $
+<td width="30%" align=right>$Date: 1999/01/01 18:49:09 $
 </table>
 <HR>
 <H1>Frequently Asked Questions About Fetchmail</H1>
@@ -98,7 +98,7 @@ IP address?</a><br>
 
 <a href="#D1">D1. I think I've set up fetchmail correctly, but I'm not getting any mail.</a><br>
 <a href="#D2">D2. All my mail seems to disappear after a dropped connection.</a><br>
-<a href="#D3">D3. Mail that was being fetched when I interrupted my fetchmail seems to have been vanished.</a></br>
+<a href="#D3">D3. Mail that was being fetched when I interrupted my fetchmail seems to have been vanished.</a><br>
 
 <h1>Multidrop-mode problems:</h1>
 
@@ -107,9 +107,9 @@ IP address?</a><br>
 <a href="#M3">M3. I tried to run a mailing list using multidrop, and I have a mail loop!</a><br>
 <a href="#M4">M4. My multidrop fetchmail seems to be having DNS problems.</a><br>
 <a href="#M5">M5. I'm seeing long DNS delays before each message is processed.</a><br>
-<a href="#M6">M6. How do I get multidrop mode to work with majordomo?</a>
+<a href="#M6">M6. How do I get multidrop mode to work with majordomo?</a><br>
 <a href="#M7">M7. Multidrop mode isn't parsing envelope addresses from
-my Received headers as it should.</a>
+my Received headers as it should.</a><br>
 
 <h1>Mangled mail:</h1>
 
@@ -474,7 +474,7 @@ Only one fetchmail option interacts directly with your IP address,
 `<code>interface</code>'.  This option can be used to set the gateway
 device and restrict the IP address range fetchmail will use. Such a
 restriction is sometimes useful for security reasons, especially on
-multihomed sites.  See <a href="http:#C3">C3</a>.<P>
+multihomed sites.  See <a href="#C3">C3</a>.<P>
 
 I recommend against trying to set up the <code>interface</code> option
 when initially developing your poll configuration -- it's never
@@ -882,7 +882,7 @@ filter rules.  The human-readable form of the database is at
 <tt>/etc/mail/deny</tt>. The database itself is at
 <tt>/etc/mail/deny.db</tt>.<P>
 
-<P>The table itself uses email addresses, domain names, and network
+The table itself uses email addresses, domain names, and network
 numbers as keys.  For example,</P>
 <PRE>
 spammer@aol.com         REJECT
@@ -1309,7 +1309,7 @@ and set the makefile up to link it.  You can also specify a directory
 containing the Rconnect library.<p>
 
 <hr>
-<h2><a name="#S6">S6. How can I use fetchmail with geocities POP3 servers?</a></h2>
+<h2><a name="S6">S6. How can I use fetchmail with geocities POP3 servers?</a></h2>
 
 Nathan Cutler reports that the the mail.geocities.com POP3 servers
 fail to include the first Received line of the message in the send to 
@@ -1615,7 +1615,7 @@ match what you sent, then fetchmail or something on the server is
 broken.<p>
 
 <hr>
-<h2><a name="#R3">R3. Fetchmail dumps core when given an invalid rc file.</a></h2>
+<h2><a name="R3">R3. Fetchmail dumps core when given an invalid rc file.</a></h2>
 
 This is usually reported from AIX or Ultrix, but has even been known
 to happen on Linuxes without a recent version of <code>flex</code>
@@ -1899,7 +1899,7 @@ says:<P>
 <BLOCKQUOTE>
 I use this scheme with 2 virtual domains and the default ISP 
 user+domain and service about 30 mail accounts + majordomo on my 
-inside pop3 server with fetchmail and sendmail 8.83<P>
+inside pop3 server with fetchmail and sendmail 8.83
 </BLOCKQUOTE>
 
 <hr>
@@ -1931,7 +1931,7 @@ When fetchmail parses a Received line that looks like
 <pre>
 Received: from send103.yahoomail.com (send103.yahoomail.com [205.180.60.92])
     by iserv.ttns.net (8.8.5/8.8.5) with SMTP id RAA10088
-    for <ksturgeon@fbceg.org>; Wed, 9 Sep 1998 17:01:59 -0700
+    for &lt;ksturgeon@fbceg.org&gt;; Wed, 9 Sep 1998 17:01:59 -0700
 </pre>
 
 it checks to see if `iserv.ttns.net' is a DNS alias of your mailserver
@@ -2244,7 +2244,7 @@ Re-ordering messages is a user-agent function, anyway.<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: 1998/12/30 18:15:59 $
+<td width="30%" align=right>$Date: 1999/01/01 18:49:09 $
 </table>
 
 <P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
index 1bdccaa27ce61bf967ef3e62366ba97954485e35..88e1a3112dde78fb758aa327eb04ea2d88c5eea7 100644 (file)
@@ -1227,7 +1227,7 @@ static int query_host(struct query *ctl)
        time_t now;
 
        time(&now);
-       error(0, -1, _("fetchmail: %s querying %s (protocol %s) at %s"),
+       error(0, -1, _("%s querying %s (protocol %s) at %s"),
            VERSION,
            ctl->server.pollname, showproto(ctl->server.protocol), ctime(&now));
     }
index b7a048b6182960a3b2190f72a96fa31f776f80a0..5e5884a141870a6a83f0fa186f3df41fde93f28c 100644 (file)
@@ -490,7 +490,13 @@ void itimerthread(void*);
    find all of our lock files and stuff. */
 #define getcwd _getcwd2
 #define chdir _chdir2
-#endif
+#endif /* _EMX_ */
+
+# if HAVE_STRERROR
+#  ifndef strerror             /* On some systems, strerror is a macro */
+char *strerror ();
+#  endif
+# endif /* HAVE_STRERROR */
 
 #define STRING_DISABLED        (char *)-1
 #define STRING_DUMMY   ""
index aef75a72aa227bfb51611ecdabf75a76f44edaf8..090256ea70732718213faae4321c3f3859ef46a9 100755 (executable)
@@ -690,6 +690,8 @@ class ConfigurationEdit(Frame, MyWidget):
         if fm:
             fm.write("# Configuration created %s by fetchmailconf\n" % time.ctime(time.time()))
             fm.write(`self.configuration`)
+            if self.outfile:
+                fm.close()
             if fm != sys.stdout:
                 os.chmod(self.outfile, 0600)
             self.quit()
index b684ae2174211d70939ba0a4270c6fc41abe7627..837aeb3fdf07b6165f86c2f7be0e22083556b31e 100644 (file)
--- a/report.c
+++ b/report.c
@@ -90,13 +90,8 @@ unsigned int error_message_count;
    name of the executing program.  */
 extern char *program_name;
 
-# if HAVE_STRERROR
-#  ifndef strerror             /* On some systems, strerror is a macro */
-char *strerror ();
-#  endif
-# else
-static char *
-private_strerror (errnum)
+# if !HAVE_STRERROR && !defined(strerror)
+char *strerror (errnum)
      int errnum;
 {
   extern char *sys_errlist[];
@@ -106,7 +101,6 @@ private_strerror (errnum)
     return sys_errlist[errnum];
   return _("Unknown system error");
 }
-#  define strerror private_strerror
 # endif        /* HAVE_STRERROR */
 #endif /* _LIBC */