]> Pileus Git - ~andy/fetchmail/blob - NEWS
Added the `envelope' option.
[~andy/fetchmail] / NEWS
1                         Release Notes:
2
3 ------------------------------------------------------------------------------
4 fetchmail-2.2 (Sun Dec  8 23:17:01 EST 1996):
5
6 features --
7
8 * If SMTP returns 571 (unsolicited mail refused) to a MAIL FROM, the
9   address is excluded by the local sendmail's spam filter.  Drop the mail.
10   (This is the only circumstance in which mail is thrown away.)
11
12 * The header your mailserver uses to convey envelope addresses is no longer
13   wired to `X-Envelope-Header'.  You can now specify it with the `envelope'
14   option in .fetchmailrc.  (This header is not RFC822 standard, and we have a
15   report of and ISP using X-Frontier-To).
16
17 bugs --
18
19 * Fixed a startup-time core dump introduced by 2.1's aka-list feature.
20
21 * Fixed a bug in non-implicit mode (poll specified host), also due to aka.
22
23 * Various minor portability fixes for Suns.  Adding #include <errno.h>
24   in fetchmail.c was the most significant one. 
25
26 * Avoid using -lresolv when possible, some Linux versions are badly broken.
27
28 * Fix error in MX record handling that was causing multidrop problems.
29
30 * Disable daemon SIGCLD handler while an MDA is running, to avoid snafus.
31   Thanks to Dave Bodenstab <imdave@synet.net> for spotting this obscure bug.
32
33 153 people on the contact list.
34
35 ------------------------------------------------------------------------------
36 fetchmail-2.1 (Thu Nov 28 11:07:48 EST 1996):
37
38 features --
39
40 * Added FAQ file.
41
42 * Try to pass envelope From to the listener so that logging and procmail
43   processing works right.  If that fails, fall back on calling-user.
44
45 * Added `set logfile = ' option to rc syntax.
46
47 * We now use X-Envelope-To headers and parse the Received lines.  If
48   X-Envelope-To is found, OK; otherwise we look for a `Received for' line;
49   either is treated as a true envelope address.  If neither of these are
50   found we go to the To/Cc/Bcc header addresses.
51
52 * Added `*' as a wildcard option for multidrop to ... here.  This will allow
53   names to be local names to be passed through from a multi-drop box on
54   a mailserver 
55
56 * Added an `aka' option to allow users to declare mailserver aliases at start
57   of run, so DNS does less work.  During a run, cache host matches on the
58   aka list so no potential alias has to be DNS-checked more than once.  
59   A server being polled explicitly may be referred to by any of its aliaseses.
60
61 bugs --
62
63 * Nalin Dahyabhai's fix patch for MIT Kerberos support.
64
65 * Fixed a fencepost error in the APOP code that was causing a core dump.
66
67 * Skip flag wasn't getting reset on poll hosts following a skipped one.
68
69 * Include remote name in saved UID mappings so multiple POP accounts on
70   the same server won't get their UIDs confused.
71
72 138 people on the contact list.
73
74 ------------------------------------------------------------------------------
75 fetchmail-2.0 (Mon Nov 18 00:32:17 EST 1996):
76
77 * Fix typo in setitimer call setup that caused obscure bugs under FreeBSD.
78 * Accept Apparently-To if there is no To header.
79 * Include Cameron McPherson's patch for handling multi-line SMTP responses.
80 * Don't try to feed listener the header From any more.
81
82 pl 1.9.9 (Mon Nov 11 10:40:14 EST 1996):
83 * Accept Resent-From & Apparently-From a la RFC822.
84 * Include file fixes for Solaris 2.5 and FreeBSD 2.2.
85 * Improved error notification on SMTP and no-matching-local-address errors.
86 * Delivery to multidrop mailboxes now always aborts on DNS errors.
87 * Batch limit option prevents long delivery delays on smail/qmail.
88 * Configuration now handles -lresolv and non-Linux bind libraries correctly.
89
90 pl 1.9.8 (Wed Nov  6 16:40:34 EST 1996):
91 * Don't append spurious NUL to the headers, qmail actually notices it.
92 * Fatal bug in multidrop code fixed.
93 * Fail cleanly, instead of core-dumping, on mail lacking an RFC822 From line.
94 * Don't try to keep the SMTP socket open across poll cycles.
95
96 pl 1.9.7 (Fri Nov  1 10:02:34 EST 1996):
97 * %s is back.  Seems some popular MDAs actually choke on name arguments.
98 * We can handle responses longer than the socket atomic read length now.
99
100 pl 1.9.6 (Thu Oct 31 00:07:23 EST 1996):
101 * Make rewrite option handle multiple comma-separated local names correctly.
102 * Fix yet another fatal error in MDA argument list construction.
103 * Reset timeout every time input is received.
104 * Correct localname detection when --norewrite is on.
105
106 pl 1.9.5 (Tue Oct 29 20:07:41 EST 1996):
107 * Added -N, --nodetach option for debugging purposes.
108 * Use interval timers for poll-interval sleep and nonresponse timeout.
109 * fetchmail -q no longer parses the configuration file.
110 * Configuration file grammar is slightly cleaned up and improved.
111
112 pl 1.9.4 (Mon Oct 28 20:58:48 EST 1994):
113 * Correct status interpretation in closemailpipe() (thanks to Neil Harkins).
114 * Tweak SMTP forwarding to only open one listener per SMTP host in daemon mode.
115
116 pl 1.9.3 (Sun Oct 27 22:35:33 EST 1996):
117 * Handle nested parens in RFC822 comments.
118 * More gcc -Wall cleanup.
119 * Improved installation docs.
120 * Don't query DNS on startup unless needed for Kerberos or multidrop mailboxes.
121
122 pl 1.9.2 (Sun Oct 27 01:10:30 EST 1996): 
123 * Fix initialization-time core dump when running as root
124 * Fix fatal error in MDA argument-list construction.
125
126 118 people on the contact list.
127
128 ------------------------------------------------------------------------------
129 fetchmail-1.9 (Fri Oct 25 23:02:26 EDT 1996):
130
131 We've hit the century mark -- exactly 100 people on the fetchmail-friends list.
132
133 features --
134
135 * FEATURE FREEZE IS NOW IN EFFECT!  No new features until after 2.0.  Thanks
136   to everybody who contributed ideas and criticism.
137
138 * It is now possible to specify multiple local recipients by giving a list
139   of names following "to" or "is".  Each local recipient is checked for in the
140   To:, Cc: and Bcc: headers of each message; if a match is found, the message
141   is sent to that local recipient.  This makes it possible to do mailing
142   lists and multidrop mailboxes.  See the man page for details (and note
143   the caveat in the BUGS AND KNOWN PROBLEMS section).
144
145 * It is possible to specify a size limit for retrieved messages.  I resisted
146   doing this because I don't want fetchmail to be in the filtering game, but
147   too many Europeans begged for it because their telecomms monopolies are
148   price-gouging them on per-second phone charges.  I will ignore, or be
149   extremely rude to, anyone who takes this feature as a license to beg me
150   for kill files or any other form of content-based filtering.  Use 
151   procmail on your server if you want that.
152
153 * If you use an MDA, the internal changes to support multi-drop mailboxes
154   require that you *remove* the %s at the end of your MDA string.  Local 
155   delivery addresses will be appended to the end of the command in the
156   obvious way.
157
158 * The first message from a query now includes the number of old messages
159   when this can be determined (that is not under POP2).
160
161 * POP3 UID support really works now.  I make rude noises at the POP3 mavens
162   who forced us to this with RFC1725, but thank Al Longyear <longyear@sii.com>
163   for fixing and verifying my slightly buggy implementation.
164
165 * Kerberos support ditto.  Thanks to Chris Hanson <cph@martigny.mit.edu>
166   for this feature.
167
168 * When there's a daemon fetchmail in background, running fetchmail in
169   foreground without --quit now tries to wake the daemon and force it
170   to poll immediately.
171
172 * Add option to set server nonresponse timeout.
173
174 * Password is no longer displayed in verbose mode.
175
176 * You may use C-like escapes to embed non-printables in passwords and other
177   strings.  Fetchmail -V will display them in a printable form.
178
179 * Program now tries to set itself to the ID of the local user before
180   running an MDA, and reset to root afterwards.  This will work on
181   any system with seteuid(2), including Linux and the BSDs.
182
183 bugs --
184
185 * Default user name to deliver to is now the calling user, unless
186   program is running as root in which case it is the remote user name
187   (default can be overridden with an `is' or `to' declaration).
188   In versions up to 1.7 it was the calling user; in 1.8 the remote
189   user ID.  This created some confusion.
190
191 * Accept RFC822 headers with a tab after the colon.
192
193 * You now see a "skipping" message for each message not retrieved.
194
195 * --keep no longer overrides --flush.
196
197 * Rewrite "To: jrh (J. Random Hacker)" correctly.
198
199 * Find "nnn octets" anywhere on a POP3 server's RETR response line.
200
201 * Fixed various bugs in --check.  It now reports PS_SUCCESS only if
202   there is new mail waiting.
203
204 * Under Linux, if fetchmail is run in daemon mode with the network
205   inaccessible, each poll leaves a socket allocated but in CLOSE state
206   (this is visible in netstat(1)'s output).  These sockets aren't
207   garbage-collected until fetchmail exits.  When whatever kernel table
208   is involved fills up, fetchmail can no longer run even if the network is up.
209   To avoid this, fetchmail now commits seppuku after some number of
210   unsuccessful socket opens.
211
212 * Don't try using FLAGS.SILENT, some allegedly IMAP2bis servers seem to
213   choke on it.
214
215 ------------------------------------------------------------------------------
216 fetchmail-1.8 (Fri Oct 11 15:08:10 EDT 1996):
217
218 features --
219
220 * Use kill(0, pid) to make lock handling a bit smarter (thanks to Johan
221   Vromans <JVromans@squirrel.nl> for the suggestion).
222
223 * Arrange for timeout of client after 5 minutes if connection to server is 
224   dropped (thanks to Gaspar Sinai <gsinai@gol.com>).
225
226 * All pretensions to RPOP support have been dropped.  Yes, this is a feature,
227   RPOP is very vulnerable to spoofing!  Use APOP instead.
228
229 * Normal start-of-read message now displays the byte (excuse me, "octet")
230   size of the message.  Yes, 3schwend, you can stop noodging me now :-).
231
232 * Normal progress notifications now take only 1 line per message, not 2.
233
234 * Linux packagers: building fetchmail now generates an RPM specfile for it.
235
236 * Kerberos support via KPOP protocol (thanks to Chris Hanson).
237
238 * New --check option for asking server whether there is mail without
239   actually retrieving or deleting it.
240
241 * UID support is back by popular demand.  Bletch.
242
243 * Permit spaces in IMAP passwords (ship them as quoted strings).
244
245 bugs --
246
247 * Fix buggy getopt specification of P and p options.
248
249 * Fix uninitialized-variable bug that was hanging second IMAP queries.
250
251 ------------------------------------------------------------------------------
252 fetchmail-1.7 (Tue Oct  8 11:32:44 EDT 1996):
253
254 features --
255
256 * Noise words for rcfile syntax make English-like syntax possible.
257
258 * Make configure more GNUish; it understands --prefix and other standard
259   autoconf options now (see INSTALL for details)
260
261 * Better documentation of the new .fetchmailrc extensions and the slightly
262   stricter rules for ordering options.
263
264 * Expanded installation instructions including how to test for correct
265   operation without losing mail to misconfigured MDAs, alias loops, etc.
266
267 bugs --
268
269 * You may have to rearrange the order of options in your .fetchmailrc.
270   The grammar for the new multiple-user syntax requires that server 
271   options (protocol and port) come before any user options.
272
273 * Fixed core dump bug that was screwing configurations with no .fetchmailrc.
274
275 * Fixed broken 'p' option.
276
277 * `norewrite' and `rewrite' in .fetchrc were the inverses of what they
278   should have been (but the rewrite default was set correctly).
279
280 ------------------------------------------------------------------------------
281 fetchmail-1.6 (Sun Oct  6 20:55:09 EDT 1996):
282
283 features --
284
285 * You can now have multiple entries for the same server but different
286   users, and the right thing will happen (each user's mailbox will
287   be queried).  Even better, you can now specify multiple users in a
288   single server entry.
289
290 * Restore --mda, seems some people either can't run a port 25 listener
291   due to bizarre dynamic-SLIP problems, or won't for security reasons.
292
293 * When delivering to an MDA, print error and die (before deleting the message!)
294   if the MDA returns nonzero status.  Better safe than sorry.
295
296 * If fetchmail is called through a link named `popclient' it will look in
297   ~/.poprc for a run control file.  Unless that file includes the deleted
298   options limit and localfolder this should actually work.
299
300 bug fixes --
301
302 * Makefile fixes for correct linking on Sparcs and avoiding duplication of
303   the md5 files (leading to harmless install-time error messages).
304
305 * Fix a bonehead coding error in pop3_delete() that was masked by the
306   Intel register architecture.  *blush*  Thanks to Jay Anderson
307   <anderson@optical.bms.com>.
308
309 * Fix bug that prevented SMTP from being specified on the defaults line.
310
311 * Allow program to generate correct lockfiles when USER is undefined
312   (i.e. under zsh).
313
314 * Allow program to run with no .fetchmailrc file again.
315
316 ------------------------------------------------------------------------------
317 fetchmail-1.5 (Thu Oct  3 04:35:15 EDT 1996):
318
319 * Naturally, my decision to announce 1.4 on comp.os.linux.announce 
320   immediately caused the code to manifest its first real bug --
321   a core dump when the "From:" header is spelled "from:" (all lower
322   case).  Fixed.
323
324 * Update and expansion of NOTES.
325
326 * The --all and --flush flag validity checks move to driver.c.
327
328 ------------------------------------------------------------------------------
329 fetchmail-1.4 (Wed Oct  2 09:22:37 1996):
330
331 * More man page improvements.
332
333 * Lexer changes to work around bison's "feature" of silently ignoring 0-value
334   tokens (caused options nokeep, norewrite, nofetchall, noskip to be no-ops).
335
336 ------------------------------------------------------------------------------
337 fetchmail-1.3 (Tue Oct  1 05:49:49 1996):
338
339 * Significant man page improvements.
340
341 * Escapes for newlines in .fetchmailrc are now optional.
342
343 * Kill off -2 and -3 options, redundant popclient remnants.
344
345 * IMAP code simplification and robustification.  Use FETCH FLAGS to find
346   seen messages.  Code should now work even if unseen messages are 
347   interspersed with seen ones, and even if messages are appended to the
348   mailbox during the run.
349
350 ------------------------------------------------------------------------------
351 fetchmail-1.2 (Sat Sep 28 15:40:50 EDT 1996):
352
353 * The great option massacre.  Remove --stdout, --limit, --local, --mda.
354   We get a significant code and complexity shrinkage this way (a lot of the
355   configuration machinery goes away too).  These things are your MDA's job.
356   (This also kills off the lose-mail-on-disk-full bug, which I've never 
357   seen but two users reported.)
358
359 * Link APOP support by default.
360
361 * Fix embarrassing Makefile bug.
362
363 ------------------------------------------------------------------------------
364 fetchmail-1.1 (Sat Sep 28 09:21:10 EDT 1996):
365
366 * In POP3, don't send LAST if STAT shows count of waiting messages to be zero.
367
368 * Document APOP better, we know it works now.
369
370 * Lose the .fetchids file and give up on POP3 UIDs, they're a dead loss.
371
372 ------------------------------------------------------------------------------
373 fetchmail-1.0 (Thu Sep 26 11:59:38 EDT 1996):
374
375 * SMTP forwarding and header-rewrite features work with POP2 now.
376
377 * Stricter RFC822 conformance, so SMTP to qmail works.  Thanks to
378   Cameron MacPherson <unsound@oz.net> for these changes.
379
380 * The program is quieter but more informative now (suppress printing of
381   server greeting message; add the server host being queried to the
382   message count information line).
383
384 * Add `skip' option to make it easier to set up test entries.
385
386 * Name change (it ain't just for POP any more).
387
388 ==============================================================================
389 popclient-3.2 (Mon Sep 23 13:29:46 EDT 1996):
390
391 * RPOP support (coded at a user's request but untested).
392
393 * Ported to QNX (see the Makefile).
394
395 * Add code by Michael Schwendt <3schwend@informatik.uni-hamburg.de> for
396   improved sizeticker.
397
398 * Improved RFC822 parsing (thanks to Rob Funk).
399
400 * Move the per-user lockfile to /tmp so it gets cleared at reboot time.
401
402 * Warn users that running concurrent instances of popclient is a bad idea.
403
404 * Try USER and HOME to set defaults before going to the password file.
405   This should work better in Sun NIS environments.
406
407 popclient-3.1 (Thu Sep 12 15:45:25 EDT 1996):
408
409 * MDA arguments are now dumped when using the -V option.
410
411 * Sendmail delivery from background seems to work now.
412
413 * We have IMAP2bis/IMAP4 support.
414
415 * Code now autoprobes for a POP3, IMAP, or POP2 server if no protocol is
416   specified.
417
418 * SMTP forwarding support.  Thanks to Harry Hochheiser <harry@tigger.jvnc.net>
419   for this simple but clever idea.  It's now the default delivery mode.
420
421 * If no UNIX From line is found, popclient will now synthesize a correct
422   line from the RFC822 From line.
423
424 * It is now possible to specify the host TCP/IP port number to connect to.
425
426 popclient-3.05 (Thu Aug 22 22:59:04 EDT 1996):
427
428 * Experimental support for RFC1725-compliant POP servers with the UIDL
429   command and without LAST.
430
431 popclient-3.04 (Wed Aug 21 00:22:44 EDT 1996):
432
433 * Logfile option works.
434
435 popclient-3.03:
436
437 * Minor bug fixes for password querying and redirection to stdout.
438
439 popclient-3.02 (Fri Jul 19 11:37:56 EDT 1996):
440
441 * Correct buggy processing of nokeep/noflush/fetchall.
442
443 * Fix buggy -mda option processing.
444
445 * Added -N/--norewrite option.
446
447 * Delivery via sendmail now works in non-daemon mode.
448
449 popclient-3.01 (Mon Jul  1 13:33:51 EDT 1996):
450
451 * Fixed a lexical analyzer bug in quoted-string processing.
452
453 * Fixed a bug in dump_options that caused username to be displayed incorrectly.
454
455 * The lock assertion code was in the wrong place relative to the daemonize()
456   call.  
457
458 popclient-3.0 (Fri Jun 28 11:33:34 EDT 1996):
459
460 Eric S. Raymond <esr@thyrsus.com> hacked extensively on 3.0b6 and took over
461 the package with the consent of Carl Harris, the original implementor.
462 Some of the 3.0 feature additions were inspired by Sean Oh's fetchpop 1.8
463 code, and a few use code directly lifted from fetchpop. Here are my (Eric's)
464 change notes:
465
466 CONFIGURATION AND BUILDING
467
468 * The autoconfigure script incorrectly assumed that all Linuxes use
469   /usr/bin/deliver.  Under Linux it now checks for both /usr/bin/delivermail
470   and /bin/mail.
471
472 * I added a distribution-maker production to Makefile.in.
473
474 OPTIONS AND COMMAND LINE
475
476 * I have removed the -p command-line option. Given that there's a run control
477   facility there is no excuse for encouraging users to put plaintext passwords
478   in scripts which might be readable.
479
480 * Calling popclient with no arguments now causes it to query or operate
481   on every host in the run control file.
482
483 * I have made --version more useful by having it dump the computed
484   connection options for each server specified.
485
486 * The user can now explicitly set an MDA (such as procmail) with the
487   new option -m or -mda.  Various possible MDAs are listed on the man page.
488
489 POPRC FILE SYNTAX
490
491 * The run control file lexer now supports "-enclosed strings which may 
492   contain whitespace.
493
494 * I added a --yydebug option to enable run control parser debugging at 
495   runtime if the parser was generated with --debug.  It's not documented.
496
497 * You may now have a `defaults' entry in the run control file which sets 
498   overrideable values for other entries.  See the man page for details.
499
500 * It is now possible to set keep, flush and fetchall in your run control
501   file.
502
503 * Fixed incorrect numbering of source lines in run control file parse error
504   messages.
505
506 * The configure.in specification no longer uses the obsolete AC_TRY_COMPILE
507   macro (it uses AC_TRY_LINK instead).
508
509 MAILBOX LOCKING
510
511 * I have added mandatory locking of mailbox files where supported.
512   This will cover Linux systems, in particular.
513
514 * The default behavior is now to do lock-protected append on the user's
515   system mailbox rather than using delivermail or some other MDA.
516   (This is a performance hack.)
517
518 * The autoconfigure script now looks for standard mail locations.  The
519   default mail delivery agent is used only if it can't find a mail spool
520   directory in the standard places.
521
522 FUNCTIONAL ENHANCEMENTS
523
524 * When using POP3, message headers are edited so that replies won't foo up.
525   Anything that looks like a mail ID local to the POP host gets @ and the
526   pop servername attached to it before being appended to the user's
527   mailbox or passed to an MDA.
528
529 * I have implemented daemon mode.
530
531 * I have added a lock check to ensure that there is only one popclient
532   running per user, and a --quit option to kill the currently running
533   one.
534
535 DOCUMENTATION
536
537 * All changes and feature additions have been tested in actual use and are
538   documented on the man page.
539
540 * I have turned the comments in the sample run control file into a new manual
541   section documenting the file format.
542
543 MISCELLANEOUS BUG FIXES
544
545 * I fixed some de-initialization bugs in pop2.c and pop3.c that led to
546   fd leaks (these became painfully obvious when I tested daemon mode!).
547
548 * I've fixed the flaky parser error messages. They turned out to be due 
549   to a misdeclaration of yytext.
550
551 These are Carl Harris's change notes from previous releases:
552
553 3.0b5
554 o       "From " header fix in pop2.c and pop3.c
555 o       Surpress "..." output when --stdout option specified in pop3.c
556
557 3.0b4
558 o       alloca fix.
559 o       various diagnostic/informational message fixes.
560
561 3.0b3
562 o       Support for retrieving only new messages from maildrop when
563         using POP3.  
564 o       Support for retrieving only the first n lines of each message
565         when using POP3.
566 o       APOP authentication support.
567 o       Buffered socket input.
568
569 3.0b2
570         This is a "new features" release.
571 o       support for .poprc file.
572 o       GNU-style long options.
573 o       fixed passwords appearing in 'ps' output
574 o       support for multiple servers on one command line
575
576 3.0b1
577         This is mostly a test of the autoconfigure integration.
578 Among the functions performed by the new configure script, is
579 the ability to detect known system types, configures the mail
580 delivery agent (MDA) correctly.  This should permanently solve
581 the problem of using something other than an MDA for mail
582 delivery (which continues to plague Linux slackware 1.2.9).
583 For this beta, please check the values of MDA_PATH and MDA_ARGS
584 carefully.  They should match the values found in your
585 sendmail.cf file on the line which begins with "Mlocal".
586
587         Other changes from popclient version 2.21:
588
589 o       no longer uses getpass() from the C library.  The
590         internal getpassword() function allows the use of long
591         passwords.
592
593 o       integrated GNU getopt() for long options.  Long option  
594         names will appear in a future beta.
595
596 o       Several compiler warnings fixed.
597
598 o       Fixed problems related to missing include files in
599         Solaris port.