aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1999-01-01 18:49:10 +0000
committerEric S. Raymond <esr@thyrsus.com>1999-01-01 18:49:10 +0000
commitcd46961ec2a691ad01a60af6a40314ded4c27e88 (patch)
tree56feb457e8bacf2a1f8264858b95ff7d1277ad4d
parent74365ea56ca4d32a2e89410ef407327044096373 (diff)
downloadfetchmail-cd46961ec2a691ad01a60af6a40314ded4c27e88.tar.gz
fetchmail-cd46961ec2a691ad01a60af6a40314ded4c27e88.tar.bz2
fetchmail-cd46961ec2a691ad01a60af6a40314ded4c27e88.zip
This version is good.
svn path=/trunk/; revision=2309
-rw-r--r--NEWS8
-rw-r--r--design-notes.html12
-rw-r--r--driver.c54
-rw-r--r--fetchmail-FAQ.html22
-rw-r--r--fetchmail.c2
-rw-r--r--fetchmail.h8
-rwxr-xr-xfetchmailconf2
-rw-r--r--report.c10
8 files changed, 64 insertions, 54 deletions
diff --git a/NEWS b/NEWS
index 48266776..b6e3052e 100644
--- 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
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 &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>
diff --git a/driver.c b/driver.c
index 4b649ced..b9849062 100644
--- 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++)
{
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 &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>
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()
diff --git a/report.c b/report.c
index b684ae21..837aeb3f 100644
--- 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 */