To Do: * The `reading message N ..(M bytes)' messages ideally should go through error(), but since they are built piecemeal, they go to stderr. What would be needed is an error() variant that didn't write a message until it got a trailing \n -- otherwise, if a syslog option were added, these messages would wind up as separate syslog calls (probably not the desired result). Release Notes: ------------------------------------------------------------------------------ fetchmail-2.3 () features -- * Full IMAP4 support -- we now probe for IMAP4 capabilities and use RFC822.PEEK when possible to avoid marking messages seen on the server before they are deleted. This improves recovery from sendmail and dropped-connection errors. * True stdio buffering of sockets at last, thanks to Cameron McPherson. This should be good for a significant throughput increase. * Almost all error messages that might be emitted in daemon mode now go through the error() subroutine. This is a first step towards allowing a daemon-mode fetchmail to use syslog. * SIGUSR1 is now used for wakeup rather than SIGHUP. This eliminates any possible confusion about fetchmail's behavior at logout time. * Received line parsing for envelope addresses now matches MX as well as canonical DNS addresses, making multidrop routing slightly more reliable. bugs -- * Fixed a FreeBSD compilation glitch involving SIGCLD (thanks to Masafumi NAKANE). * Added some port patches for NEXTSTEP. * SIGCHLD used everywhere now, not SIGCLD (this was strictly a cosmetic bug). * Prevent occasional hangs when fetchmail was terminated by signal. ------------------------------------------------------------------------------ fetchmail-2.2 (Mon Dec 9 00:15:01 EST 1996): features -- * If SMTP returns 571 (unsolicited mail refused) to a MAIL FROM, the address is excluded by the local sendmail's spam filter. Drop the mail. (This is the only circumstance in which mail is thrown away.) * The header your mailserver uses to convey envelope addresses is no longer wired to `X-Envelope-Header'. You can now specify it with the `envelope' option in .fetchmailrc. (This header is not RFC822 standard, and we have a report of an ISP using X-Frontier-To). bugs -- * Fixed a startup-time core dump introduced by 2.1's aka-list feature. * Fixed a bug in non-implicit mode (poll specified host), also due to aka. * Various minor portability fixes for Suns. Adding #include in fetchmail.c was the most significant one. * Avoid using -lresolv when possible, some Linux versions are badly broken. * Fix error in MX record handling that was causing multidrop problems. * Disable daemon SIGCHLD handler while an MDA is running, to avoid snafus. Thanks to Dave Bodenstab for spotting this obscure bug. 156 people on the contact list. ------------------------------------------------------------------------------ fetchmail-2.1 (Thu Nov 28 11:07:48 EST 1996): features -- * Added FAQ file. * Try to pass envelope From to the listener so that logging and procmail processing works right. If that fails, fall back on calling-user. * Added `set logfile = ' option to rc syntax. * We now use X-Envelope-To headers and parse the Received lines. If X-Envelope-To is found, OK; otherwise we look for a `Received for' line; either is treated as a true envelope address. If neither of these are found we go to the To/Cc/Bcc header addresses. * Added `*' as a wildcard option for multidrop to ... here. This will allow names to be local names to be passed through from a multi-drop box on a mailserver * Added an `aka' option to allow users to declare mailserver aliases at start of run, so DNS does less work. During a run, cache host matches on the aka list so no potential alias has to be DNS-checked more than once. A server being polled explicitly may be referred to by any of its aliaseses. bugs -- * Nalin Dahyabhai's fix patch for MIT Kerberos support. * Fixed a fencepost error in the APOP code that was causing a core dump. * Skip flag wasn't getting reset on poll hosts following a skipped one. * Include remote name in saved UID mappings so multiple POP accounts on the same server won't get their UIDs confused. 138 people on the contact list. ------------------------------------------------------------------------------ fetchmail-2.0 (Mon Nov 18 00:32:17 EST 1996): * Fix typo in setitimer call setup that caused obscure bugs under FreeBSD. * Accept Apparently-To if there is no To header. * Include Cameron McPherson's patch for handling multi-line SMTP responses. * Don't try to feed listener the header From any more. pl 1.9.9 (Mon Nov 11 10:40:14 EST 1996): * Accept Resent-From & Apparently-From a la RFC822. * Include file fixes for Solaris 2.5 and FreeBSD 2.2. * Improved error notification on SMTP and no-matching-local-address errors. * Delivery to multidrop mailboxes now always aborts on DNS errors. * B
<!doctype HTML public "-//W3O//DTD W3 HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>Fetchmail's Funniest Fan Mail</TITLE>
<link rev=made href=mailto:esr@snark.thyrsus.com>
<meta name="description" content="Fetchmail's funniest fan mail.">
<meta name="keywords" content="fetchmail"> 
</HEAD>
<BODY>
<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/08/05 04:20:56 $
</table>
<HR>

<H1 ALIGN=CENTER>Fetchmail's Funniest Fan Mail</H1>

<LISTING>
From felix@crowfix.com  Wed Jan  8 13:50:03 1997
Message-Id: <199701081745.JAA02194@crowfix.com>
From: Felix Morley Finch <felix@crowfix.com>
To: esr@thyrsus.com
Subject: fetchmail 2.5

What the heck is WRONG with you?  This thing installed and worked
RIGHT OUT OF THE BOX!  The sample .fetchmailrc file WAS TOO EASY TO
FOLLOW!  What are you, some kind of nut?




		 	       	   ))))
		 ::::	       	    ))))
		 ::::	       	     ))))
		       	   -----      ))))
		     	   -----      ))))
		 ::::	             ))))
		 ::::		    ))))
				   ))))

Honestly, I was not expecting it to be so doggone EASY to get it up
and running.  Sure surprised me!  Of course, it hasn't actually
retreived any mail yet, but that's my problem, not yours.

