aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS20
-rw-r--r--driver.c10
-rw-r--r--fetchmail-FAQ.html12
-rw-r--r--fetchmail.man5
-rw-r--r--pop3.c60
-rw-r--r--rcfile_l.l1
6 files changed, 52 insertions, 56 deletions
diff --git a/NEWS b/NEWS
index e735ad9a..58c0a0d2 100644
--- a/NEWS
+++ b/NEWS
@@ -3,7 +3,14 @@
* Generate bounce messages when delivery is refused. See RFC1891, RFC1892.
* Use the libmd functions for md5 under Free BSD? (Low priority.)
* More log levels?
-* Allow an explicit "append" option to specify what reqwrite appends?
+* Allow an explicit "append" option to specify what reqwrite appends? (For
+ when user's pop3 host isn't the same as his SMTP host.)
+* Add logic to check whether *all* entries have `no dns' in them and allow
+ fetchmail to proceed in that case even if dns is down.
+* Periodically check for listener-up and croak gracefully if it's not.
+* Rewrite maps "From: John Smith (Systems) <jsmith@domain>" to
+ "From: John Smith@my.pop.server (Systems) <jsmith@domain>". Is this
+ just GIGO, or should we try to cope
Other TO-DO items:
@@ -18,8 +25,15 @@ fetchmail-4.3.3 ()
* Fixed expansion of MDA %-escapes (thanks Wez Furlong <wjf103@york.ac.uk>).
* Deal with the possibility that IMAP NOOP issued on rescan might not get an
EXISTS response (thanks to Jonathan T. Agnew <jtagnew@amherst.edu>).
-
-There are 272 people on fetchmail-friends and 73 on fetchmail-announce.
+* contrib/runfetchmail copyright now meets Debian Free Software Guidelines.
+* RPA code is changed to track a change I'm told CompuServe made on the weekend
+ of November 15.
+* Set %p 3000 in the lexer source to fix the Solaris 2.4 build.
+* Changed the summary status message emitted by a foreground run. The old
+ user@host produced odd results under some virtual-domain setups, so it's
+ "user at host" now.
+
+There are 281 people on fetchmail-friends and 83 on fetchmail-announce.
fetchmail-4.3.2 (Wed Oct 22 20:30:14 EDT 1997)
* More slow-UIDL patches from Wolfgang Wander.
diff --git a/driver.c b/driver.c
index f6fd799f..317e7594 100644
--- a/driver.c
+++ b/driver.c
@@ -1595,27 +1595,27 @@ const struct method *proto; /* protocol method table */
/* show user how many messages we downloaded */
if (idp->id)
- (void) sprintf(buf, "%s@%s:%s",
+ (void) sprintf(buf, "%s at %s (folder %s)",
ctl->remotename, ctl->server.truename, idp->id);
else
- (void) sprintf(buf, "%s@%s", ctl->remotename, ctl->server.truename);
+ (void) sprintf(buf, "%s at %s", ctl->remotename, ctl->server.truename);
if (outlevel > O_SILENT)
if (count == -1) /* only used for ETRN */
error(0, 0, "Polling %s", ctl->server.truename);
else if (count != 0)
{
if (new != -1 && (count - new) > 0)
- error(0, 0, "%d message%s (%d seen) at %s.",
+ error(0, 0, "%d message%s (%d seen) for %s.",
count, count > 1 ? "s" : "", count-new, buf);
else
- error(0, 0, "%d message%s at %s.",
+ error(0, 0, "%d message%s for %s.",
count, count > 1 ? "s" : "", buf);
}
else
{
/* these are pointless in normal daemon mode */
if (pass == 1 && (poll_interval == 0 || outlevel == O_VERBOSE))
- error(0, 0, "No mail at %s", buf);
+ error(0, 0, "No mail for %s", buf);
}
/* very important, this is where we leave the do loop */
diff --git a/fetchmail-FAQ.html b/fetchmail-FAQ.html
index 76010ebd..c8583211 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: 1997/11/18 18:25:52 $
+<td width="30%" align=right>$Date: 1997/11/22 07:26:00 $
</table>
<HR>
<H1>Frequently Asked Questions About Fetchmail</H1>
@@ -800,14 +800,6 @@ http://www.informatik.uni-kiel.de/%7Eca/email/check.html</a><p>
This one is by Claus A&szlig;man, who has documented more of sendmail then
I can digest!
-The actual setup I used though was by David Begley, who has put together
-a WWW page describing how to quickly implement these rules yourself.<p>
-
-<a href="http://www.nepean.uws.edu.au/users/david/pe/blockmail.html">
-http://www.nepean.uws.edu.au/users/david/pe/blockmail.html</a><p>
-
-David's pages could be moving shortly. I will post an update if it happens.<p>
-
Remember, when copying these rulesets off the web, that there are tabs
embedded in them, that may not be preserved. You <em>must</em> reintroduce
these tabs into the rules to make them work properly. <p>
@@ -1633,7 +1625,7 @@ will look right.<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: 1997/11/18 18:25:52 $
+<td width="30%" align=right>$Date: 1997/11/22 07:26:00 $
</table>
<P><ADDRESS>Eric S. Raymond <A HREF="mailto:esr@thyrsus.com">&lt;esr@snark.thyrsus.com&gt;</A></ADDRESS>
diff --git a/fetchmail.man b/fetchmail.man
index e1c5cbe7..faceea15 100644
--- a/fetchmail.man
+++ b/fetchmail.man
@@ -130,7 +130,7 @@ mailserver. This option does not work with ETRN.
Delete retrieved messages from the remote mailserver. This
option forces retrieved mail to be deleted. It may be useful if
you have specified a default of \fBkeep\fR in your
-\fI.fetchmailrc\fR. This option is forced on with ETRN.
+\&\fI.fetchmailrc\fR. This option is forced on with ETRN.
.TP
.B \-F, --flush
POP3/IMAP only. Delete old (previously retrieved) messages from the mailserver
@@ -956,7 +956,8 @@ which DNS tells it are aliases of the mailserver. See the discussion
of `dns', `localdomains', and `aka' for details on how matching
addresses are handled. If \fIfetchmail\fR cannot match any mailserver
usernames or localdomain addresses, the default recipient is the
-calling user.
+calling user (as set by the USER or LOGNAME variable in the
+environment; you could use this to redirect to an alias like postmaster).
.PP
The `dns' option (normally on) controls the way addresses from
multidrop mailboxes are checked. On, it enables logic to check each
diff --git a/pop3.c b/pop3.c
index 0cdf3179..a8808836 100644
--- a/pop3.c
+++ b/pop3.c
@@ -104,44 +104,32 @@ int pop3_getauth(int sock, struct query *ctl, char *greeting)
case P_POP3:
ok = gen_transact(sock, "USER %s", ctl->remotename);
- if (ok != 0)
#ifdef RPA_ENABLE
- /* if CompuServe rejected our userid, try RPA */
- if (strstr(greeting, "csi.com"))
- {
- /* AUTH command should return a list of available mechanisms */
- if (gen_transact(sock, "AUTH") == 0)
- {
- char buffer[10];
- flag has_rpa = FALSE;
- flag authenticated = FALSE;
-
- while ((ok = gen_recv(sock, buffer, sizeof(buffer))) == 0)
- {
-
- if (buffer[0] == '.')
- break;
- if (strncasecmp(buffer, "rpa", 3) == 0)
- has_rpa = TRUE;
- }
- if(has_rpa) {
- if (POP3_auth_rpa(ctl->remotename,
- ctl->password, sock) == PS_SUCCESS)
- {
- authenticated = TRUE;
- break;
- }
- }
- if (authenticated) {
- /* we could return(PS_SUCCESS) here */
- ok = PS_SUCCESS;
- break;
- }
- }
- }
- else /* not a CompuServe host, fail in the ordinary way */
+ /*
+ * CompuServe has changed its RPA behavior. Used to be they didn't
+ * accept USER, but I'm told this changed in mid-November.
+ */
+ if (strstr(greeting, "csi.com"))
+ {
+ /* AUTH command should return a list of available mechanisms */
+ if (gen_transact(sock, "AUTH") == 0)
+ {
+ char buffer[10];
+ flag has_rpa = FALSE;
+
+ while ((ok = gen_recv(sock, buffer, sizeof(buffer))) == 0)
+ {
+ if (buffer[0] == '.')
+ break;
+ if (strncasecmp(buffer, "rpa", 3) == 0)
+ has_rpa = TRUE;
+ }
+ if (has_rpa && !POP3_auth_rpa(ctl->remotename,
+ ctl->password, sock))
+ return(PS_SUCCESS);
+ }
+ }
#endif /* RPA_ENABLE */
- break;
#if defined(HAVE_LIBOPIE) && defined(OPIE_ENABLE)
/* see RFC1938: A One-Time Password System */
diff --git a/rcfile_l.l b/rcfile_l.l
index 4a612f87..3184da1b 100644
--- a/rcfile_l.l
+++ b/rcfile_l.l
@@ -17,6 +17,7 @@ int prc_lineno = 1;
/* this doesn't work with Linux lex, see the INSTALL file */
%o 6000
%a 4000
+%p 3000
%%