- NEWS
+ Release Notes:
-To-do list:
+fetchmail-1.9 (Mon Oct 21 13:42:07 EDT 1996):
-Option to enable EMACS-like user folder versioning on each run.
+features --
-The IMAP support is naive. Chris Newman, one of the IMAP maintainers,
-criticized it as follows:
-------------------------------- CUT HERE -----------------------------------
-On Wed, 18 Sep 1996, Eric S. Raymond wrote:
-> 1. I do one one SELECT, at the beginning of the fetch.
->
-> 2. I assume that I can pick an upper bound on message numbers from the EXISTS
-> reponse.
+* It is now possible to specify multiple local recipients by giving a list
+ of names following "to" or "is". Each local recipient is checked for in the
+ To:, Cc: and Bcc: headers of each message; if a match is found, the message
+ is sent to that local recipient. This makes it possible to do mailing
+ lists and multidrop mailboxes. See the man page for details (and note
+ the caveat in the BUGS AND KNOWN PROBLEMS section).
-Correct.
+* It is possible to specify a size limit for retrieved messages. I resisted
+ doing this because I don't want fetchmail to be in the filtering game, but
+ too many Europeans begged for it because their telecomms monopolies are
+ price-gouging them on per-second phone charges. I will ignore, or be
+ extremely rude to, anyone who takes this feature as a license to beg me
+ for kill files or any other form of content-based filtering. Use
+ procmail on your server if you want that.
-> 3. If there is an UNSEEN nnn trailer on the OK response to SELECT, I assume
-> that the unseen messages have message numbers which are the nnn consecutive
-> integers up to and including the upper bound.
->
-> 4. Otherwise, if the response included RECENT nnn, I assume that the unseen
-> messages have message numbers which are the nnn consecutive integers up to
-> and including the upper bound.
+* If you use an MDA, the internal changes to support multi-drop mailboxes
+ require that you *remove* the %s at the end of your MDA string. Local
+ delivery addresses will be appended to the end of the command in the
+ obvious way.
-These will only work if your client is the only client that accesses the
-INBOX. There is no requirement that the UNSEEN and RECENT messages are at
-the end of the folder in general.
+* The first message from a query now includes the number of old messages
+ when this can be determined (that is not under POP2).
-If you want to present all UNSEEN messages and flag all the messages you
-download as SEEN, you could do a SEARCH UNSEEN and just fetch those
-messages.
+* POP3 UID support really works now. I make rude noises at the POP3 mavens
+ who forced us to this with RFC1725, but thank Al Longyear <longyear@sii.com>
+ for fixing and verifying my slightly buggy implementation.
-However, the proper thing to do if you want to present the messages when
-disconnected from the server is to use UIDs. To do this, you remember the
-highest UID you have (you can initialize to 0), and fetch everything with
-a higher UID. Ideally, you shouldn't cause the SEEN flag to be set until
-the user has actually seen the message. This requires STORE +FLAGS SEEN
-for those messages which have been seen since the last update.
+* Kerberos support ditto. Thanks to Chris Hanson <cph@martigny.mit.edu>
+ for this feature.
-The key thing to remember is that in IMAP the server holds the
-authoratative list of messages and the client just holds a cache. This is
-a very different model from POP.
-------------------------------- CUT HERE -----------------------------------
+* When there's a daemon fetchmail in background, running fetchmail in
+ foreground without --quit now tries to wake the daemon and force it
+ to poll immediately.
-IMAP extensions for secure challenge-response.
+* Add option to set server nonresponse timeout.
-Recode POP2 to use the same driver/method strategy as POP3/IMAP, so
-all three protocols will be able to forward messages through the generic
-driver to SMTP. (This requires that we find a POP2 server to test with.)
+* Password is no longer displayed in verbose mode.
-3.2 (Mon Sep 23 13:29:46 EDT 1996):
+* You may use C-like escapes to embed non-printables in passwords and other
+ strings. Fetchmail -V will display them in a printable form.
+
+* Program now tries to set itself to the ID of the local user before
+ running an MDA, and reset to root afterwards. This will work on
+ any system with seteuid(2), including Linux and the BSDs.
+
+bugs --
+
+* Default user name to deliver to is now the calling user, unless
+ program is running as root in which case it is the remote user name
+ (default can be overridden with an `is' or `to' declaration).
+ In versions up to 1.7 it was the calling user; in 1.8 the remote
+ user ID. This created some confusion.
+
+* Accept RFC822 headers with a tab after the colon.
+
+* You now see a "skipping" message for each message not retrieved.
+
+* --keep no longer overrides --flush.
+
+* Rewrite "To: jrh (J. Random Hacker)" correctly.
+
+* Find "nnn octets" anywhere on a POP3 server's RETR response line.
+
+* Fixed various bugs in --check. It now reports PS_SUCCESS only if
+ there is new mail waiting.
+
+* Under Linux, if fetchmail is run in daemon mode with the network
+ inaccessible, each poll leaves a socket allocated but in CLOSE state
+ (this is visible in netstat(1)'s output). These sockets aren't
+ garbage-collected until fetchmail exits. When whatever kernel table
+ is involved fills up, fetchmail can no longer run even if the network is up.
+ To avoid this, fetchmail now commits seppuku after some number of
+ unsuccessful socket opens.
+
+* Don't try using FLAGS.SILENT, some allegedly IMAP2bis servers seem to
+ choke on it.
+
+fetchmail-1.8 (Fri Oct 11 15:08:10 EDT 1996):
+
+features --
+
+* Use kill(0, pid) to make lock handling a bit smarter (thanks to Johan
+ Vromans <JVromans@squirrel.nl> for the suggestion).
+
+* Arrange for timeout of client after 5 minutes if connection to server is
+ dropped (thanks to Gaspar Sinai <gsinai@gol.com>).
+
+* All pretensions to RPOP support have been dropped. Yes, this is a feature,
+ RPOP is very vulnerable to spoofing! Use APOP instead.
+
+* Normal start-of-read message now displays the byte (excuse me, "octet")
+ size of the message. Yes, 3schwend, you can stop noodging me now :-).
+
+* Normal progress notifications now take only 1 line per message, not 2.
+
+* Linux packagers: building fetchmail now generates an RPM specfile for it.
+
+* Kerberos support via KPOP protocol (thanks to Chris Hanson).
+
+* New --check option for asking server whether there is mail without
+ actually retrieving or deleting it.
+
+* UID support is back by popular demand. Bletch.
+
+* Permit spaces in IMAP passwords (ship them as quoted strings).
+
+bugs --
+
+* Fix buggy getopt specification of P and p options.
+
+* Fix uninitialized-variable bug that was hanging second IMAP queries.
+
+fetchmail-1.7 (Tue Oct 8 11:32:44 EDT 1996):
+
+features --
+
+* Noise words for rcfile syntax make English-like syntax possible.
+
+* Make configure more GNUish; it understands --prefix and other standard
+ autoconf options now (see INSTALL for details)
+
+* Better documentation of the new .fetchmailrc extensions and the slightly
+ stricter rules for ordering options.
+
+* Expanded installation instructions including how to test for correct
+ operation without losing mail to misconfigured MDAs, alias loops, etc.
+
+bugs --
+
+* You may have to rearrange the order of options in your .fetchmailrc.
+ The grammar for the new multiple-user syntax requires that server
+ options (protocol and port) come before any user options.
+
+* Fixed core dump bug that was screwing configurations with no .fetchmailrc.
+
+* Fixed broken 'p' option.
+
+* `norewrite' and `rewrite' in .fetchrc were the inverses of what they
+ should have been (but the rewrite default was set correctly).
+
+fetchmail-1.6 (Sun Oct 6 20:55:09 EDT 1996):
+
+features --
+
+* You can now have multiple entries for the same server but different
+ users, and the right thing will happen (each user's mailbox will
+ be queried). Even better, you can now specify multiple users in a
+ single server entry.
+
+* Restore --mda, seems some people either can't run a port 25 listener
+ due to bizarre dynamic-SLIP problems, or won't for security reasons.
+
+* When delivering to an MDA, print error and die (before deleting the message!)
+ if the MDA returns nonzero status. Better safe than sorry.
+
+* If fetchmail is called through a link named `popclient' it will look in
+ ~/.poprc for a run control file. Unless that file includes the deleted
+ options limit and localfolder this should actually work.
+
+bug fixes --
+
+* Makefile fixes for correct linking on Sparcs and avoiding duplication of
+ the md5 files (leading to harmless install-time error messages).
+
+* Fix a bonehead coding error in pop3_delete() that was masked by the
+ Intel register architecture. *blush* Thanks to Jay Anderson
+ <anderson@optical.bms.com>.
+
+* Fix bug that prevented SMTP from being specified on the defaults line.
+
+* Allow program to generate correct lockfiles when USER is undefined
+ (i.e. under zsh).
+
+* Allow program to run with no .fetchmailrc file again.
+
+fetchmail-1.5 (Thu Oct 3 04:35:15 EDT 1996):
+
+* Naturally, my decision to announce 1.4 on comp.os.linux.announce
+ immediately caused the code to manifest its first real bug --
+ a core dump when the "From:" header is spelled "from:" (all lower
+ case). Fixed.
+
+* Update and expansion of NOTES.
+
+* The --all and --flush flag validity checks move to driver.c.
+
+fetchmail-1.4 (Wed Oct 2 09:22:37 1996):
+
+* More man page improvements.
+
+* Lexer changes to work around bison's "feature" of silently ignoring 0-value
+ tokens (caused options nokeep, norewrite, nofetchall, noskip to be no-ops).
+
+fetchmail-1.3 (Tue Oct 1 05:49:49 1996):
+
+* Significant man page improvements.
+
+* Escapes for newlines in .fetchmailrc are now optional.
+
+* Kill off -2 and -3 options, redundant popclient remnants.
+
+* IMAP code simplification and robustification. Use FETCH FLAGS to find
+ seen messages. Code should now work even if unseen messages are
+ interspersed with seen ones, and even if messages are appended to the
+ mailbox during the run.
+
+fetchmail-1.2 (Sat Sep 28 15:40:50 EDT 1996):
+
+* The great option massacre. Remove --stdout, --limit, --local, --mda.
+ We get a significant code and complexity shrinkage this way (a lot of the
+ configuration machinery goes away too). These things are your MDA's job.
+ (This also kills off the lose-mail-on-disk-full bug, which I've never
+ seen but two users reported.)
+
+* Link APOP support by default.
+
+* Fix embarrassing Makefile bug.
+
+fetchmail-1.1 (Sat Sep 28 09:21:10 EDT 1996):
+
+* In POP3, don't send LAST if STAT shows count of waiting messages to be zero.
+
+* Document APOP better, we know it works now.
+
+* Lose the .fetchids file and give up on POP3 UIDs, they're a dead loss.
+
+fetchmail-1.0 (Thu Sep 26 11:59:38 EDT 1996):
+
+* SMTP forwarding and header-rewrite features work with POP2 now.
+
+* Stricter RFC822 conformance, so SMTP to qmail works. Thanks to
+ Cameron MacPherson <unsound@oz.net> for these changes.
+
+* The program is quieter but more informative now (suppress printing of
+ server greeting message; add the server host being queried to the
+ message count information line).
+
+* Add `skip' option to make it easier to set up test entries.
+
+* Name change (it ain't just for POP any more).
+
+popclient-3.2 (Mon Sep 23 13:29:46 EDT 1996):
* RPOP support (coded at a user's request but untested).
* Ported to QNX (see the Makefile).
-* Add Michael Schwendt's code for improved sizeticker.
+* Add code by Michael Schwendt <3schwend@informatik.uni-hamburg.de> for
+ improved sizeticker.
* Improved RFC822 parsing (thanks to Rob Funk).
* Try USER and HOME to set defaults before going to the password file.
This should work better in Sun NIS environments.
-3.1:
+popclient-3.1 (Thu Sep 12 15:45:25 EDT 1996):
* MDA arguments are now dumped when using the -V option.
* It is now possible to specify the host TCP/IP port number to connect to.
-3.05:
+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.
-3.04:
+popclient-3.04 (Wed Aug 21 00:22:44 EDT 1996):
* Logfile option works.
-3.03:
+popclient-3.03:
* Minor bug fixes for password querying and redirection to stdout.
-3.02:
+popclient-3.02 (Fri Jul 19 11:37:56 EDT 1996):
* Correct buggy processing of nokeep/noflush/fetchall.
* Delivery via sendmail now works in non-daemon mode.
-3.01:
+popclient-3.01 (Mon Jul 1 13:33:51 EDT 1996):
* Fixed a lexical analyzer bug in quoted-string processing.
* The lock assertion code was in the wrong place relative to the daemonize()
call.
-3.0:
+popclient-3.0 (Fri Jun 28 11:33:34 EDT 1996):
Eric S. Raymond <esr@thyrsus.com> hacked extensively on 3.0b6 and took over
the package with the consent of Carl Harris, the original implementor.
OPTIONS AND COMMAND LINE
-* I have removed the -p command-line option. Given that there's a .poprc
+* 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 .poprc file.
+ 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.
POPRC FILE SYNTAX
-* The .poprc lexer now supports "-enclosed strings which may contain
- whitespace.
+* The run control file lexer now supports "-enclosed strings which may
+ contain whitespace.
-* I added a --yydebug option to enable .poprc parser debugging at runtime
- if the parser was generated with --debug. It's not documented.
+* 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 .poprc which sets overrideable
- values for other entries. See the man page for details.
+* 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 .poprc file.
+* It is now possible to set keep, flush and fetchall in your run control
+ file.
-* Fixed incorrect numbering of source lines in .poprc parse error messages.
+* 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).
* 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.poprc into a new manual
- section documenting the .poprc format.
+* I have turned the comments in the sample run control file into a new manual
+ section documenting the file format.
MISCELLANEOUS BUG FIXES
* 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 prevuious releases:
+These are Carl Harris's change notes from previous releases:
3.0b5
o "From " header fix in pop2.c and pop3.c