* explicitly close current IMAP mailbox when selecting a new one,
so all servers expunge deleted mail. Thanks: Josh Triplett.
* include experimental spec file for creating RPM with rpmbuild.
Thanks: Dag Wieers, Rob Loos, Dries Verachtert.
* convert changelog to utf-8 encoding.
* update email addresses, etc. Domain for mailing lists has changed
to lists.pyropus.ca.
* add FAQ about memory errors on OS X. Thanks: Andres Gasson.
* drop log message level for stderr output of destination if
ignore_stderr is set, just like for filter. Thanks: Jeremy
Chadwick.
-make updatefile honour symlinks, so users can alias one server's oldmail
state file to another (for split-horizon DNS and other strange
configurations). Thanks: Scott Hepler.
-explicitly watch for broken POP3 servers that return a blank UIDL value
(not permitted by the POP3 protocol) and print a fatal error message.
Thanks: Florian Hackenberger and Cameron Rangeley.
- disable debug logging message which would show up in messages if
--trace was used and the message was passed through an external
filter. Thanks: Christian Bruemmer.
- add additional sanity checks to ensure a recent-enough Python is
used; trying to run getmail 4 with Python 2.2 would throw an
exception. Thanks: fakhri ?.
- fix regression introduced in 4.6.0 where atime on mbox files would
get updated (i.e. not set back), making it difficult for other
programs to tell if there was new mail or not without actually
opening the mbox. Thanks: Tim van der Molen.
- fix regression: spurious errors thrown when required multidrop
retriever parameter "envelope_recipient" not present in getmailrc
file. Thanks: Elliot Schlegelmilch.
- fix regression: getmail_fetch no longer properly supported external
MDAs because of problems parsing the arguments to them. Thanks: ?.
- change getmail's handling of regular expressions in the "locals"
parameter of MultiSorter destination to allow it to handle
backslashes correctly. Unfortunately this means complicating
the configuration syntax slightly. Thanks: Tim van der Molen.
- update filters to use new configuration code. Remove obsolete code.
- fix attribute deletion error with Filter_classifier when
strip_delivered_to is set. Thanks: ?.
- do not consider qmail-local writing to stderr a delivery error.
Thanks: ?.
Remove nearly 2-year-old MESSAGE about upgrading from version 3.
* keyfile and certfile parameters to SSL retrievers are now expanded
for leading "~/" and "~username/" as well as environment
variables, just like other path parameters. Thanks: Fredrik Steen.
- add delete_dup_msgids option to non-multidrop POP3 retrievers.
Thanks: Matthias Andree.
- suppress stack trace in getmail_fetch error message when
configuration error detected. Thanks: Dave Jarvis.
- documentation updates.
- build and development environment changes. The plaintext versions
of the documentation are now generated with links instead of lynx.
- explicitly log the reason for not retrieving a message (seen or
oversized). Thanks: Payal Rathod.
4.3.14:
-Fix copy and paste error that caused BrokenUIDLPOP3SSLRetriever to default
to port 110. Thanks: Daniel Burrows via Fredrik Steen.
4.4.0:
-add new POP3-over-SSL initialization class, which is automatically used
when Python 2.4 or newer is in use. This reduces the overhead involved
in retrieving messages from a POP3SSL server (reduces systime about 35%,
user time about 50%, wall time 10-30%). Thanks: Jan Vereecke.
-add getmail_fetch configuration-less commandline POP retriever, perfect
for scripting use. Development of getmail_fetch was sponsored by
Texas Communications.
-future proofing: eliminate relative imports within getmailcore package.
4.4.1:
-work around bug in Python which meant POP3-over-SSL with Python >= 2.4
could "hang" (it's exactly the same bug that affected getmail's initial
IMAP-over-SSL code).
4.4.2:
-fix logging import in corrupt messages with Python 2.3. Thanks: Marco Ferra.
-add BrokenUIDLPOP3SSLRetriever as SSL version of BrokenUIDLPOP3Retriever,
based on an idea by a user of the Debian package. Thanks: Daniel Burrows,
Fredrik Steen.
-remove deprecated "strict" argument from message/header parsing calls.
While it was possible to suppress the warning that resulted when using
Python 2.4, it appears many getmail users couldn't bother to do that
and complained to me instead.
-for multidrop retrievers, change the way the envelope recipient header
field is parsed, to prevent odd values from being interpreted as multiple
addresses when they look like an 822-style address group. Thanks: "aal".
-try to avoid parsing message bodies, in case they're corrupt or invalid.
Thanks: Michael Gold.
-change (again) handling of deleted messages vs. connection that dies.
Inability to send QUIT to POP3 server should be less problematic now.
-improve housekeeping of old message state file. Thanks: Thomas Schwinge.
-add error message for missing mboxrd file. Thanks: Marco Ferra.
-change handling of connection that dies vs. deleted messages.
Thanks: Thomas Schwinge.
* make getmail less conservative about remembering messages as
already-seen when unrelated errors occur after successfully
delivering them. Thanks: Thomas Schwinge.
Version 4.3.4
14 March 2005
-documentation changes; getmail v4 cannot run natively on Windows. Use
Cygwin if you must run on a Windows platform; this works.
-remove some Windows-specific code.
Version 4.3.3
19 February 2005
-previously, for safety, getmail would re-retrieve messages after a session
that encountered errors. However, getmail had enough information to safely
remember those messages that had been successfully delivered. This behaviour
has been changed, to avoid delivering duplicate messages where it isn't
necessary. Thanks: Thomas Schwinge.
-in output/log files, getmailrc files are now specified only by filename,
instead of by complete paths. This will prevent some overly-long output
lines.
-add Windows versions of functions to lock/unlock files, so mbox delivery
can be used on Windows. Thanks: Felix Schwarz.
-previously, if an SSL POP3 or IMAP server abruptly closed the connection
before getmail could finish logging in, getmail would exit instead of
proceeding to the next configured mail account. Fixed. Thanks: Matthias
Andree, Frank Benkstein, Thomas Schwinge.
-eliminate duplicate Return-Path: header fields. Thanks: Angles Puglisi.
python*-pth packages into meta-packages which will install the non-pth
packages. Bump PKGREVISIONs on the non-pth versions to propagate the
thread change, but leave the *-pth versions untouched to not affect
existing installations.
Sync all PYTHON_VERSIONS_AFFECTED lines in package Makefiles.
-some IMAP errors would cause getmail to raise an exception, instead of
gracefully proceeding with the next configured mail account. Fixed.
Thanks: Matthias Andree.
Version 4.2.3
18 November 2004
-documentation updates.
-getmailrc examples file updated. Thanks: Scott Robbins.
-clarify error message when user insecurely tries to deliver mail as GID 0.
Version 4.2.4
22 November 2004
-one type of filter error would cause getmail to skip to the next configured
mail account, rather than simply proceeding to the next message from the
same account. Fixed. Thanks: Adrien Beau.
-documentation updates.
Version 4.1.5
13 September 2004
-getmail would not delete messages from the server if it was configured not
to retrieve them and the delete_after directive was not in use (i.e. user
normally left messages on server but occasionally wanted to force-delete
them). Fixed. Thanks: Frankye Fattarelli.
Version 4.2.0
18 September 2004
-SECURITY: previous versions of getmail contain a security vulnerability.
A local attacker with a shell account could exploit a race condition (or a
similar symlink attack) to cause getmail to create or overwrite files in a
directory of the local user's choosing if the system administrator ran getmail
as root and delivered messages to a maildir or mbox file under the control of
the attacker, resulting in a local root exploit. Fixed in versions 4.2.0
and 3.2.5.
This vulnerability is not exploitable if the administrator does not deliver
mail to the maildirs/mbox files of untrusted local users, or if getmail is
configured to use an external unprivileged MDA. This vulnerability is
not remotely exploitable.
Thanks: David Watson. My gratitude to David for his work on finding and
analyzing this problem.
-Now, on Unix-like systems when run as root, getmail forks a child
process and drops privileges before delivering to maildirs or mbox files.
getmail will absolutely refuse to deliver to such destinations as root;
the uid to switch to must be configured in the getmailrc file.
-revert behaviour regarding delivery to non-existent mbox files. Versions
4.0.0 through 4.1.5 would create the mbox file if it did not exist; in
versions 4.2.0 and up, getmail reverts to the v.3 behaviour of refusing
to do so.
Version 4.2.1
8 October 2004
-set message attributes on corrupt container objects to prevent problems
with destinations that expect multidrop-retrieved messages.
Thanks: Harry Wearne.
-move tests for existence of file from mbox destination initialization
to delivery method, and change error from configuration to delivery error.
Thanks: David Watson.
Version 4.2.2
11 October 2004
-in child delivery processes, change real as well as effective uid/gid.
Thanks: David Watson.
-handle corrupted oldmail file better. Thanks: Matthias Andree.
-change failure of a message filter to produce at least as many mail headers
as it was provided from a non-fatal error to warning. If your filter strips
headers, getmail will now warn you about it, but will not consider it an
error.
-documentation additions.
-enhance warning diagnostics about non-accessible or non-writable maildirs.
-change method of determining name of local host; only fall back to
getfqdn() if the result of gethostname() does not contain a dot.
-documentation enhancements.