]> Pileus Git - ~andy/fetchmail/blob - NEWS
Try to fix the build code.
[~andy/fetchmail] / NEWS
1                            Known But Unresolved Bugs:
2
3 * In multidrop mode without an applicable localdomain, addresses of the
4   form "foo"@bar.com are not parsed correctly, even though they are
5   technically RFC822 legal. The general problem is mentioned on the man page.
6
7                             Features To Consider
8
9 * Generate bounce messages when delivery is refused.  See RFC1891, RFC1894.
10
11 * More log levels?
12
13 * Use the libmd functions for md5 under Free BSD?  (Low priority.)
14
15                                 Other TO-DO items:
16
17 * Get with Craig Metz to write a draft RFC on RFC1938 support in IMAP.
18
19                                 Release Notes:
20
21 ------------------------------------------------------------------------------
22 fetchmail-4.0.4 ()
23 * Overhauled the build machinery.
24 * The `no envelope' option now suppresses parsing or Received lines.
25 * Added Al Youngwerth as a backup maintainer.
26
27 fetchmail-4.0.3 (Mon Jul 28 16:39:17 EDT 1997)
28 * Replace vsprintf with vnsprintf to avoid buffer-overrun screws.
29 * Added via option to make ssh configuration cleaner.
30 * Added dropstatus option.
31 * Allow either `login' or `user' in .netrc files.
32
33 Interim release, mainly because I inadvertently messed up the web page.
34 Note: RFC1938 support is tentative, untested, and requires a patch to the
35 LIBOPIE library.  See the file LIBOPIE.PATCH for the sad details.
36 There are 258 people on the fetchmail-friends list.
37
38 fetchmail-4.0.2 (Mon Jul 17 20:54:30 EDT 1997)
39 * Experimental RFC1938 one-time password support using OPIE library,
40   courtesy of Craig Metz <cmetz@inner.net> (couthor of RFC1938).
41
42 Private release to Craig Metz only for OPIE testing.
43 There are 251 people on the fetchmail-friends list.
44
45 fetchmail-4.0.1 (Wed Jul 16 14:32:08 EDT 1997)
46 * Compilation cleanup for DEC Unix 4.0 and AIX.
47 * Corrected the machinery for remote builds.
48 * Minor improvements in failed-connection error messages.
49
50 A minor cleanup release for non-Linux systems.
51 There are 254 people on the fetchmail-friends list.
52
53 ------------------------------------------------------------------------------
54 fetchmail-4.0.0 (Wed Jul  9 10:30:16 EDT 1997)
55
56 This is a "gold" version.  Bug cleanup was finished (I hope...) in 3.9.9.
57 And about time, too, I've been hacking on this code for a year now!
58
59 * Fixes for minor compilation glitches on non-Linux systems.
60 * Progress messages now show total count as well as message number.
61 * Removed the popclient backward-compatibility hacks.
62 * Leif Erlingsson <leif@lege.com> sent a patch to separate a "lock busy"
63   condition from other authentication failures on a POP3 server.
64 * Allow duplicate server hostnames again.
65 * Fetchmail now returns 0 if *any* poll during the run succeeded.
66
67 There are 251 people on the fetchmail-friends list.
68
69 ------------------------------------------------------------------------------
70 pl 3.9.9 (Wed Jun 25 11:01:51 EDT 1997):
71 * We can now process multiple To headers a la Microsoft Exchange Server.
72 * Avoid sending LIST and getting an error when no messages are waiting.
73 * Allow `fetchmail' to do wakeup even when no .fetchmailrc.
74 * Fixed Paul Sutcliffe's headerless-mail bug triggered by -s.
75 * Added `pass8bits' to help prevent internationalization lossage.
76 * Add Guenther Leber's fixes for ETRN mode.
77
78 There are 248 people on the fetchmail-friends list.
79
80 pl 3.9.8 (Sat Jun 14 14:19:32 EDT 1997):
81 * Fetchmail is now normally built with optimization.
82 * POP2 support is no longer compiled by default, but you can configure
83   it in with `configure --enable-POP2'.
84 * If a .fetchmailrc entry has multiple user parts, the opening `username'
85   keyword is now required for all.
86 * Fetchall no longer overrides --limit.  
87 * Values of --limit, --fetchlimit, and --batchlimit in .fetchmailrc can now
88   be overridden from the command line by specifying an explicit option of 0.
89 * Architecture-independent RPM building.
90 * Fix code to work correctly with POP3 servers that don't return a reliable
91   size in the response to FETCH.
92
93 There are 261 people on the fetchmail-friends list.
94
95 pl 3.9.7 (Mon Jun  9 18:40:04 EDT 1997):
96 * Complain and exit if user tries to start fetchmail with options while a
97   background fetchmail is running.
98 * Various installation headaches are gone, INSTALL edited accordingly.
99 * Treat exim's 501 and (soon) 550 antispam responses as equivalent to 571.
100 * Separate header and body byte counts in IMAP progress messages.
101 * Man page updates, including removal of restriction on --syslog.
102 * You can now set --syslog in the .fetchmailrc file.
103 * Parse more different variants of IMAP "UNSEEN" message.
104 * Handle zero-length messages correctly.
105
106 There are 252 people on the fetchmail-friends list.
107
108 pl 3.9.6 (Wed May 28 18:28:35 EDT 1997):
109 * Fix the libc6 configuration stuff (thanks to Jesse Thilo).
110 * Support for Kerberos-v4-authenticated IMAP (thanks to Rudolph Maceyko).
111 * Don't choke on RFC822 group names.
112 * More improvements in RFC822 name parsing.
113 * Interval skip feature, courtesy of Hal DeVore.
114
115 There are 257 people on the fetchmail-friends list.
116
117 pl 3.9.5 (Sun May 18 01:05:13 EDT 1997):
118 * Add an error notification when an incoming message has embedded NULs.
119 * Throw out >From lines in headers to prevent getting hosed by upstream
120   sendmails with the 'E' option on.
121 * Enable forcecr to work on the \r\n header terminator line.
122 * Multiple-folder support for POP2 and IMAP.
123 * Under IMAP, bodies of messages refused by SMTP's 571 response are no longer
124   fetched.
125 * Configure should do the right thing with libc6 now.
126
127 There are 249 people on the fetchmail-friends list.
128
129 pl 3.9.4 (Wed May 14 12:27:22 EDT 1997):
130 * Fixed a compilation glitch for systems like SunOS & others without atexit(3).
131 * Fixed a compilation glitch in daemonize for HP-UX.
132 * Changes to compile correctly on systems that have on_exit() but not atexit().
133 * Changes to forbid duplicate server names in the rc file.
134 * Do caseblind comparisons of host and user names everywhere.
135 * IMAP retrieval can now handle messages with embedded NULs.
136 * Fixed a core dump in .netrc searching reported by Jim Spath.
137
138 There are 248 people on the fetchmail-friends list.
139
140 pl 3.9.3 (Wed May  7 11:40:47 EDT 1997):
141 * Fix for -I option from George Sipe.
142 * Finally got error.c to compile under AIX, thanks to Dave Vinish.
143 * Prevent header rewrite logic from appending mailserver name to blank To.
144 * When header rewrite is on, hack Return-Path as well.
145
146 There are 240 people on the fetchmail-friends list.
147
148 pl 3.9.2 (Wed Apr 23 14:07:03 EDT 1997):
149 * Fixed a glitch in the Makefile yacc and lex productions
150 * Add logic for X-Fetchmail-Warning emission of \r\n to pacify qmail.
151 * Yet another try at getting error.c to play nice with AIX.
152
153 There are 224 people on the fetchmail-friends list.
154
155 pl 3.9.1 (Thu Apr 17 11:37:14 EDT 1997):
156 * Hypertext FAQ added to distribution manifest.
157 * RPM builder production fixed.
158 * Minor additions and corrections to man page.
159 * Delivery failures are now syslogged as LOG_ERR, not LOG_INFO.
160 * --check now turns off --daemon.
161 * --syslog is now independent of --daemon.
162 * Multiple-error X- headers are improved.
163 * Added `forcecr' to fix qmail problems by forcing CRLF termination.
164
165 There are 222 people on the fetchmail-friends list.
166 (many bad addresses were dropped after the switchover to SmartList)
167
168 ------------------------------------------------------------------------------
169 fetchmail-3.9 (Wed Apr  2 13:36:22 EST 1997)
170
171 features --
172
173 * It is now possible to set a default poll interval with `set daemon'.
174
175 * -U/uidl option to force UIDL use under POP3 (thanks, Ingmar Baumgart).
176
177 bugs -- 
178
179 * Server-response timeouts were broken.  Various symptoms of this problem
180   were reported by Klee Dienes <klee@mit.edu>, Dirk Eddelbuettel
181   <edd@rosebud.sps.queensu.ca>, Robert V. Schipper <rvs@gol.com>,
182   and Steven Brown <swbrown@ucsd.edu>.
183
184 * George Sipe sent a fix for the --monitor code.
185
186 * --norewrite was a no-op.  Fixed.
187
188 * Fetchmail was aborting with "partial message buffer overflow" on Suns
189   due to unreliable vsprintf return.  This has been fixed with changes
190   to error.c.
191
192 There are 268 people on the fetchmail-friends list.
193
194 ------------------------------------------------------------------------------
195 fetchmail-3.8 (Fri Mar  7 17:34:02 EST 1997)
196
197 features --
198
199 * More FAQ material on using `localdomains'.
200
201 * Compilation hacks for ISC 4.0 (thanks, Larry Jones!).
202
203 bugs --
204
205 * Enabled ETRN and RPOP command-line options.
206
207 * Yet another attempt to fix the error.c compilation problems under
208   Solaris and NEXTSTEP.
209
210 * Handle \( and \) correctly in RFC822 comments, thanks to Gareth McCaughan.
211
212 * Fixed off-by-one error fingered by Brian Jones that prevented
213   `localdomains' from working.
214
215 There are 248 people on the fetchmail-friends list.
216
217 ------------------------------------------------------------------------------
218 fetchmail-3.7 (Fri Feb 21 17:38:40 EST 1997)
219
220 features --
221
222 * You can now specify a hunt list of SMTP forwarding hosts.
223
224 * Treat unexpected EOF as a protocol error.
225
226 * DNS errors no longer abort an entire poll.  Instead they just cause 
227   forwarding and deletion of the current message to be suppressed.  
228
229 * -v output now includes the version/pl numbers (help for harried maintainer!).
230
231 bugs --
232
233 * Fix password-shrouding logic so it doesn't crap out on a zero-length
234   password.
235
236 * Various error-logging fixes by Dave Bodenstab.
237
238 * Fix parsing bug that broke UIDL-processing code.
239
240 There are 233 people on the fetchmail-friends list.
241
242 ------------------------------------------------------------------------------
243 fetchmail-3.6 (Mon Feb 17 00:19:55 EST 1997)
244
245 features --
246
247 * Use Return-Path for RCPT FROM if possible for better behavior on mailing
248   lists and bouncemail.
249
250 * New Makefile production to generate an RPM.
251
252 * The `no received' option of 3.4 is gone.  Instead, say `no envelope'. 
253   This suppresses all attempts to extract an envelope address and route
254   based on it.  If you set `no envelope' in the defaults entry it is possible
255   to undo that in individual entries by using `envelope <string>'.
256
257 bugs --
258
259 * Yet another fix to the password-shrouding logic.
260
261 * Fix bug that screwed up IMAP mail reception in -v mode *only*.
262
263 There are 229 people on the fetchmail-friends list.
264
265 ------------------------------------------------------------------------------
266 fetchmail-3.5 (Sat Feb 15 15:19:36 EST 1997)
267
268 features --
269
270 * The host that ETRN specifies is now set by the smtphost option.
271
272 * It is now possible to suppress Received line parsing in multidrop mode
273   with a new `no received' per-server option.
274
275 * Major FAQ reorganization and additions.
276
277 * .poprc-style `user'-less entry now triggers a warning.
278
279 bugs --
280
281 * The counter referred to by the batchlimit option used to count not only 
282   fetched messages but skipped ones.  This has been fixed.
283
284 * Compilation fixes for Kerberos V4 support and GNU glibc2 support.
285
286 There are 230 people on the fetchmail-friends list.
287
288 ------------------------------------------------------------------------------
289 fetchmail-3.4 (Wed Feb 12 19:23:06 EST 1997)
290
291 features --
292
293 * Support for ESMTP ETRN extension.
294
295 * It is now possible to turn off option flags in individual server entries
296   that had been turned on in a `defaults' entry.
297
298 * The code should now deal gracefully with headerless mail.
299
300 bugs --
301
302 * The bug that displayed incorrect sizes for POP3 connections has been fixed.
303
304 * Upped the %a option in the lexer file so SunOS 4.1.3 lex won't choke with a
305   "Too Many Transitions" error.
306
307 * Size-ticker dots are now disabled when verbose is on.  This should eliminate
308   some alarming but harmless "(message incomplete)" messages from the
309   error-logging machinery.
310
311 * A core dump in save_str_pair() that only showed up on some systems has
312   been fixed.
313
314 There are 223 people on the fetchmail-friends list.
315
316 ------------------------------------------------------------------------------\
317
318 pl 3.3.2 (Mon Feb  3 12:59:33 EST 1997):
319 * Minor fixes to stripcr and password-shrouding logic.
320
321 pl 3.3.1 (Sun Feb  2 02:17:07 EST 1997):
322 * Fix incorrect stripcr processing
323 * Unapply a patch that broke error logging to files.
324
325 ------------------------------------------------------------------------------\
326 fetchmail-3.3 (Sat Feb  1 15:15:13 EST 1997)
327
328 features --
329
330 * Whether or not carriage returns will be stripped on output is explicitly
331   controllable with stripcr.
332
333 * fetchmail -v messages no longer reveal password lengths.
334
335 bugs --
336
337 * Correction to length-extraction code for servers that return (nnn octets).
338
339 * Correction to RF822 continuation code so it doesn't eat leading blank-led
340   lines in the text.
341
342 There are 215 people on the fetchmail-friends list.
343
344 ------------------------------------------------------------------------------
345 fetchmail-3.2 (Mon Jan 27 02:51:10 EST 1997)
346
347 features --
348
349 * Better error notification on IMAP select failure.
350
351 bugs --
352
353 * The code can now handle arbitrarily long address lists.
354
355 * Fix RFC822 parsing to strip comments at end of bare addresses.
356
357 * Explicitly strip CRs out of fetched mail.
358
359 * Corrections to 8BITMIME processing.
360
361 There are 207 people on the fetchmail-friends list.
362
363 ------------------------------------------------------------------------------
364 fetchmail-3.1 (Fri Jan 24 12:45:18 EST 1997)
365
366 features --
367
368 * Forwarding is now done via ESMTP where possible.
369
370 * ESMTP 8BITMIME option is supported; when 8BITMIME is supported and the
371   Content-Transfer-Encoding header is 7BIT or 8BIT, it is appended to the
372   MAIL FROM command as a BODY option.
373
374 * ESMTP SIZE option is supported when using IMAP2bis or IMAP4.  This means
375   messages too long for the local ESMTP listener will be rejected *before*
376   they are passed to the ESMTP listener.
377
378 * IMAP code now detects IMAP4rev1 capabilities (RFC 2060) and uses them.
379   (It will fall back to IMAP4 or IMAP2bis depending on what it sees.)
380
381 bugs --
382
383 * Compilation fixes for non-Linux machines.
384
385 There are 205 people on the fetchmail-friends list.
386
387 ------------------------------------------------------------------------------
388 fetchmail-3.0 (Tue Jan 21 16:44:56 EST 1997)
389
390 features --
391
392 * `interface' and `monitor' options are now per-server.
393
394 * `batchlimit' option is now per-user.
395
396 * RFC822 header continuation for long address lists is is now handled properly.
397
398 * There is now a `nodns' option to suppress DNS checking of address hostname
399   parts in multidrop mode (make sure your aka list is complete before you use
400   this!).
401
402 * Options such as `nokeep' can now be written `no keep'.
403
404 * RPOP support is back by user request.
405
406 Note: The first two changes mean that older .fetchmailrc files using
407 the `set' syntax for these options will cause fetchmail to die with a
408 parse error at initialization time.  Conversion is trivial -- for
409 details, see the FAQ.
410
411 bugs --
412
413 * Stricter parsing of greeting message for the host name; eliminates some
414   minor errors when using IMAP and the hostname is something like jet.es.
415
416 * --quit in root-daemon mode didn't work, fixed this.
417
418 * Ensure that default server parameters get properly zeroed out after each
419   poll or skip statement in .fetchmailrc. 
420
421 * Arrange an EXPUNGE after each delete when using IMAP, so deletions get done
422   OK even if there's a socket error before termination.
423
424 * Simpler and better header-rewrite code, fixing some weird cases where 
425   it failed.  Thanks to Masafumi NAKANE <max@wide.ad.jp> and
426   Carey Evans <c.evans@student.canterbury.ac.nz> for pointing out these
427   problems.
428
429 * Handle zero-length messages properly; thanks to Bob Craycroft.
430
431 Note: the RFC subdirectory is no longer included with the distribution
432 (this cut its size in half!)  Instead, applicable RFCs are listed on the
433 manual page.
434
435 There are 201 people on the fetchmail-friends list.
436
437 ------------------------------------------------------------------------------
438 fetchmail-2.8 (Sat Jan 11 15:48:33 EST 1997)
439
440 features -- 
441
442 * We now get the hostname used for progress messages from the server greeting.
443   This means you'll get sensible-looking progress messages even when using
444   ssh to redirect secure connections.
445
446 * Reorganized and improved man page.
447
448 * Mail header parsing now handles RFC822 escapes properly.
449
450 bugs --
451
452 * Stop netrc parser from complaining about blank lines.
453
454 * Add ssh recipe correction.
455
456 * Eliminate infinite-loop bug in defaults handling.
457
458 * Fixed some address-parsing bugs in rfc822.c:nxtaddr().
459
460 * 2.7 broke portability to Solaris.  Fix that.
461
462 There are 184 people on the fetchmail-friends list.
463
464 ------------------------------------------------------------------------------
465 fetchmail-2.7 (Thu Jan  9 03:18:15 EST 1997)
466
467 features -- 
468
469 * New --syslog option by Dave Bodenstab.
470
471 * Automatic parsing of ~/.netrc for a mailserver password if necessary, thanks
472   to Gordon Matzigkeit.
473
474 * Added preconnect option for initializing ssh connections.
475
476 * Added local-domains support for multidrop as requested by Pablo Saratxaga.
477
478 * More FAQ material on how and when to use --interface.
479
480 bugs --
481
482 * Fixed a minor bug introduced into From handling by 2.6.
483
484 * Fixed bug in SMTP forwarding of msg lines with leading dot.
485
486 * Fixed a bug that generated incorrect HELO for second and subsequent
487   poll entries attached to the same SMTP host.
488
489 There are 177 people on the fetchmail-friends list.
490
491 ------------------------------------------------------------------------------
492 fetchmail-2.6 (Fri Dec 27 12:42:56 EST 1996)
493
494 features -- 
495
496 * IMAP4 code now sets the server "seen" flag on each message if "keep" is on.
497
498 * New FAQ material on how to use --interface.
499
500 bugs --
501
502 * Dropped back to separate SockGets/SockWrite code with no attempt at
503   stdio buffering -- we hope this will fix the Solaris peoples' problems.
504
505 * Fixed length-computation bug (apparently introduced in 2.3) that messed
506   up IMAP deletes.
507
508 There are 169 people on the fetchmail-friends list.
509
510 ------------------------------------------------------------------------------
511 fetchmail-2.5 (Mon Dec 23 04:18:54 EST 1996)
512
513 features -- 
514
515 * New --interface and --monitor options for Linux courtesy of George Sipe.
516
517 bugs --
518
519 * Replaced bug-prone setvbuf with setlinebuf.
520
521 * Moved lock file to ~/.fetchmail to eliminate various /tmp problems.
522
523 There are 165 people on the fetchmail-friends list.
524
525 ------------------------------------------------------------------------------
526 fetchmail-2.4 (Sat Dec 21 05:24:44 EST 1996)
527
528 features -- 
529
530 * Add FAQ material on troubleshooting and working around SMTP connection
531   failures.
532
533 bugs --
534
535 * Fixed a core-dump bug in MX processing that's been lurking there for ghods
536   know how long.  It could never have been more than rare.
537
538 * Fixed a minor bug in Received processing.
539
540 * Restored compile-time portability to Solaris.
541
542 * Initial 2.4 said: "Force line-buffering on socket streams (Linux apparently
543   defaults to this). This may fix some hang problems reported under Solaris."
544   Unfortunately this "fix" triggers horrible lossage on long messages and had
545   to be removed.
546
547 There are 166 people on the fetchmail-friends list.
548
549 ------------------------------------------------------------------------------
550
551 features -- 
552
553 * Full IMAP4 support -- we now probe for IMAP4 capabilities and use 
554   RFC822.PEEK when possible to avoid marking messages seen on the server
555   before they are deleted.  This improves recovery from sendmail and
556   dropped-connection errors.
557
558 * True stdio buffering of sockets at last, thanks to Cameron McPherson.
559   This should be good for a significant throughput increase.
560
561 * Almost all error messages that might be emitted in daemon mode now go
562   through the error() subroutine.  This is a first step towards allowing
563   a daemon-mode fetchmail to use syslog.
564
565 * SIGUSR1 is now used for wakeup rather than SIGHUP.  This eliminates any
566   possible confusion about fetchmail's behavior at logout time.
567
568 * Received line parsing for envelope addresses now matches MX as well as 
569   canonical DNS addresses, making multidrop routing slightly more reliable.
570
571 * Added --fetchlimit option to limit number of messages fetched in a
572   single poll.
573
574 bugs --
575
576 * Fixed a FreeBSD compilation glitch involving SIGCLD (thanks to
577   Masafumi NAKANE).
578
579 * Added some port patches for NEXTSTEP.
580
581 * SIGCHLD used everywhere now, not SIGCLD (this was strictly a cosmetic bug).
582
583 * Prevent occasional hangs when fetchmail was terminated by signal.
584
585 There are 168 people on the fetchmail-friends list.
586
587 ------------------------------------------------------------------------------
588 fetchmail-2.2 (Mon Dec  9 00:15:01 EST 1996):
589
590 features --
591
592 * If SMTP returns 571 (unsolicited mail refused) to a MAIL FROM, the
593   address is excluded by the local sendmail's spam filter.  Drop the mail.
594   (This is the only circumstance in which mail is thrown away.)
595
596 * The header your mailserver uses to convey envelope addresses is no longer
597   wired to `X-Envelope-Header'.  You can now specify it with the `envelope'
598   option in .fetchmailrc.  (This header is not RFC822 standard, and we have a
599   report of an ISP using X-Frontier-To).
600
601 bugs --
602
603 * Fixed a startup-time core dump introduced by 2.1's aka-list feature.
604
605 * Fixed a bug in non-implicit mode (poll specified host), also due to aka.
606
607 * Various minor portability fixes for Suns.  Adding #include <errno.h>
608   in fetchmail.c was the most significant one. 
609
610 * Avoid using -lresolv when possible, some Linux versions are badly broken.
611
612 * Fix error in MX record handling that was causing multidrop problems.
613
614 * Disable daemon SIGCHLD handler while an MDA is running, to avoid snafus.
615   Thanks to Dave Bodenstab <imdave@synet.net> for spotting this obscure bug.
616
617 156 people on the contact list.
618
619 ------------------------------------------------------------------------------
620 fetchmail-2.1 (Thu Nov 28 11:07:48 EST 1996):
621
622 features --
623
624 * Added FAQ file.
625
626 * Try to pass envelope From to the listener so that logging and procmail
627   processing works right.  If that fails, fall back on calling-user.
628
629 * Added `set logfile = ' option to rc syntax.
630
631 * We now use X-Envelope-To headers and parse the Received lines.  If
632   X-Envelope-To is found, OK; otherwise we look for a `Received for' line;
633   either is treated as a true envelope address.  If neither of these are
634   found we go to the To/Cc/Bcc header addresses.
635
636 * Added `*' as a wildcard option for multidrop to ... here.  This will allow
637   names to be local names to be passed through from a multi-drop box on
638   a mailserver 
639
640 * Added an `aka' option to allow users to declare mailserver aliases at start
641   of run, so DNS does less work.  During a run, cache host matches on the
642   aka list so no potential alias has to be DNS-checked more than once.  
643   A server being polled explicitly may be referred to by any of its aliaseses.
644
645 bugs --
646
647 * Nalin Dahyabhai's fix patch for MIT Kerberos V4 support.
648
649 * Fixed a fencepost error in the APOP code that was causing a core dump.
650
651 * Skip flag wasn't getting reset on poll hosts following a skipped one.
652
653 * Include remote name in saved UID mappings so multiple POP accounts on
654   the same server won't get their UIDs confused.
655
656 138 people on the contact list.
657
658 ------------------------------------------------------------------------------
659 fetchmail-2.0 (Mon Nov 18 00:32:17 EST 1996):
660
661 * Fix typo in setitimer call setup that caused obscure bugs under FreeBSD.
662 * Accept Apparently-To if there is no To header.
663 * Include Cameron McPherson's patch for handling multi-line SMTP responses.
664 * Don't try to feed listener the header From any more.
665
666 pl 1.9.9 (Mon Nov 11 10:40:14 EST 1996):
667 * Accept Resent-From & Apparently-From a la RFC822.
668 * Include file fixes for Solaris 2.5 and FreeBSD 2.2.
669 * Improved error notification on SMTP and no-matching-local-address errors.
670 * Delivery to multidrop mailboxes now always aborts on DNS errors.
671 * Batch limit option prevents long delivery delays on smail/qmail.
672 * Configuration now handles -lresolv and non-Linux bind libraries correctly.
673
674 pl 1.9.8 (Wed Nov  6 16:40:34 EST 1996):
675 * Don't append spurious NUL to the headers, qmail actually notices it.
676 * Fatal bug in multidrop code fixed.
677 * Fail cleanly, instead of core-dumping, on mail lacking an RFC822 From line.
678 * Don't try to keep the SMTP socket open across poll cycles.
679
680 pl 1.9.7 (Fri Nov  1 10:02:34 EST 1996):
681 * %s is back.  Seems some popular MDAs actually choke on name arguments.
682 * We can handle responses longer than the socket atomic read length now.
683
684 pl 1.9.6 (Thu Oct 31 00:07:23 EST 1996):
685 * Make rewrite option handle multiple comma-separated local names correctly.
686 * Fix yet another fatal error in MDA argument list construction.
687 * Reset timeout every time input is received.
688 * Correct localname detection when --norewrite is on.
689
690 pl 1.9.5 (Tue Oct 29 20:07:41 EST 1996):
691 * Added -N, --nodetach option for debugging purposes.
692 * Use interval timers for poll-interval sleep and nonresponse timeout.
693 * fetchmail -q no longer parses the configuration file.
694 * Configuration file grammar is slightly cleaned up and improved.
695
696 pl 1.9.4 (Mon Oct 28 20:58:48 EST 1994):
697 * Correct status interpretation in closemailpipe() (thanks to Neil Harkins).
698 * Tweak SMTP forwarding to only open one listener per SMTP host in daemon mode.
699
700 pl 1.9.3 (Sun Oct 27 22:35:33 EST 1996):
701 * Handle nested parens in RFC822 comments.
702 * More gcc -Wall cleanup.
703 * Improved installation docs.
704 * Don't query DNS on startup unless needed for Kerberos or multidrop mailboxes.
705
706 pl 1.9.2 (Sun Oct 27 01:10:30 EST 1996): 
707 * Fix initialization-time core dump when running as root
708 * Fix fatal error in MDA argument-list construction.
709
710 118 people on the contact list.
711
712 ------------------------------------------------------------------------------
713 fetchmail-1.9 (Fri Oct 25 23:02:26 EDT 1996):
714
715 We've hit the century mark -- exactly 100 people on the fetchmail-friends list.
716
717 features --
718
719 * FEATURE FREEZE IS NOW IN EFFECT!  No new features until after 2.0.  Thanks
720   to everybody who contributed ideas and criticism.
721
722 * It is now possible to specify multiple local recipients by giving a list
723   of names following "to" or "is".  Each local recipient is checked for in the
724   To:, Cc: and Bcc: headers of each message; if a match is found, the message
725   is sent to that local recipient.  This makes it possible to do mailing
726   lists and multidrop mailboxes.  See the man page for details (and note
727   the caveat in the BUGS AND KNOWN PROBLEMS section).
728
729 * It is possible to specify a size limit for retrieved messages.  I resisted
730   doing this because I don't want fetchmail to be in the filtering game, but
731   too many Europeans begged for it because their telecomms monopolies are
732   price-gouging them on per-second phone charges.  I will ignore, or be
733   extremely rude to, anyone who takes this feature as a license to beg me
734   for kill files or any other form of content-based filtering.  Use 
735   procmail on your server if you want that.
736
737 * If you use an MDA, the internal changes to support multi-drop mailboxes
738   require that you *remove* the %s at the end of your MDA string.  Local 
739   delivery addresses will be appended to the end of the command in the
740   obvious way.
741
742 * The first message from a query now includes the number of old messages
743   when this can be determined (that is not under POP2).
744
745 * POP3 UID support really works now.  I make rude noises at the POP3 mavens
746   who forced us to this with RFC1725, but thank Al Longyear <longyear@sii.com>
747   for fixing and verifying my slightly buggy implementation.
748
749 * Kerberos V4 support ditto.  Thanks to Chris Hanson <cph@martigny.mit.edu>
750   for this feature.
751
752 * When there's a daemon fetchmail in background, running fetchmail in
753   foreground without --quit now tries to wake the daemon and force it
754   to poll immediately.
755
756 * Add option to set server nonresponse timeout.
757
758 * Password is no longer displayed in verbose mode.
759
760 * You may use C-like escapes to embed non-printables in passwords and other
761   strings.  Fetchmail -V will display them in a printable form.
762
763 * Program now tries to set itself to the ID of the local user before
764   running an MDA, and reset to root afterwards.  This will work on
765   any system with seteuid(2), including Linux and the BSDs.
766
767 bugs --
768
769 * Default user name to deliver to is now the calling user, unless
770   program is running as root in which case it is the remote user name
771   (default can be overridden with an `is' or `to' declaration).
772   In versions up to 1.7 it was the calling user; in 1.8 the remote
773   user ID.  This created some confusion.
774
775 * Accept RFC822 headers with a tab after the colon.
776
777 * You now see a "skipping" message for each message not retrieved.
778
779 * --keep no longer overrides --flush.
780
781 * Rewrite "To: jrh (J. Random Hacker)" correctly.
782
783 * Find "nnn octets" anywhere on a POP3 server's RETR response line.
784
785 * Fixed various bugs in --check.  It now reports PS_SUCCESS only if
786   there is new mail waiting.
787
788 * Under Linux, if fetchmail is run in daemon mode with the network
789   inaccessible, each poll leaves a socket allocated but in CLOSE state
790   (this is visible in netstat(1)'s output).  These sockets aren't
791   garbage-collected until fetchmail exits.  When whatever kernel table
792   is involved fills up, fetchmail can no longer run even if the network is up.
793   To avoid this, fetchmail now commits seppuku after some number of
794   unsuccessful socket opens.
795
796 * Don't try using FLAGS.SILENT, some allegedly IMAP2bis servers seem to
797   choke on it.
798
799 ------------------------------------------------------------------------------
800 fetchmail-1.8 (Fri Oct 11 15:08:10 EDT 1996):
801
802 features --
803
804 * Use kill(0, pid) to make lock handling a bit smarter (thanks to Johan
805   Vromans <JVromans@squirrel.nl> for the suggestion).
806
807 * Arrange for timeout of client after 5 minutes if connection to server is 
808   dropped (thanks to Gaspar Sinai <gsinai@gol.com>).
809
810 * All pretensions to RPOP support have been dropped.  Yes, this is a feature,
811   RPOP is very vulnerable to spoofing!  Use APOP instead.
812
813 * Normal start-of-read message now displays the byte (excuse me, "octet")
814   size of the message.  Yes, 3schwend, you can stop noodging me now :-).
815
816 * Normal progress notifications now take only 1 line per message, not 2.
817
818 * Linux packagers: building fetchmail now generates an RPM specfile for it.
819
820 * Kerberos V4 support via KPOP protocol (thanks to Chris Hanson).
821
822 * New --check option for asking server whether there is mail without
823   actually retrieving or deleting it.
824
825 * UID support is back by popular demand.  Bletch.
826
827 * Permit spaces in IMAP passwords (ship them as quoted strings).
828
829 bugs --
830
831 * Fix buggy getopt specification of P and p options.
832
833 * Fix uninitialized-variable bug that was hanging second IMAP queries.
834
835 ------------------------------------------------------------------------------
836 fetchmail-1.7 (Tue Oct  8 11:32:44 EDT 1996):
837
838 features --
839
840 * Noise words for rcfile syntax make English-like syntax possible.
841
842 * Make configure more GNUish; it understands --prefix and other standard
843   autoconf options now (see INSTALL for details)
844
845 * Better documentation of the new .fetchmailrc extensions and the slightly
846   stricter rules for ordering options.
847
848 * Expanded installation instructions including how to test for correct
849   operation without losing mail to misconfigured MDAs, alias loops, etc.
850
851 bugs --
852
853 * You may have to rearrange the order of options in your .fetchmailrc.
854   The grammar for the new multiple-user syntax requires that server 
855   options (protocol and port) come before any user options.
856
857 * Fixed core dump bug that was screwing configurations with no .fetchmailrc.
858
859 * Fixed broken 'p' option.
860
861 * `norewrite' and `rewrite' in .fetchrc were the inverses of what they
862   should have been (but the rewrite default was set correctly).
863
864 ------------------------------------------------------------------------------
865 fetchmail-1.6 (Sun Oct  6 20:55:09 EDT 1996):
866
867 features --
868
869 * You can now have multiple entries for the same server but different
870   users, and the right thing will happen (each user's mailbox will
871   be queried).  Even better, you can now specify multiple users in a
872   single server entry.
873
874 * Restore --mda, seems some people either can't run a port 25 listener
875   due to bizarre dynamic-SLIP problems, or won't for security reasons.
876
877 * When delivering to an MDA, print error and die (before deleting the message!)
878   if the MDA returns nonzero status.  Better safe than sorry.
879
880 * If fetchmail is called through a link named `popclient' it will look in
881   ~/.poprc for a run control file.  Unless that file includes the deleted
882   options limit and localfolder this should actually work.
883
884 bug fixes --
885
886 * Makefile fixes for correct linking on Sparcs and avoiding duplication of
887   the md5 files (leading to harmless install-time error messages).
888
889 * Fix a bonehead coding error in pop3_delete() that was masked by the
890   Intel register architecture.  *blush*  Thanks to Jay Anderson
891   <anderson@optical.bms.com>.
892
893 * Fix bug that prevented SMTP from being specified on the defaults line.
894
895 * Allow program to generate correct lockfiles when USER is undefined
896   (i.e. under zsh).
897
898 * Allow program to run with no .fetchmailrc file again.
899
900 ------------------------------------------------------------------------------
901 fetchmail-1.5 (Thu Oct  3 04:35:15 EDT 1996):
902
903 * Naturally, my decision to announce 1.4 on comp.os.linux.announce 
904   immediately caused the code to manifest its first real bug --
905   a core dump when the "From:" header is spelled "from:" (all lower
906   case).  Fixed.
907
908 * Update and expansion of NOTES.
909
910 * The --all and --flush flag validity checks move to driver.c.
911
912 ------------------------------------------------------------------------------
913 fetchmail-1.4 (Wed Oct  2 09:22:37 1996):
914
915 * More man page improvements.
916
917 * Lexer changes to work around bison's "feature" of silently ignoring 0-value
918   tokens (caused options nokeep, norewrite, nofetchall, noskip to be no-ops).
919
920 ------------------------------------------------------------------------------
921 fetchmail-1.3 (Tue Oct  1 05:49:49 1996):
922
923 * Significant man page improvements.
924
925 * Escapes for newlines in .fetchmailrc are now optional.
926
927 * Kill off -2 and -3 options, redundant popclient remnants.
928
929 * IMAP code simplification and robustification.  Use FETCH FLAGS to find
930   seen messages.  Code should now work even if unseen messages are 
931   interspersed with seen ones, and even if messages are appended to the
932   mailbox during the run.
933
934 ------------------------------------------------------------------------------
935 fetchmail-1.2 (Sat Sep 28 15:40:50 EDT 1996):
936
937 * The great option massacre.  Remove --stdout, --limit, --local, --mda.
938   We get a significant code and complexity shrinkage this way (a lot of the
939   configuration machinery goes away too).  These things are your MDA's job.
940   (This also kills off the lose-mail-on-disk-full bug, which I've never 
941   seen but two users reported.)
942
943 * Link APOP support by default.
944
945 * Fix embarrassing Makefile bug.
946
947 ------------------------------------------------------------------------------
948 fetchmail-1.1 (Sat Sep 28 09:21:10 EDT 1996):
949
950 * In POP3, don't send LAST if STAT shows count of waiting messages to be zero.
951
952 * Document APOP better, we know it works now.
953
954 * Lose the .fetchids file and give up on POP3 UIDs, they're a dead loss.
955
956 ------------------------------------------------------------------------------
957 fetchmail-1.0 (Thu Sep 26 11:59:38 EDT 1996):
958
959 * SMTP forwarding and header-rewrite features work with POP2 now.
960
961 * Stricter RFC822 conformance, so SMTP to qmail works.  Thanks to
962   Cameron MacPherson <unsound@oz.net> for these changes.
963
964 * The program is quieter but more informative now (suppress printing of
965   server greeting message; add the server host being queried to the
966   message count information line).
967
968 * Add `skip' option to make it easier to set up test entries.
969
970 * Name change (it ain't just for POP any more).
971
972 ==============================================================================
973 popclient-3.2 (Mon Sep 23 13:29:46 EDT 1996):
974
975 * RPOP support (coded at a user's request but untested).
976
977 * Ported to QNX (see the Makefile).
978
979 * Add code by Michael Schwendt <3schwend@informatik.uni-hamburg.de> for
980   improved sizeticker.
981
982 * Improved RFC822 parsing (thanks to Rob Funk).
983
984 * Move the per-user lockfile to /tmp so it gets cleared at reboot time.
985
986 * Warn users that running concurrent instances of popclient is a bad idea.
987
988 * Try USER and HOME to set defaults before going to the password file.
989   This should work better in Sun NIS environments.
990
991 popclient-3.1 (Thu Sep 12 15:45:25 EDT 1996):
992
993 * MDA arguments are now dumped when using the -V option.
994
995 * Sendmail delivery from background seems to work now.
996
997 * We have IMAP2bis/IMAP4 support.
998
999 * Code now autoprobes for a POP3, IMAP, or POP2 server if no protocol is
1000   specified.
1001
1002 * SMTP forwarding support.  Thanks to Harry Hochheiser <harry@tigger.jvnc.net>
1003   for this simple but clever idea.  It's now the default delivery mode.
1004
1005 * If no UNIX From line is found, popclient will now synthesize a correct
1006   line from the RFC822 From line.
1007
1008 * It is now possible to specify the host TCP/IP port number to connect to.
1009
1010 popclient-3.05 (Thu Aug 22 22:59:04 EDT 1996):
1011
1012 * Experimental support for RFC1725-compliant POP servers with the UIDL
1013   command and without LAST.
1014
1015 popclient-3.04 (Wed Aug 21 00:22:44 EDT 1996):
1016
1017 * Logfile option works.
1018
1019 popclient-3.03:
1020
1021 * Minor bug fixes for password querying and redirection to stdout.
1022
1023 popclient-3.02 (Fri Jul 19 11:37:56 EDT 1996):
1024
1025 * Correct buggy processing of nokeep/noflush/fetchall.
1026
1027 * Fix buggy -mda option processing.
1028
1029 * Added -N/--norewrite option.
1030
1031 * Delivery via sendmail now works in non-daemon mode.
1032
1033 popclient-3.01 (Mon Jul  1 13:33:51 EDT 1996):
1034
1035 * Fixed a lexical analyzer bug in quoted-string processing.
1036
1037 * Fixed a bug in dump_options that caused username to be displayed incorrectly.
1038
1039 * The lock assertion code was in the wrong place relative to the daemonize()
1040   call.  
1041
1042 popclient-3.0 (Fri Jun 28 11:33:34 EDT 1996):
1043
1044 Eric S. Raymond <esr@thyrsus.com> hacked extensively on 3.0b6 and took over
1045 the package with the consent of Carl Harris, the original implementor.
1046 Some of the 3.0 feature additions were inspired by Sean Oh's fetchpop 1.8
1047 code, and a few use code directly lifted from fetchpop. Here are my (Eric's)
1048 change notes:
1049
1050 CONFIGURATION AND BUILDING
1051
1052 * The autoconfigure script incorrectly assumed that all Linuxes use
1053   /usr/bin/deliver.  Under Linux it now checks for both /usr/bin/delivermail
1054   and /bin/mail.
1055
1056 * I added a distribution-maker production to Makefile.in.
1057
1058 OPTIONS AND COMMAND LINE
1059
1060 * I have removed the -p command-line option. Given that there's a run control
1061   facility there is no excuse for encouraging users to put plaintext passwords
1062   in scripts which might be readable.
1063
1064 * Calling popclient with no arguments now causes it to query or operate
1065   on every host in the run control file.
1066
1067 * I have made --version more useful by having it dump the computed
1068   connection options for each server specified.
1069
1070 * The user can now explicitly set an MDA (such as procmail) with the
1071   new option -m or -mda.  Various possible MDAs are listed on the man page.
1072
1073 POPRC FILE SYNTAX
1074
1075 * The run control file lexer now supports "-enclosed strings which may 
1076   contain whitespace.
1077
1078 * I added a --yydebug option to enable run control parser debugging at 
1079   runtime if the parser was generated with --debug.  It's not documented.
1080
1081 * You may now have a `defaults' entry in the run control file which sets 
1082   overrideable values for other entries.  See the man page for details.
1083
1084 * It is now possible to set keep, flush and fetchall in your run control
1085   file.
1086
1087 * Fixed incorrect numbering of source lines in run control file parse error
1088   messages.
1089
1090 * The configure.in specification no longer uses the obsolete AC_TRY_COMPILE
1091   macro (it uses AC_TRY_LINK instead).
1092
1093 MAILBOX LOCKING
1094
1095 * I have added mandatory locking of mailbox files where supported.
1096   This will cover Linux systems, in particular.
1097
1098 * The default behavior is now to do lock-protected append on the user's
1099   system mailbox rather than using delivermail or some other MDA.
1100   (This is a performance hack.)
1101
1102 * The autoconfigure script now looks for standard mail locations.  The
1103   default mail delivery agent is used only if it can't find a mail spool
1104   directory in the standard places.
1105
1106 FUNCTIONAL ENHANCEMENTS
1107
1108 * When using POP3, message headers are edited so that replies won't foo up.
1109   Anything that looks like a mail ID local to the POP host gets @ and the
1110   pop servername attached to it before being appended to the user's
1111   mailbox or passed to an MDA.
1112
1113 * I have implemented daemon mode.
1114
1115 * I have added a lock check to ensure that there is only one popclient
1116   running per user, and a --quit option to kill the currently running
1117   one.
1118
1119 DOCUMENTATION
1120
1121 * All changes and feature additions have been tested in actual use and are
1122   documented on the man page.
1123
1124 * I have turned the comments in the sample run control file into a new manual
1125   section documenting the file format.
1126
1127 MISCELLANEOUS BUG FIXES
1128
1129 * I fixed some de-initialization bugs in pop2.c and pop3.c that led to
1130   fd leaks (these became painfully obvious when I tested daemon mode!).
1131
1132 * I've fixed the flaky parser error messages. They turned out to be due 
1133   to a misdeclaration of yytext.
1134
1135 These are Carl Harris's change notes from previous releases:
1136
1137 3.0b5
1138 o       "From " header fix in pop2.c and pop3.c
1139 o       Surpress "..." output when --stdout option specified in pop3.c
1140
1141 3.0b4
1142 o       alloca fix.
1143 o       various diagnostic/informational message fixes.
1144
1145 3.0b3
1146 o       Support for retrieving only new messages from maildrop when
1147         using POP3.  
1148 o       Support for retrieving only the first n lines of each message
1149         when using POP3.
1150 o       APOP authentication support.
1151 o       Buffered socket input.
1152
1153 3.0b2
1154         This is a "new features" release.
1155 o       support for .poprc file.
1156 o       GNU-style long options.
1157 o       fixed passwords appearing in 'ps' output
1158 o       support for multiple servers on one command line
1159
1160 3.0b1
1161         This is mostly a test of the autoconfigure integration.
1162 Among the functions performed by the new configure script, is
1163 the ability to detect known system types, configures the mail
1164 delivery agent (MDA) correctly.  This should permanently solve
1165 the problem of using something other than an MDA for mail
1166 delivery (which continues to plague Linux slackware 1.2.9).
1167 For this beta, please check the values of MDA_PATH and MDA_ARGS
1168 carefully.  They should match the values found in your
1169 sendmail.cf file on the line which begins with "Mlocal".
1170
1171         Other changes from popclient version 2.21:
1172
1173 o       no longer uses getpass() from the C library.  The
1174         internal getpassword() function allows the use of long
1175         passwords.
1176
1177 o       integrated GNU getopt() for long options.  Long option  
1178         names will appear in a future beta.
1179
1180 o       Several compiler warnings fixed.
1181
1182 o       Fixed problems related to missing include files in
1183         Solaris port.