diff options
-rw-r--r-- | NEWS | 20 | ||||
-rw-r--r-- | driver.c | 10 | ||||
-rw-r--r-- | fetchmail-FAQ.html | 12 | ||||
-rw-r--r-- | fetchmail.man | 5 | ||||
-rw-r--r-- | pop3.c | 60 | ||||
-rw-r--r-- | rcfile_l.l | 1 |
6 files changed, 52 insertions, 56 deletions
@@ -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. @@ -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ß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"><esr@snark.thyrsus.com></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 @@ -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 */ @@ -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 %% |