Thanks very very much.

-- 
     ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.
       Felix Finch, scarecrow repairer / felix@crowfix.com
     PGP = 9D 93 1E 78 5B D7 42 1C   95 4E 9E DD 3F 6F 21 98
I've found a solution to Fermat's Last Theorem but I see I've run out of room o
</LISTING>

(Um, I suppose I should add that he did in fact succeed in getting
fetchmail to retrieve his mail.)<P>

<HR>
<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/08/05 04:20:56 $
</table>

<P><ADDRESS>Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;</ADDRESS>
</BODY>
</HTML>
o UNIX From line is found, popclient will now synthesize a correct line from the RFC822 From line. * It is now possible to specify the host TCP/IP port number to connect to. popclient-3.05 (Thu Aug 22 22:59:04 EDT 1996): * Experimental support for RFC1725-compliant POP servers with the UIDL command and without LAST. popclient-3.04 (Wed Aug 21 00:22:44 EDT 1996): * Logfile option works. popclient-3.03: * Minor bug fixes for password querying and redirection to stdout. popclient-3.02 (Fri Jul 19 11:37:56 EDT 1996): * Correct buggy processing of nokeep/noflush/fetchall. * Fix buggy -mda option processing. * Added -N/--norewrite option. * Delivery via sendmail now works in non-daemon mode. popclient-3.01 (Mon Jul 1 13:33:51 EDT 1996): * Fixed a lexical analyzer bug in quoted-string processing. * Fixed a bug in dump_options that caused username to be displayed incorrectly. * The lock assertion code was in the wrong place relative to the daemonize() call. popclient-3.0 (Fri Jun 28 11:33:34 EDT 1996): Eric S. Raymond hacked extensively on 3.0b6 and took over the package with the consent of Carl Harris, the original implementor. Some of the 3.0 feature additions were inspired by Sean Oh's fetchpop 1.8 code, and a few use code directly lifted from fetchpop. Here are my (Eric's) change notes: CONFIGURATION AND BUILDING * The autoconfigure script incorrectly assumed that all Linuxes use /usr/bin/deliver. Under Linux it now checks for both /usr/bin/delivermail and /bin/mail. * I added a distribution-maker production to Makefile.in. OPTIONS AND COMMAND LINE * I have removed the -p command-line option. Given that there's a run control facility there is no excuse for encouraging users to put plaintext passwords in scripts which might be readable. * Calling popclient with no arguments now causes it to query or operate on every host in the run control file. * I have made --version more useful by having it dump the computed connection options for each server specified. * The user can now explicitly set an MDA (such as procmail) with the new option -m or -mda. Various possible MDAs are listed on the man page. POPRC FILE SYNTAX * The run control file lexer now supports "-enclosed strings which may contain whitespace. * I added a --yydebug option to enable run control parser debugging at runtime if the parser was generated with --debug. It's not documented. * You may now have a `defaults' entry in the run control file which sets overrideable values for other entries. See the man page for details. * It is now possible to set keep, flush and fetchall in your run control file. * Fixed incorrect numbering of source lines in run control file parse error messages. * The configure.in specification no longer uses the obsolete AC_TRY_COMPILE macro (it uses AC_TRY_LINK instead). MAILBOX LOCKING * I have added mandatory locking of mailbox files where supported. This will cover Linux systems, in particular. * The default behavior is now to do lock-protected append on the user's system mailbox rather than using delivermail or some other MDA. (This is a performance hack.) * The autoconfigure script now looks for standard mail locations. The default mail delivery agent is used only if it can't find a mail spool directory in the standard places. FUNCTIONAL ENHANCEMENTS * When using POP3, message headers are edited so that replies won't foo up. Anything that looks like a mail ID local to the POP host gets @ and the pop servername attached to it before being appended to the user's mailbox or passed to an MDA. * I have implemented daemon mode. * I have added a lock check to ensure that there is only one popclient running per user, and a --quit option to kill the currently running one. DOCUMENTATION * All changes and feature additions have been tested in actual use and are documented on the man page. * I have turned the comments in the sample run control file into a new manual section documenting the file format. MISCELLANEOUS BUG FIXES * I fixed some de-initialization bugs in pop2.c and pop3.c that led to fd leaks (these became painfully obvious when I tested daemon mode!). * I've fixed the flaky parser error messages. They turned out to be due to a misdeclaration of yytext. These are Carl Harris's change notes from previous releases: 3.0b5 o "From " header fix in pop2.c and pop3.c o Surpress "..." output when --stdout option specified in pop3.c 3.0b4 o alloca fix. o various diagnostic/informational message fixes. 3.0b3 o Support for retrieving only new messages from maildrop when using POP3. o Support for retrieving only the first n lines of each message when using POP3. o APOP authentication support. o Buffered socket input. 3.0b2 This is a "new features" release. o support for .poprc file. o GNU-style long options. o fixed passwords appearing in 'ps' output o support for multiple servers on one command line 3.0b1 This is mostly a test of the autoconfigure integration. Among the functions performed by the new configure script, is the ability to detect known system types, configures the mail delivery agent (MDA) correctly. This should permanently solve the problem of using something other than an MDA for mail delivery (which continues to plague Linux slackware 1.2.9). For this beta, please check the values of MDA_PATH and MDA_ARGS carefully. They should match the values found in your sendmail.cf file on the line which begins with "Mlocal". Other changes from popclient version 2.21: o no longer uses getpass() from the C library. The internal getpassword() function allows the use of long passwords. o integrated GNU getopt() for long options. Long option names will appear in a future beta. o Several compiler warnings fixed. o Fixed problems related to missing include files in Solaris port.