3 * Generate bounce messages when delivery is refused. See RFC1891, RFC1894.
4 * Use the libmd functions for md5 under Free BSD? (Low priority.)
5 * Send notification mail on messages skipped due to --limit?
10 * Get with Craig Metz to write a draft RFC on RFC1938 support in IMAP.
11 * Message length check code (#define MSGLEN) works for IMAP, but not for POP.
16 ------------------------------------------------------------------------------
18 * Greg Stark's patch for better autoconfiguration on mixed libc5/libc6 systems.
19 * We no longer mess with CFLAGS/LDFLAGS to get Kerberos support linked.
21 There are 287 people on the fetchmail-friends list.
23 fetchmail-4.2.4 (Fri Sep 19 19:48:50 EDT 1997)
24 * Small compilation cleanups, thanks to Florian laRoche.
25 * Removed the length consistency check, it mysteriously fails under POP3.
26 * Added Alexander Kourakos's patch to improve address rewriting.
27 * Added Wilfried Teiken's patch allowing the password to be piped in.
29 There are 287 people on the fetchmail-friends list.
31 fetchmail-4.2.3 (Thu Sep 18 16:19:10 EDT 1997)
32 * Fix a bug in IMAP message-size retrieval.
33 * Yet another try at getting the size-consistency check right.
35 There are 286 people on the fetchmail-friends list.
37 fetchmail-4.2.2 (Wed Sep 17 22:56:05 EDT 1997)
38 * Re-enable --limit under IMAP (bug introduced in 4.2.0).
39 * Autoconfigure root-mode PID-file directory to /etc if no /var/run.
40 * ETRN mode no longer tries to flush queue for "localhost".
41 * Introduced new DNS error return 11 to indicate DNS failure at startup.
42 * More portation tweaks for unusual Unixes.
43 * Make sure any X-Fetchmail-Error: line is properly terminated.
45 There are 289 people on the fetchmail-friends list.
47 fetchmail-4.2.1 (Sun Sep 14 16:31:58 EDT 1997)
48 * Type and inclusion changes to eliminate warnings on weird Unixes.
49 * Detect and warn about servers like M$ Exchange that get lengths wrong.
51 There are 285 people on the fetchmail-friends list.
53 ------------------------------------------------------------------------------
54 fetchmail-4.2.0 (Sun Sep 14 16:31:58 EDT 1997)
55 * Driver code changed so delimited protocols don't rely on message lengths
56 being correct (this means #@!%^# brain-dead Microsoft Exchange will work).
58 There are 285 people on the fetchmail-friends list.
60 fetchmail-4.1.8 (Thu Sep 11 16:20:15 EDT 1997)
61 * Fix nasty single-char-adddress bug in multidrop mode.
62 * Fixed cosmetic bug in ETRN mode -v output!
63 * Added warning about broken Microsoft Exchange server to FAQ.
64 * Will Renkel supplied an implementation of inet_aton().
66 There are 286 people on the fetchmail-friends list.
68 fetchmail-4.1.7 (Tue Sep 9 16:55:04 EDT 1997)
69 * Now works with Cyrus IMAP server.
70 * Will build OK even if local environment lacks strstr(3).
72 There are 283 people on the fetchmail-friends list.
74 fetchmail-4.1.6 (Sat Sep 6 13:11:59 EDT 1997)
75 * Correct autoconfiguration machinery for Amiga (thanks to Steffen Opel).
76 * Append hostname to fallback address in multidrop mode correctly.
77 * Suppress append of smtphost name to RCPT TO address when it has a @ already.
79 There are 285 people on the fetchmail-friends list.
81 fetchmail-4.1.5 (Fri Sep 5 15:06:13 EDT 1997)
82 * Prevent core dumps on messages with no destination lines.
83 * Decorate RCPT TO names with smtphost.
84 * Have AUTO mode croak on SMTP error.
85 * Fall back on localhost if smtphost is defaulted and `hostname` is not
88 There are 286 people on the fetchmail-friends list.
90 fetchmail-4.1.4 (Thu Sep 4 15:41:05 EDT 1997)
91 * Autoconfigure correctly for systems that lack inet_aton().
92 * Better failure reporting on SMTP connect failures.
93 * Autoconfigure the MD5 support for 64-bit machines.
95 Due to pilot error, there was no release actually numbered 4.1.3.
96 There are 286 people on the fetchmail-friends list.
98 fetchmail-4.1.2 (Wed Sep 3 18:44:58 EDT 1997)
99 * Fixed a bonehead bug in RCPT TO name generation introduced in 4.1.1.
100 * Added James Steven's ip-up wrapper to the contrib directory.
101 * Prevent buffer spamming in SockOpen by a broken DNS.
102 * Al Youngwerth's fix to prevent segfaults when Return-Path has no address.
103 * Phillippe De Muyter's port changes for sysV68 R3V7.1.
104 * Port changes for Kerberos under FreeBSD, thanks to Benjamin Greenwald.
105 * Don't use inet_addr() any more.
107 First release after my two-week vacation.
108 There are 285 people on the fetchmail-friends list.
110 fetchmail-4.1.1 (Fri Aug 15 21:02:50 EDT 1997)
111 * Fix an obvious bug in some snprintf calls (non-Linux systems only)
112 * No more hard limit on number of destination headers
113 * Wolfgang Wander's support for faster new-message detection using UIDL.
114 * Changed the default of the `envelope' option.
116 There are 269 people on the fetchmail-friends list.
118 fetchmail-4.1.0 (Mon Aug 11 17:19:57 EDT 1997)
119 * Make the RPM depend on `smtpdaemon', which the sendmail package provides.
120 * Clean up the Interactive UNIX System V/386 Release 3.2 port.
121 * Enable parser to detect and complain about the most common syntax error.
122 * More warnings about things that can go wrong with multidrop.
123 * Dave Bodenstab's fix for flaky phone lines.
124 * Always pass FQDNs in RCPT TO addresses (avoids minor tsuris with exim).
126 There are 263 people on the fetchmail-friends list.
128 fetchmail-4.0.8 (Thu Aug 7 17:05:27 EDT 1997)
129 * Fixed core dump bug in UID handling introduced by the 4.0.6 change.
130 * Retrieval code for POP3 & older IMAP versions now skips X-IMAP message
131 used by UW IMAP4rev1 server to store UIDs.
132 * Port to Interactive UNIX System V/386 Release 3.2.
134 There are 263 people on the fetchmail-friends list.
136 fetchmail-4.0.7 (Tue Aug 5 22:47:11 EDT 1997)
137 * Fixed a minor bug in handling of DNS errors in multidrop mode.
138 * Added a `postconnect' analogous to `preconnect'.
139 * Make `interval' count polls skipped because of interface or monitor option.
140 * Fixed UIDL and dropstatus option processing.
142 There are 258 people on the fetchmail-friends list.
144 fetchmail-4.0.6 (Fri Aug 1 11:14:31 EDT 1997)
145 * Changed semantics of `via' and `poll <name>' to be more orthogonal.
146 * Substantially improved option coverage on the man page.
147 * Yet another try at getting the remote-build right for Harry McGavran.
148 * Don't emit "No mail" messages in (non-verbose) daemon mode).
149 * Fixed the stock POP3 authorization sequence, which got broken in 4.0.4.
150 * --kill option renamed to --nokeep for consistency
152 WARNING: If you are running multidrop, (RE)READ FAQ ITEM F1 NOW!
153 There are 258 people on the fetchmail-friends list.
155 fetchmail-4.0.5 (Wed Jul 30 10:27:25 EDT 1997)
156 * Increased %o in the Lex source to cope with Ultrix lex.
157 * RPMs are now built with --without-OPIE to avoid validation problems.
158 * Channge in computation of true name to avoid HELO (null) bug.
160 There are 255 people on the fetchmail-friends list.
162 fetchmail-4.0.4 (Mon Jul 28 23:38:20 EDT 1997)
163 * Overhauled the build machinery.
164 * The `no envelope' option now suppresses parsing of Received lines.
165 * Added Al Youngwerth as a backup maintainer.
167 This tries to fix the various yacc- and remote-build problems.
168 There are 256 people on the fetchmail-friends list.
170 fetchmail-4.0.3 (Mon Jul 28 16:39:17 EDT 1997)
171 * Replace vsprintf with vnsprintf to avoid buffer-overrun screws.
172 * Added via option to make ssh configuration cleaner.
173 * Added dropstatus option.
174 * Allow either `login' or `user' in .netrc files.
176 Interim release, mainly because I inadvertently messed up the web page.
177 Note: RFC1938 support is tentative, untested, and requires a patch to the
178 LIBOPIE library. See the file LIBOPIE.PATCH for the sad details.
179 There are 258 people on the fetchmail-friends list.
181 fetchmail-4.0.2 (Mon Jul 17 20:54:30 EDT 1997)
182 * Experimental RFC1938 one-time password support using OPIE library,
183 courtesy of Craig Metz <cmetz@inner.net> (couthor of RFC1938).
185 Private release to Craig Metz only for OPIE testing.
186 There are 251 people on the fetchmail-friends list.
188 fetchmail-4.0.1 (Wed Jul 16 14:32:08 EDT 1997)
189 * Compilation cleanup for DEC Unix 4.0 and AIX.
190 * Corrected the machinery for remote builds.
191 * Minor improvements in failed-connection error messages.
193 A minor cleanup release for non-Linux systems.
194 There are 254 people on the fetchmail-friends list.
196 ------------------------------------------------------------------------------
197 fetchmail-4.0.0 (Wed Jul 9 10:30:16 EDT 1997)
199 This is a "gold" version. Bug cleanup was finished (I hope...) in 3.9.9.
200 And about time, too, I've been hacking on this code for a year now!
202 * Fixes for minor compilation glitches on non-Linux systems.
203 * Progress messages now show total count as well as message number.
204 * Removed the popclient backward-compatibility hacks.
205 * Leif Erlingsson <leif@lege.com> sent a patch to separate a "lock busy"
206 condition from other authentication failures on a POP3 server.
207 * Allow duplicate server hostnames again.
208 * Fetchmail now returns 0 if *any* poll during the run succeeded.
210 There are 251 people on the fetchmail-friends list.
212 ------------------------------------------------------------------------------
213 pl 3.9.9 (Wed Jun 25 11:01:51 EDT 1997):
214 * We can now process multiple To headers a la Microsoft Exchange Server.
215 * Avoid sending LIST and getting an error when no messages are waiting.
216 * Allow `fetchmail' to do wakeup even when no .fetchmailrc.
217 * Fixed Paul Sutcliffe's headerless-mail bug triggered by -s.
218 * Added `pass8bits' to help prevent internationalization lossage.
219 * Add Guenther Leber's fixes for ETRN mode.
221 There are 248 people on the fetchmail-friends list.
223 pl 3.9.8 (Sat Jun 14 14:19:32 EDT 1997):
224 * Fetchmail is now normally built with optimization.
225 * POP2 support is no longer compiled by default, but you can configure
226 it in with `configure --enable-POP2'.
227 * If a .fetchmailrc entry has multiple user parts, the opening `username'
228 keyword is now required for all.
229 * Fetchall no longer overrides --limit.
230 * Values of --limit, --fetchlimit, and --batchlimit in .fetchmailrc can now
231 be overridden from the command line by specifying an explicit option of 0.
232 * Architecture-independent RPM building.
233 * Fix code to work correctly with POP3 servers that don't return a reliable
234 size in the response to FETCH.
236 There are 261 people on the fetchmail-friends list.
238 pl 3.9.7 (Mon Jun 9 18:40:04 EDT 1997):
239 * Complain and exit if user tries to start fetchmail with options while a
240 background fetchmail is running.
241 * Various installation headaches are gone, INSTALL edited accordingly.
242 * Treat exim's 501 and (soon) 550 antispam responses as equivalent to 571.
243 * Separate header and body byte counts in IMAP progress messages.
244 * Man page updates, including removal of restriction on --syslog.
245 * You can now set --syslog in the .fetchmailrc file.
246 * Parse more different variants of IMAP "UNSEEN" message.
247 * Handle zero-length messages correctly.
249 There are 252 people on the fetchmail-friends list.
251 pl 3.9.6 (Wed May 28 18:28:35 EDT 1997):
252 * Fix the libc6 configuration stuff (thanks to Jesse Thilo).
253 * Support for Kerberos-v4-authenticated IMAP (thanks to Rudolph Maceyko).
254 * Don't choke on RFC822 group names.
255 * More improvements in RFC822 name parsing.
256 * Interval skip feature, courtesy of Hal DeVore.
258 There are 257 people on the fetchmail-friends list.
260 pl 3.9.5 (Sun May 18 01:05:13 EDT 1997):
261 * Add an error notification when an incoming message has embedded NULs.
262 * Throw out >From lines in headers to prevent getting hosed by upstream
263 sendmails with the 'E' option on.
264 * Enable forcecr to work on the \r\n header terminator line.
265 * Multiple-folder support for POP2 and IMAP.
266 * Under IMAP, bodies of messages refused by SMTP's 571 response are no longer
268 * Configure should do the right thing with libc6 now.
270 There are 249 people on the fetchmail-friends list.
272 pl 3.9.4 (Wed May 14 12:27:22 EDT 1997):
273 * Fixed a compilation glitch for systems like SunOS & others without atexit(3).
274 * Fixed a compilation glitch in daemonize for HP-UX.
275 * Changes to compile correctly on systems that have on_exit() but not atexit().
276 * Changes to forbid duplicate server names in the rc file.
277 * Do caseblind comparisons of host and user names everywhere.
278 * IMAP retrieval can now handle messages with embedded NULs.
279 * Fixed a core dump in .netrc searching reported by Jim Spath.
281 There are 248 people on the fetchmail-friends list.
283 pl 3.9.3 (Wed May 7 11:40:47 EDT 1997):
284 * Fix for -I option from George Sipe.
285 * Finally got error.c to compile under AIX, thanks to Dave Vinish.
286 * Prevent header rewrite logic from appending mailserver name to blank To.
287 * When header rewrite is on, hack Return-Path as well.
289 There are 240 people on the fetchmail-friends list.
291 pl 3.9.2 (Wed Apr 23 14:07:03 EDT 1997):
292 * Fixed a glitch in the Makefile yacc and lex productions
293 * Add logic for X-Fetchmail-Warning emission of \r\n to pacify qmail.
294 * Yet another try at getting error.c to play nice with AIX.
296 There are 224 people on the fetchmail-friends list.
298 pl 3.9.1 (Thu Apr 17 11:37:14 EDT 1997):
299 * Hypertext FAQ added to distribution manifest.
300 * RPM builder production fixed.
301 * Minor additions and corrections to man page.
302 * Delivery failures are now syslogged as LOG_ERR, not LOG_INFO.
303 * --check now turns off --daemon.
304 * --syslog is now independent of --daemon.
305 * Multiple-error X- headers are improved.
306 * Added `forcecr' to fix qmail problems by forcing CRLF termination.
308 There are 222 people on the fetchmail-friends list.
309 (many bad addresses were dropped after the switchover to SmartList)
311 ------------------------------------------------------------------------------
312 fetchmail-3.9 (Wed Apr 2 13:36:22 EST 1997)
316 * It is now possible to set a default poll interval with `set daemon'.
318 * -U/uidl option to force UIDL use under POP3 (thanks, Ingmar Baumgart).
322 * Server-response timeouts were broken. Various symptoms of this problem
323 were reported by Klee Dienes <klee@mit.edu>, Dirk Eddelbuettel
324 <edd@rosebud.sps.queensu.ca>, Robert V. Schipper <rvs@gol.com>,
325 and Steven Brown <swbrown@ucsd.edu>.
327 * George Sipe sent a fix for the --monitor code.
329 * --norewrite was a no-op. Fixed.
331 * Fetchmail was aborting with "partial message buffer overflow" on Suns
332 due to unreliable vsprintf return. This has been fixed with changes
335 There are 268 people on the fetchmail-friends list.
337 ------------------------------------------------------------------------------
338 fetchmail-3.8 (Fri Mar 7 17:34:02 EST 1997)
342 * More FAQ material on using `localdomains'.
344 * Compilation hacks for ISC 4.0 (thanks, Larry Jones!).
348 * Enabled ETRN and RPOP command-line options.
350 * Yet another attempt to fix the error.c compilation problems under
351 Solaris and NEXTSTEP.
353 * Handle \( and \) correctly in RFC822 comments, thanks to Gareth McCaughan.
355 * Fixed off-by-one error fingered by Brian Jones that prevented
356 `localdomains' from working.
358 There are 248 people on the fetchmail-friends list.
360 ------------------------------------------------------------------------------
361 fetchmail-3.7 (Fri Feb 21 17:38:40 EST 1997)
365 * You can now specify a hunt list of SMTP forwarding hosts.
367 * Treat unexpected EOF as a protocol error.
369 * DNS errors no longer abort an entire poll. Instead they just cause
370 forwarding and deletion of the current message to be suppressed.
372 * -v output now includes the version/pl numbers (help for harried maintainer!).
376 * Fix password-shrouding logic so it doesn't crap out on a zero-length
379 * Various error-logging fixes by Dave Bodenstab.
381 * Fix parsing bug that broke UIDL-processing code.
383 There are 233 people on the fetchmail-friends list.
385 ------------------------------------------------------------------------------
386 fetchmail-3.6 (Mon Feb 17 00:19:55 EST 1997)
390 * Use Return-Path for RCPT FROM if possible for better behavior on mailing
391 lists and bouncemail.
393 * New Makefile production to generate an RPM.
395 * The `no received' option of 3.4 is gone. Instead, say `no envelope'.
396 This suppresses all attempts to extract an envelope address and route
397 based on it. If you set `no envelope' in the defaults entry it is possible
398 to undo that in individual entries by using `envelope <string>'.
402 * Yet another fix to the password-shrouding logic.
404 * Fix bug that screwed up IMAP mail reception in -v mode *only*.
406 There are 229 people on the fetchmail-friends list.
408 ------------------------------------------------------------------------------
409 fetchmail-3.5 (Sat Feb 15 15:19:36 EST 1997)
413 * The host that ETRN specifies is now set by the smtphost option.
415 * It is now possible to suppress Received line parsing in multidrop mode
416 with a new `no received' per-server option.
418 * Major FAQ reorganization and additions.
420 * .poprc-style `user'-less entry now triggers a warning.
424 * The counter referred to by the batchlimit option used to count not only
425 fetched messages but skipped ones. This has been fixed.
427 * Compilation fixes for Kerberos V4 support and GNU glibc2 support.
429 There are 230 people on the fetchmail-friends list.
431 ------------------------------------------------------------------------------
432 fetchmail-3.4 (Wed Feb 12 19:23:06 EST 1997)
436 * Support for ESMTP ETRN extension.
438 * It is now possible to turn off option flags in individual server entries
439 that had been turned on in a `defaults' entry.
441 * The code should now deal gracefully with headerless mail.
445 * The bug that displayed incorrect sizes for POP3 connections has been fixed.
447 * Upped the %a option in the lexer file so SunOS 4.1.3 lex won't choke with a
448 "Too Many Transitions" error.
450 * Size-ticker dots are now disabled when verbose is on. This should eliminate
451 some alarming but harmless "(message incomplete)" messages from the
452 error-logging machinery.
454 * A core dump in save_str_pair() that only showed up on some systems has
457 There are 223 people on the fetchmail-friends list.
459 ------------------------------------------------------------------------------\
461 pl 3.3.2 (Mon Feb 3 12:59:33 EST 1997):
462 * Minor fixes to stripcr and password-shrouding logic.
464 pl 3.3.1 (Sun Feb 2 02:17:07 EST 1997):
465 * Fix incorrect stripcr processing
466 * Unapply a patch that broke error logging to files.
468 ------------------------------------------------------------------------------\
469 fetchmail-3.3 (Sat Feb 1 15:15:13 EST 1997)
473 * Whether or not carriage returns will be stripped on output is explicitly
474 controllable with stripcr.
476 * fetchmail -v messages no longer reveal password lengths.
480 * Correction to length-extraction code for servers that return (nnn octets).
482 * Correction to RF822 continuation code so it doesn't eat leading blank-led
485 There are 215 people on the fetchmail-friends list.
487 ------------------------------------------------------------------------------
488 fetchmail-3.2 (Mon Jan 27 02:51:10 EST 1997)
492 * Better error notification on IMAP select failure.
496 * The code can now handle arbitrarily long address lists.
498 * Fix RFC822 parsing to strip comments at end of bare addresses.
500 * Explicitly strip CRs out of fetched mail.
502 * Corrections to 8BITMIME processing.
504 There are 207 people on the fetchmail-friends list.
506 ------------------------------------------------------------------------------
507 fetchmail-3.1 (Fri Jan 24 12:45:18 EST 1997)
511 * Forwarding is now done via ESMTP where possible.
513 * ESMTP 8BITMIME option is supported; when 8BITMIME is supported and the
514 Content-Transfer-Encoding header is 7BIT or 8BIT, it is appended to the
515 MAIL FROM command as a BODY option.
517 * ESMTP SIZE option is supported when using IMAP2bis or IMAP4. This means
518 messages too long for the local ESMTP listener will be rejected *before*
519 they are passed to the ESMTP listener.
521 * IMAP code now detects IMAP4rev1 capabilities (RFC 2060) and uses them.
522 (It will fall back to IMAP4 or IMAP2bis depending on what it sees.)
526 * Compilation fixes for non-Linux machines.
528 There are 205 people on the fetchmail-friends list.
530 ------------------------------------------------------------------------------
531 fetchmail-3.0 (Tue Jan 21 16:44:56 EST 1997)
535 * `interface' and `monitor' options are now per-server.
537 * `batchlimit' option is now per-user.
539 * RFC822 header continuation for long address lists is is now handled properly.
541 * There is now a `nodns' option to suppress DNS checking of address hostname
542 parts in multidrop mode (make sure your aka list is complete before you use
545 * Options such as `nokeep' can now be written `no keep'.
547 * RPOP support is back by user request.
549 Note: The first two changes mean that older .fetchmailrc files using
550 the `set' syntax for these options will cause fetchmail to die with a
551 parse error at initialization time. Conversion is trivial -- for
552 details, see the FAQ.
556 * Stricter parsing of greeting message for the host name; eliminates some
557 minor errors when using IMAP and the hostname is something like jet.es.
559 * --quit in root-daemon mode didn't work, fixed this.
561 * Ensure that default server parameters get properly zeroed out after each
562 poll or skip statement in .fetchmailrc.
564 * Arrange an EXPUNGE after each delete when using IMAP, so deletions get done
565 OK even if there's a socket error before termination.
567 * Simpler and better header-rewrite code, fixing some weird cases where
568 it failed. Thanks to Masafumi NAKANE <max@wide.ad.jp> and
569 Carey Evans <c.evans@student.canterbury.ac.nz> for pointing out these
572 * Handle zero-length messages properly; thanks to Bob Craycroft.
574 Note: the RFC subdirectory is no longer included with the distribution
575 (this cut its size in half!) Instead, applicable RFCs are listed on the
578 There are 201 people on the fetchmail-friends list.
580 ------------------------------------------------------------------------------
581 fetchmail-2.8 (Sat Jan 11 15:48:33 EST 1997)
585 * We now get the hostname used for progress messages from the server greeting.
586 This means you'll get sensible-looking progress messages even when using
587 ssh to redirect secure connections.
589 * Reorganized and improved man page.
591 * Mail header parsing now handles RFC822 escapes properly.
595 * Stop netrc parser from complaining about blank lines.
597 * Add ssh recipe correction.
599 * Eliminate infinite-loop bug in defaults handling.
601 * Fixed some address-parsing bugs in rfc822.c:nxtaddr().
603 * 2.7 broke portability to Solaris. Fix that.
605 There are 184 people on the fetchmail-friends list.
607 ------------------------------------------------------------------------------
608 fetchmail-2.7 (Thu Jan 9 03:18:15 EST 1997)
612 * New --syslog option by Dave Bodenstab.
614 * Automatic parsing of ~/.netrc for a mailserver password if necessary, thanks
615 to Gordon Matzigkeit.
617 * Added preconnect option for initializing ssh connections.
619 * Added local-domains support for multidrop as requested by Pablo Saratxaga.
621 * More FAQ material on how and when to use --interface.
625 * Fixed a minor bug introduced into From handling by 2.6.
627 * Fixed bug in SMTP forwarding of msg lines with leading dot.
629 * Fixed a bug that generated incorrect HELO for second and subsequent
630 poll entries attached to the same SMTP host.
632 There are 177 people on the fetchmail-friends list.
634 ------------------------------------------------------------------------------
635 fetchmail-2.6 (Fri Dec 27 12:42:56 EST 1996)
639 * IMAP4 code now sets the server "seen" flag on each message if "keep" is on.
641 * New FAQ material on how to use --interface.
645 * Dropped back to separate SockGets/SockWrite code with no attempt at
646 stdio buffering -- we hope this will fix the Solaris peoples' problems.
648 * Fixed length-computation bug (apparently introduced in 2.3) that messed
651 There are 169 people on the fetchmail-friends list.
653 ------------------------------------------------------------------------------
654 fetchmail-2.5 (Mon Dec 23 04:18:54 EST 1996)
658 * New --interface and --monitor options for Linux courtesy of George Sipe.
662 * Replaced bug-prone setvbuf with setlinebuf.
664 * Moved lock file to ~/.fetchmail to eliminate various /tmp problems.
666 There are 165 people on the fetchmail-friends list.
668 ------------------------------------------------------------------------------
669 fetchmail-2.4 (Sat Dec 21 05:24:44 EST 1996)
673 * Add FAQ material on troubleshooting and working around SMTP connection
678 * Fixed a core-dump bug in MX processing that's been lurking there for ghods
679 know how long. It could never have been more than rare.
681 * Fixed a minor bug in Received processing.
683 * Restored compile-time portability to Solaris.
685 * Initial 2.4 said: "Force line-buffering on socket streams (Linux apparently
686 defaults to this). This may fix some hang problems reported under Solaris."
687 Unfortunately this "fix" triggers horrible lossage on long messages and had
690 There are 166 people on the fetchmail-friends list.
692 ------------------------------------------------------------------------------
696 * Full IMAP4 support -- we now probe for IMAP4 capabilities and use
697 RFC822.PEEK when possible to avoid marking messages seen on the server
698 before they are deleted. This improves recovery from sendmail and
699 dropped-connection errors.
701 * True stdio buffering of sockets at last, thanks to Cameron McPherson.
702 This should be good for a significant throughput increase.
704 * Almost all error messages that might be emitted in daemon mode now go
705 through the error() subroutine. This is a first step towards allowing
706 a daemon-mode fetchmail to use syslog.
708 * SIGUSR1 is now used for wakeup rather than SIGHUP. This eliminates any
709 possible confusion about fetchmail's behavior at logout time.
711 * Received line parsing for envelope addresses now matches MX as well as
712 canonical DNS addresses, making multidrop routing slightly more reliable.
714 * Added --fetchlimit option to limit number of messages fetched in a
719 * Fixed a FreeBSD compilation glitch involving SIGCLD (thanks to
722 * Added some port patches for NEXTSTEP.
724 * SIGCHLD used everywhere now, not SIGCLD (this was strictly a cosmetic bug).
726 * Prevent occasional hangs when fetchmail was terminated by signal.
728 There are 168 people on the fetchmail-friends list.
730 ------------------------------------------------------------------------------
731 fetchmail-2.2 (Mon Dec 9 00:15:01 EST 1996):
735 * If SMTP returns 571 (unsolicited mail refused) to a MAIL FROM, the
736 address is excluded by the local sendmail's spam filter. Drop the mail.
737 (This is the only circumstance in which mail is thrown away.)
739 * The header your mailserver uses to convey envelope addresses is no longer
740 wired to `X-Envelope-Header'. You can now specify it with the `envelope'
741 option in .fetchmailrc. (This header is not RFC822 standard, and we have a
742 report of an ISP using X-Frontier-To).
746 * Fixed a startup-time core dump introduced by 2.1's aka-list feature.
748 * Fixed a bug in non-implicit mode (poll specified host), also due to aka.
750 * Various minor portability fixes for Suns. Adding #include <errno.h>
751 in fetchmail.c was the most significant one.
753 * Avoid using -lresolv when possible, some Linux versions are badly broken.
755 * Fix error in MX record handling that was causing multidrop problems.
757 * Disable daemon SIGCHLD handler while an MDA is running, to avoid snafus.
758 Thanks to Dave Bodenstab <imdave@synet.net> for spotting this obscure bug.
760 156 people on the contact list.
762 ------------------------------------------------------------------------------
763 fetchmail-2.1 (Thu Nov 28 11:07:48 EST 1996):
769 * Try to pass envelope From to the listener so that logging and procmail
770 processing works right. If that fails, fall back on calling-user.
772 * Added `set logfile = ' option to rc syntax.
774 * We now use X-Envelope-To headers and parse the Received lines. If
775 X-Envelope-To is found, OK; otherwise we look for a `Received for' line;
776 either is treated as a true envelope address. If neither of these are
777 found we go to the To/Cc/Bcc header addresses.
779 * Added `*' as a wildcard option for multidrop to ... here. This will allow
780 names to be local names to be passed through from a multi-drop box on
783 * Added an `aka' option to allow users to declare mailserver aliases at start
784 of run, so DNS does less work. During a run, cache host matches on the
785 aka list so no potential alias has to be DNS-checked more than once.
786 A server being polled explicitly may be referred to by any of its aliaseses.
790 * Nalin Dahyabhai's fix patch for MIT Kerberos V4 support.
792 * Fixed a fencepost error in the APOP code that was causing a core dump.
794 * Skip flag wasn't getting reset on poll hosts following a skipped one.
796 * Include remote name in saved UID mappings so multiple POP accounts on
797 the same server won't get their UIDs confused.
799 138 people on the contact list.
801 ------------------------------------------------------------------------------
802 fetchmail-2.0 (Mon Nov 18 00:32:17 EST 1996):
804 * Fix typo in setitimer call setup that caused obscure bugs under FreeBSD.
805 * Accept Apparently-To if there is no To header.
806 * Include Cameron McPherson's patch for handling multi-line SMTP responses.
807 * Don't try to feed listener the header From any more.
809 pl 1.9.9 (Mon Nov 11 10:40:14 EST 1996):
810 * Accept Resent-From & Apparently-From a la RFC822.
811 * Include file fixes for Solaris 2.5 and FreeBSD 2.2.
812 * Improved error notification on SMTP and no-matching-local-address errors.
813 * Delivery to multidrop mailboxes now always aborts on DNS errors.
814 * Batch limit option prevents long delivery delays on smail/qmail.
815 * Configuration now handles -lresolv and non-Linux bind libraries correctly.
817 pl 1.9.8 (Wed Nov 6 16:40:34 EST 1996):
818 * Don't append spurious NUL to the headers, qmail actually notices it.
819 * Fatal bug in multidrop code fixed.
820 * Fail cleanly, instead of core-dumping, on mail lacking an RFC822 From line.
821 * Don't try to keep the SMTP socket open across poll cycles.
823 pl 1.9.7 (Fri Nov 1 10:02:34 EST 1996):
824 * %s is back. Seems some popular MDAs actually choke on name arguments.
825 * We can handle responses longer than the socket atomic read length now.
827 pl 1.9.6 (Thu Oct 31 00:07:23 EST 1996):
828 * Make rewrite option handle multiple comma-separated local names correctly.
829 * Fix yet another fatal error in MDA argument list construction.
830 * Reset timeout every time input is received.
831 * Correct localname detection when --norewrite is on.
833 pl 1.9.5 (Tue Oct 29 20:07:41 EST 1996):
834 * Added -N, --nodetach option for debugging purposes.
835 * Use interval timers for poll-interval sleep and nonresponse timeout.
836 * fetchmail -q no longer parses the configuration file.
837 * Configuration file grammar is slightly cleaned up and improved.
839 pl 1.9.4 (Mon Oct 28 20:58:48 EST 1994):
840 * Correct status interpretation in closemailpipe() (thanks to Neil Harkins).
841 * Tweak SMTP forwarding to only open one listener per SMTP host in daemon mode.
843 pl 1.9.3 (Sun Oct 27 22:35:33 EST 1996):
844 * Handle nested parens in RFC822 comments.
845 * More gcc -Wall cleanup.
846 * Improved installation docs.
847 * Don't query DNS on startup unless needed for Kerberos or multidrop mailboxes.
849 pl 1.9.2 (Sun Oct 27 01:10:30 EST 1996):
850 * Fix initialization-time core dump when running as root
851 * Fix fatal error in MDA argument-list construction.
853 118 people on the contact list.
855 ------------------------------------------------------------------------------
856 fetchmail-1.9 (Fri Oct 25 23:02:26 EDT 1996):
858 We've hit the century mark -- exactly 100 people on the fetchmail-friends list.
862 * FEATURE FREEZE IS NOW IN EFFECT! No new features until after 2.0. Thanks
863 to everybody who contributed ideas and criticism.
865 * It is now possible to specify multiple local recipients by giving a list
866 of names following "to" or "is". Each local recipient is checked for in the
867 To:, Cc: and Bcc: headers of each message; if a match is found, the message
868 is sent to that local recipient. This makes it possible to do mailing
869 lists and multidrop mailboxes. See the man page for details (and note
870 the caveat in the BUGS AND KNOWN PROBLEMS section).
872 * It is possible to specify a size limit for retrieved messages. I resisted
873 doing this because I don't want fetchmail to be in the filtering game, but
874 too many Europeans begged for it because their telecomms monopolies are
875 price-gouging them on per-second phone charges. I will ignore, or be
876 extremely rude to, anyone who takes this feature as a license to beg me
877 for kill files or any other form of content-based filtering. Use
878 procmail on your server if you want that.
880 * If you use an MDA, the internal changes to support multi-drop mailboxes
881 require that you *remove* the %s at the end of your MDA string. Local
882 delivery addresses will be appended to the end of the command in the
885 * The first message from a query now includes the number of old messages
886 when this can be determined (that is not under POP2).
888 * POP3 UID support really works now. I make rude noises at the POP3 mavens
889 who forced us to this with RFC1725, but thank Al Longyear <longyear@sii.com>
890 for fixing and verifying my slightly buggy implementation.
892 * Kerberos V4 support ditto. Thanks to Chris Hanson <cph@martigny.mit.edu>
895 * When there's a daemon fetchmail in background, running fetchmail in
896 foreground without --quit now tries to wake the daemon and force it
899 * Add option to set server nonresponse timeout.
901 * Password is no longer displayed in verbose mode.
903 * You may use C-like escapes to embed non-printables in passwords and other
904 strings. Fetchmail -V will display them in a printable form.
906 * Program now tries to set itself to the ID of the local user before
907 running an MDA, and reset to root afterwards. This will work on
908 any system with seteuid(2), including Linux and the BSDs.
912 * Default user name to deliver to is now the calling user, unless
913 program is running as root in which case it is the remote user name
914 (default can be overridden with an `is' or `to' declaration).
915 In versions up to 1.7 it was the calling user; in 1.8 the remote
916 user ID. This created some confusion.
918 * Accept RFC822 headers with a tab after the colon.
920 * You now see a "skipping" message for each message not retrieved.
922 * --keep no longer overrides --flush.
924 * Rewrite "To: jrh (J. Random Hacker)" correctly.
926 * Find "nnn octets" anywhere on a POP3 server's RETR response line.
928 * Fixed various bugs in --check. It now reports PS_SUCCESS only if
929 there is new mail waiting.
931 * Under Linux, if fetchmail is run in daemon mode with the network
932 inaccessible, each poll leaves a socket allocated but in CLOSE state
933 (this is visible in netstat(1)'s output). These sockets aren't
934 garbage-collected until fetchmail exits. When whatever kernel table
935 is involved fills up, fetchmail can no longer run even if the network is up.
936 To avoid this, fetchmail now commits seppuku after some number of
937 unsuccessful socket opens.
939 * Don't try using FLAGS.SILENT, some allegedly IMAP2bis servers seem to
942 ------------------------------------------------------------------------------
943 fetchmail-1.8 (Fri Oct 11 15:08:10 EDT 1996):
947 * Use kill(0, pid) to make lock handling a bit smarter (thanks to Johan
948 Vromans <JVromans@squirrel.nl> for the suggestion).
950 * Arrange for timeout of client after 5 minutes if connection to server is
951 dropped (thanks to Gaspar Sinai <gsinai@gol.com>).
953 * All pretensions to RPOP support have been dropped. Yes, this is a feature,
954 RPOP is very vulnerable to spoofing! Use APOP instead.
956 * Normal start-of-read message now displays the byte (excuse me, "octet")
957 size of the message. Yes, 3schwend, you can stop noodging me now :-).
959 * Normal progress notifications now take only 1 line per message, not 2.
961 * Linux packagers: building fetchmail now generates an RPM specfile for it.
963 * Kerberos V4 support via KPOP protocol (thanks to Chris Hanson).
965 * New --check option for asking server whether there is mail without
966 actually retrieving or deleting it.
968 * UID support is back by popular demand. Bletch.
970 * Permit spaces in IMAP passwords (ship them as quoted strings).
974 * Fix buggy getopt specification of P and p options.
976 * Fix uninitialized-variable bug that was hanging second IMAP queries.
978 ------------------------------------------------------------------------------
979 fetchmail-1.7 (Tue Oct 8 11:32:44 EDT 1996):
983 * Noise words for rcfile syntax make English-like syntax possible.
985 * Make configure more GNUish; it understands --prefix and other standard
986 autoconf options now (see INSTALL for details)
988 * Better documentation of the new .fetchmailrc extensions and the slightly
989 stricter rules for ordering options.
991 * Expanded installation instructions including how to test for correct
992 operation without losing mail to misconfigured MDAs, alias loops, etc.
996 * You may have to rearrange the order of options in your .fetchmailrc.
997 The grammar for the new multiple-user syntax requires that server
998 options (protocol and port) come before any user options.
1000 * Fixed core dump bug that was screwing configurations with no .fetchmailrc.
1002 * Fixed broken 'p' option.
1004 * `norewrite' and `rewrite' in .fetchrc were the inverses of what they
1005 should have been (but the rewrite default was set correctly).
1007 ------------------------------------------------------------------------------
1008 fetchmail-1.6 (Sun Oct 6 20:55:09 EDT 1996):
1012 * You can now have multiple entries for the same server but different
1013 users, and the right thing will happen (each user's mailbox will
1014 be queried). Even better, you can now specify multiple users in a
1015 single server entry.
1017 * Restore --mda, seems some people either can't run a port 25 listener
1018 due to bizarre dynamic-SLIP problems, or won't for security reasons.
1020 * When delivering to an MDA, print error and die (before deleting the message!)
1021 if the MDA returns nonzero status. Better safe than sorry.
1023 * If fetchmail is called through a link named `popclient' it will look in
1024 ~/.poprc for a run control file. Unless that file includes the deleted
1025 options limit and localfolder this should actually work.
1029 * Makefile fixes for correct linking on Sparcs and avoiding duplication of
1030 the md5 files (leading to harmless install-time error messages).
1032 * Fix a bonehead coding error in pop3_delete() that was masked by the
1033 Intel register architecture. *blush* Thanks to Jay Anderson
1034 <anderson@optical.bms.com>.
1036 * Fix bug that prevented SMTP from being specified on the defaults line.
1038 * Allow program to generate correct lockfiles when USER is undefined
1041 * Allow program to run with no .fetchmailrc file again.
1043 ------------------------------------------------------------------------------
1044 fetchmail-1.5 (Thu Oct 3 04:35:15 EDT 1996):
1046 * Naturally, my decision to announce 1.4 on comp.os.linux.announce
1047 immediately caused the code to manifest its first real bug --
1048 a core dump when the "From:" header is spelled "from:" (all lower
1051 * Update and expansion of NOTES.
1053 * The --all and --flush flag validity checks move to driver.c.
1055 ------------------------------------------------------------------------------
1056 fetchmail-1.4 (Wed Oct 2 09:22:37 1996):
1058 * More man page improvements.
1060 * Lexer changes to work around bison's "feature" of silently ignoring 0-value
1061 tokens (caused options nokeep, norewrite, nofetchall, noskip to be no-ops).
1063 ------------------------------------------------------------------------------
1064 fetchmail-1.3 (Tue Oct 1 05:49:49 1996):
1066 * Significant man page improvements.
1068 * Escapes for newlines in .fetchmailrc are now optional.
1070 * Kill off -2 and -3 options, redundant popclient remnants.
1072 * IMAP code simplification and robustification. Use FETCH FLAGS to find
1073 seen messages. Code should now work even if unseen messages are
1074 interspersed with seen ones, and even if messages are appended to the
1075 mailbox during the run.
1077 ------------------------------------------------------------------------------
1078 fetchmail-1.2 (Sat Sep 28 15:40:50 EDT 1996):
1080 * The great option massacre. Remove --stdout, --limit, --local, --mda.
1081 We get a significant code and complexity shrinkage this way (a lot of the
1082 configuration machinery goes away too). These things are your MDA's job.
1083 (This also kills off the lose-mail-on-disk-full bug, which I've never
1084 seen but two users reported.)
1086 * Link APOP support by default.
1088 * Fix embarrassing Makefile bug.
1090 ------------------------------------------------------------------------------
1091 fetchmail-1.1 (Sat Sep 28 09:21:10 EDT 1996):
1093 * In POP3, don't send LAST if STAT shows count of waiting messages to be zero.
1095 * Document APOP better, we know it works now.
1097 * Lose the .fetchids file and give up on POP3 UIDs, they're a dead loss.
1099 ------------------------------------------------------------------------------
1100 fetchmail-1.0 (Thu Sep 26 11:59:38 EDT 1996):
1102 * SMTP forwarding and header-rewrite features work with POP2 now.
1104 * Stricter RFC822 conformance, so SMTP to qmail works. Thanks to
1105 Cameron MacPherson <unsound@oz.net> for these changes.
1107 * The program is quieter but more informative now (suppress printing of
1108 server greeting message; add the server host being queried to the
1109 message count information line).
1111 * Add `skip' option to make it easier to set up test entries.
1113 * Name change (it ain't just for POP any more).
1115 ==============================================================================
1116 popclient-3.2 (Mon Sep 23 13:29:46 EDT 1996):
1118 * RPOP support (coded at a user's request but untested).
1120 * Ported to QNX (see the Makefile).
1122 * Add code by Michael Schwendt <3schwend@informatik.uni-hamburg.de> for
1123 improved sizeticker.
1125 * Improved RFC822 parsing (thanks to Rob Funk).
1127 * Move the per-user lockfile to /tmp so it gets cleared at reboot time.
1129 * Warn users that running concurrent instances of popclient is a bad idea.
1131 * Try USER and HOME to set defaults before going to the password file.
1132 This should work better in Sun NIS environments.
1134 popclient-3.1 (Thu Sep 12 15:45:25 EDT 1996):
1136 * MDA arguments are now dumped when using the -V option.
1138 * Sendmail delivery from background seems to work now.
1140 * We have IMAP2bis/IMAP4 support.
1142 * Code now autoprobes for a POP3, IMAP, or POP2 server if no protocol is
1145 * SMTP forwarding support. Thanks to Harry Hochheiser <harry@tigger.jvnc.net>
1146 for this simple but clever idea. It's now the default delivery mode.
1148 * If no UNIX From line is found, popclient will now synthesize a correct
1149 line from the RFC822 From line.
1151 * It is now possible to specify the host TCP/IP port number to connect to.
1153 popclient-3.05 (Thu Aug 22 22:59:04 EDT 1996):
1155 * Experimental support for RFC1725-compliant POP servers with the UIDL
1156 command and without LAST.
1158 popclient-3.04 (Wed Aug 21 00:22:44 EDT 1996):
1160 * Logfile option works.
1164 * Minor bug fixes for password querying and redirection to stdout.
1166 popclient-3.02 (Fri Jul 19 11:37:56 EDT 1996):
1168 * Correct buggy processing of nokeep/noflush/fetchall.
1170 * Fix buggy -mda option processing.
1172 * Added -N/--norewrite option.
1174 * Delivery via sendmail now works in non-daemon mode.
1176 popclient-3.01 (Mon Jul 1 13:33:51 EDT 1996):
1178 * Fixed a lexical analyzer bug in quoted-string processing.
1180 * Fixed a bug in dump_options that caused username to be displayed incorrectly.
1182 * The lock assertion code was in the wrong place relative to the daemonize()
1185 popclient-3.0 (Fri Jun 28 11:33:34 EDT 1996):
1187 Eric S. Raymond <esr@thyrsus.com> hacked extensively on 3.0b6 and took over
1188 the package with the consent of Carl Harris, the original implementor.
1189 Some of the 3.0 feature additions were inspired by Sean Oh's fetchpop 1.8
1190 code, and a few use code directly lifted from fetchpop. Here are my (Eric's)
1193 CONFIGURATION AND BUILDING
1195 * The autoconfigure script incorrectly assumed that all Linuxes use
1196 /usr/bin/deliver. Under Linux it now checks for both /usr/bin/delivermail
1199 * I added a distribution-maker production to Makefile.in.
1201 OPTIONS AND COMMAND LINE
1203 * I have removed the -p command-line option. Given that there's a run control
1204 facility there is no excuse for encouraging users to put plaintext passwords
1205 in scripts which might be readable.
1207 * Calling popclient with no arguments now causes it to query or operate
1208 on every host in the run control file.
1210 * I have made --version more useful by having it dump the computed
1211 connection options for each server specified.
1213 * The user can now explicitly set an MDA (such as procmail) with the
1214 new option -m or -mda. Various possible MDAs are listed on the man page.
1218 * The run control file lexer now supports "-enclosed strings which may
1221 * I added a --yydebug option to enable run control parser debugging at
1222 runtime if the parser was generated with --debug. It's not documented.
1224 * You may now have a `defaults' entry in the run control file which sets
1225 overrideable values for other entries. See the man page for details.
1227 * It is now possible to set keep, flush and fetchall in your run control
1230 * Fixed incorrect numbering of source lines in run control file parse error
1233 * The configure.in specification no longer uses the obsolete AC_TRY_COMPILE
1234 macro (it uses AC_TRY_LINK instead).
1238 * I have added mandatory locking of mailbox files where supported.
1239 This will cover Linux systems, in particular.
1241 * The default behavior is now to do lock-protected append on the user's
1242 system mailbox rather than using delivermail or some other MDA.
1243 (This is a performance hack.)
1245 * The autoconfigure script now looks for standard mail locations. The
1246 default mail delivery agent is used only if it can't find a mail spool
1247 directory in the standard places.
1249 FUNCTIONAL ENHANCEMENTS
1251 * When using POP3, message headers are edited so that replies won't foo up.
1252 Anything that looks like a mail ID local to the POP host gets @ and the
1253 pop servername attached to it before being appended to the user's
1254 mailbox or passed to an MDA.
1256 * I have implemented daemon mode.
1258 * I have added a lock check to ensure that there is only one popclient
1259 running per user, and a --quit option to kill the currently running
1264 * All changes and feature additions have been tested in actual use and are
1265 documented on the man page.
1267 * I have turned the comments in the sample run control file into a new manual
1268 section documenting the file format.
1270 MISCELLANEOUS BUG FIXES
1272 * I fixed some de-initialization bugs in pop2.c and pop3.c that led to
1273 fd leaks (these became painfully obvious when I tested daemon mode!).
1275 * I've fixed the flaky parser error messages. They turned out to be due
1276 to a misdeclaration of yytext.
1278 These are Carl Harris's change notes from previous releases:
1281 o "From " header fix in pop2.c and pop3.c
1282 o Surpress "..." output when --stdout option specified in pop3.c
1286 o various diagnostic/informational message fixes.
1289 o Support for retrieving only new messages from maildrop when
1291 o Support for retrieving only the first n lines of each message
1293 o APOP authentication support.
1294 o Buffered socket input.
1297 This is a "new features" release.
1298 o support for .poprc file.
1299 o GNU-style long options.
1300 o fixed passwords appearing in 'ps' output
1301 o support for multiple servers on one command line
1304 This is mostly a test of the autoconfigure integration.
1305 Among the functions performed by the new configure script, is
1306 the ability to detect known system types, configures the mail
1307 delivery agent (MDA) correctly. This should permanently solve
1308 the problem of using something other than an MDA for mail
1309 delivery (which continues to plague Linux slackware 1.2.9).
1310 For this beta, please check the values of MDA_PATH and MDA_ARGS
1311 carefully. They should match the values found in your
1312 sendmail.cf file on the line which begins with "Mlocal".
1314 Other changes from popclient version 2.21:
1316 o no longer uses getpass() from the C library. The
1317 internal getpassword() function allows the use of long
1320 o integrated GNU getopt() for long options. Long option
1321 names will appear in a future beta.
1323 o Several compiler warnings fixed.
1325 o Fixed problems related to missing include files in