diff options
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | design-notes.html | 12 | ||||
-rw-r--r-- | driver.c | 54 | ||||
-rw-r--r-- | fetchmail-FAQ.html | 22 | ||||
-rw-r--r-- | fetchmail.c | 2 | ||||
-rw-r--r-- | fetchmail.h | 8 | ||||
-rwxr-xr-x | fetchmailconf | 2 | ||||
-rw-r--r-- | report.c | 10 |
8 files changed, 64 insertions, 54 deletions
@@ -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 diff --git a/design-notes.html b/design-notes.html index 0501f520..8a48ba6f 100644 --- a/design-notes.html +++ b/design-notes.html @@ -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 <ceharris@mal.com>. 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"><esr@snark.thyrsus.com></A></ADDRESS> @@ -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++) { diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html index e9c7e2a7..3fd20524 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: 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 <ksturgeon@fbceg.org>; 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"><esr@snark.thyrsus.com></A></ADDRESS> diff --git a/fetchmail.c b/fetchmail.c index 1bdccaa2..88e1a311 100644 --- a/fetchmail.c +++ b/fetchmail.c @@ -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)); } diff --git a/fetchmail.h b/fetchmail.h index b7a048b6..5e5884a1 100644 --- a/fetchmail.h +++ b/fetchmail.h @@ -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 "" diff --git a/fetchmailconf b/fetchmailconf index aef75a72..090256ea 100755 --- a/fetchmailconf +++ b/fetchmailconf @@ -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() @@ -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 */ |