Release Notes: (The `lines' figures total .c, .h, .l, and .y files under version control. Names in parentheses are the maintainers who handled the respective change. Abbreviations: MA = Matthias Andree, RF = Rob Funk) fetchmail 6.3.0 (not yet released officially): SECURITY FIX: * The POP3 UIDL code doesn't sufficiently validate/truncate the input length, so a (malicious or compromised) server that sends UIDs longer than 128 bytes can corrupt fetchmail's stack and crash fetchmail. This vulnerability is remotely exploitable to inject code run in a root shell. This is tracked under the CVE Name: CAN-2005-2335 OTHER CHANGES: * Sunil Shetye's fix to force fetchsizelimit to 1 for APOP and RPOP. * PopDel.py removed from contrib at author's request. * Matthias Andree's fix for Sunil Shetye's fetch-split patch * Include James Stone's moldremover.py script. * Enable .fetchmailrc permissions checking under Cygwin. * Nalin Dahyabai's fix for POP3 strong authentication. * Revised Nalin Dahyabai's fix for POP3 strong authentication (the original version would go into an infinite loop when CAPA failed; found by David Greaves.) (MA) * HOME_ETC patch for PLD Linux. * Sunil Shetye's fix for SSL configuration. * Simon Josefsson's patch for GSS library support. * Added Andrey Lelikov's recipe for Hotmail and Lycos Webmail. * Remove blank between MAIL FROM: and <, which causes Cyrus to complain. Patch by Phil Endecott. (RF) * Switched to automake. Matthias Andree. * Build fixes for HESIOD and resolv.h trouble on FreeBSD. (MA) * Fabrice Bellet's fix for Red Hat bug #113492, fetchmail hangs in IMAP mode after EXPUNGE when the server (Dovecot 0.99.10) doesn't update RECENT and EXISTS counts. (MA) * Holger Mauermann's bounce patch, to use a NULL envelope from, not write a Return-Path header (both to meet RFC-2821), changed From, added Subject header, rewording the human readable part. Fixes Debian bug #316446. (MA) * Merge Sunil Shetye's time.h handling fix. (MA) * Merge Gerd von Egidy's patch to avoid a segfault in multidrop/received mode when the Received: headers are malformatted. (MA) * MIME-encode bodies and Subject headers of warning messages, limiting the header to 7 bits. (MA) * Normalize most locale codesets to IANA codesets, based on norm_charmap.c by Markus Kuhn. (MA) * Remove sleep(3) after POP3 login, patch by Brian Candler. (MA) * Fix option parsing bug that trashes the showdots setting when more than one server is configured. Patch by Brian Candler. (MA) * Honor sslcertpath setting even if sslcertck is unset. Patch by Brian Candler. (MA) * SSL certificate checking fixes, don't display same error message twice in succession, make sure that Common Name and fingerprint checking are only done once. Print all validation warnings/errors even if not in verbose mode. Patch by Brian Candler. (MA) * Import Bjorn Reese and Daniel Stenberg's MIT-licensed Trio 1.10 from http://daniel.haxx.se/projects/trio/ for systems that do not support snprintf or vsnprintf. (MA) * Clean up the horrible #ifdef HAVE_[V]SNPRINTF that made the code unreadable. Use Trio where [v]snprintf is/are missing. (MA) * Default to Linux 2.2 /proc/net/dev format, and use uname(2) to determine the kernel version instead of calling uname(1). Thanks to Paul Slootman. (MA) * Be more careful when swapping UID lists or writing the .fetchids file, requested by Manfred Weihs. (MA) * Print a warning if multidrop configuration is attempted without envelope option. (MA) * Split information on fetchmail versions before 6.0.0 to a separate OLDNEWS file. (MA) * Merge SuSE patches: (sent by Stanislav Brabec, merged by Matthias Andree) - fetchmail-6.2.5-declaration.patch (double sigint_handler decl/getpass.c) - fetchmail-6.2.5-implicit-declaration.patch (missing #include) - fetchmail-6.2.5-random-result.patch (uninitialized variable/opie.c) * Revised some bogus assertions about POP3 LAST and UIDL use in the manual page. UIDL isn't flaky as the man page suggested, but a reliability feature. In fact, IMAP4 code is flaky in that it relies on the upstream seen flags. (MA) * Miloslav Trmac's patch for fetchmailconf to support string-type values of the "port" variable, avoiding "port None" corruption in .fetchmailrc. To fix Redhat Bug #55623 (MA) * de.po fixes from Nico Golde (MA) * es.po fixes from Jesus Roncero, Debian bug #286044 (MA) * sink.c fix from Cesar Eduardo Barros, to avoid double @ in address when username contains an @ and the envelope sender is null, Debian bug #272289 (MA) * configure.ac cleanups by Miloslav Trmac (MA) * Miloslav Trmac's fix to reply_hack() type, for systems where sizeof(int) != sizeof(size_t). (MA) * Nalin Dahyabhai's fix for driver.c to not call the private Kerberos krb5_init_ets() function. Sent by Miloslav Trmac. (MA) * Nalin Dahyabhai's fix for sink.c/transact.c to reserve sufficient space for \r\n trailers in snprintf calls. Sent by Miloslav Trmac, possibly fixing Red Hat bug #114470. (MA). * Nalin Dahyabhai's patch to use the krb5-config script, if present. Sent by Miloslav Trmac. (MA) * Nalin Dahyabhai's fix to make rpa.c compile. Sent by Miloslav Trmac. (MA) * Trivial fetchmailconf.man to redirect to fetchmail.1. Reported by Miloslav Trmac. (MA) * Updated and re-enabled Czech translation, by Miloslav Trmac (MA). * Internationalization (i18n) updates by Miloslav Trmac. (MA) * Fix "couldn't find canonical DNS name of NN (MM)" for hosts that have only IPv6 addresses. Matthias Andree. * Revised INSTALL after question from Brian Candler, inet6-apps is no longer available: remove inet6-apps hints for IPv6, and add some apologetic message for IPsec. Note the code may be removed in a future version. Matthias Andree. * Brian Candler's FAQ update about SSL certificate verification. (MA) * Nico Golde's patch to support "proto RPOP" in the configuration file, reported by Dr. Andreas Krüger, Debian bug #242384 (MA) * Added Russian translation, courtesy of Pavel Maryanov of the Russian translation team. (MA) * Dropped da=Danish, el=Greek, ja=Japanese, sq=Albanian and tr=Turkish translations which have more than 10% (61+) untranslated or fuzzy messages. Matthias Andree. * Skip sending POP3 PASS command when USER command failed. Matthias Andree. * Run fetchmail.man through automatic spell checker. Matthias Andree. * Major fetchmail(1) manual page overhaul by R. Hannes Beinert, to clarify singledrop vs. multidrop operation. (MA) * Make tracepolls a server option, as documented. Fixes Debian bug #156094. Matthias Andree. * Updated some translations. (MA) * Fix some minor inaccuracies (RFC-1893 related, grammar/spelling) in the manual page. * Rename ESR's design notes to esrs-design-notes.html and add a new design-notes.html document. The NOTES file will contain both of them. Matthias Andree. * Fix Debian bug #301964, fetchmail leaks sockets when SSL negotiation fails. Fix suggested Goswin Brederlow. (MA) * Really fix #207919, patch by Tobias Diedrich. The 6.2.5 NEWS claimed Gregan's patch had fixed #207919 but it had fixed #212484 instead and #207919 remained unfixed in 6.2.5. The entry below has been corrected to read #212484 now. fetchmail-6.2.5 (Wed Oct 15 18:39:22 EDT 2003), 23079 lines: * Updated Spanish, Turkish, and German translation files. * Matthew Gregan's patch to handle garbage lengths from dbmail; closes Debian bug #212484. * Fix IMAP query so new-message count doesn't include deleted messages. * Man page typo fix, closes Debian bug #205892. * OpenSSL cleanup patches from levinedl@acm.org. * Benjamin Drieu's patch to fix Debian bug #212240, no oversized-message flushing if both "flush" and "limit" were specified. * Benjamin Drieu's patch for Debian bug #156592, incorrect handing of host/port option. * Smash all NULs out of headers right after the socket read. * Dup-killer code now keys on an MD5 hash of the raw headers. * Sunil Shetye's patches to break up fetching of sizes and UIDLs. There are 599 people on fetchmail-friends and 748 on fetchmail-announce. fetchmail-6.2.4 (Wed Aug 13 04:27:35 EDT 2003), 22625 lines: * Updated German, Spanish, Catalan, and Turkish translations. * IDLE is now supported using no-ops even if the server doesn't support the IMAP IDLE extension. * Sunil Shetye's patch to do better password shrouding. * Sunil Shetye's bug-fix rollup patch. * Introduce a translation item for the word "seen". * Back out the hack to deal with lack of byte stuffing on some POP3 servers. * Thomas Steudten's patch to improve SMTP handling of 550 errors. There are 585 people on fetchmail-friends and 745 on fetchmail-announce. fetchmail-6.2.3 (Thu Jul 17 14:53:00 EDT 2003), 22490 lines: * French, German, Danish, Spanish, and Turkish translations updated. * Brian Sammon's patch to deal with malformed message lines containing NULs. * Fai's patch to ignore all but the first Return-Path (some spams have more than one of these). * Benjamin Drieu's patch to properly byte-stuff when talking to BSNTP. Fixes Debian bug #184469. * Benjamin Drieu's patch to enable auth=cram-md5. Fixes Debian bug #185232. * Sunil Shetye's configure.in patch to avoid spurious search order messages from GCC. * Header-reading code now copes better with lines ending in \n only. * Elias Israel's patches for POP3 NTLM support and dealing with byte- stuffing failures at socket level. There are 580 people on fetchmail-friends and 750 on fetchmail-announce. fetchmail-6.2.2 (Fri Feb 28 21:34:26 EST 2003), 22345 lines: * Sunil Shetye's patch to improve behavior on empty messages. * Conform to RFC2595; reissue capability probes after successful STARTTLS negotiation. * Sunil's patch to make handling of failed STARTTLS more graceful. * Sunil's JF2 fix patch for .fetchmailrc security. * Christophe GIAUME finished the implementation of RFC2177 IDLE. * Jason Tishler's fix patch for Cygwin. * Support ssh-style authentication in POP3 * Fix for Debian bug #108977, clean up config file evaluation, by Benjamin Drieu. There are 554 people on fetchmail-friends and 727 on fetchmail-announce. fetchmail-6.2.1 (Tue Jan 14 08:17:19 EST 2003), 22219 lines: * Updated German, Turkish, Spanish, and Danish translation files. * Integrated Sunil Shetye's patch to make mark_seen an explicit method. * Removed FAQ warning about GMX and associated fetchmailconf check, we have a report that its servers are conformant now. * Another Sunil patch to fix a minor bug in bouncemail generation. There are 536 people on fetchmail-friends and 716 on fetchmail-announce. fetchmail-6.2.0 (Fri Dec 13 00:10:07 EST 2002), 22235 lines: * Applied Steffen Esser's fix for a buffer-overflow bug in rfc822.c * Updated Danish, German, and Turkish translation files. * Sunil Shetye's SMTP timeout patch. There are 538 people on fetchmail-friends and 701 on fetchmail-announce. fetchmail-6.1.3 (Thu Nov 28 05:35:15 EST 2002), 22203 lines: * Updated Turkish, Danish, German, Spanish, Catalan po files. * Added Slovak support. * Configure.in update for autoconf 2.5 (Art Haas). * Be case-insensitive when looking for IMAP responses. * Fix logout-after-idle-delivery bug (Sunil Shetye). * Sunil Shetye's patch to bulletproof end-of-header detection. * Sunil's fix for the STARTTLS problem -- repoll if TLS nabdshake fails. The attempt to set up STARTTLS can be suppressed with 'sslproto ""'. There are 540 people on fetchmail-friends and 701 on fetchmail-announce. fetchmail-6.1.2 (Thu Oct 31 11:41:02 EST 2002), 22135 lines: * Jan Klaverstijn's verbosity-lowering patch. * Updated Turkish, German, Catalan, and Danish translation files. * Fix processing of POP3 messages with missing bodies. * Minor fixes by Sunil Shetye: fix generation of auth fail note, handle unexpected SIGALRM, plug memory leak, handle lines beginning with '\0', try to bulletproof error handling against read failures. There are 535 people on fetchmail-friends and 696 on fetchmail-announce. fetchmail-6.1.1 (Fri Oct 18 14:53:51 EDT 2002), 22087 lines: * OTP fix patches from Stanislav Brabec * fix patch for writing antispam capability correctly in conf.c. * Fix patches for Debian bugs #162571, #156592. * Correction to manpage re -b and qmail. * Patch to disable use of STLS if auth passwd is specified. * Fix specfile generation to handle SSL correctly. * New Danish, Turkish, and Catalan translation files. * Improved ODMR debug messages. * IMAP efficiency hack; don't fetch sizes unless needed. * Detect and rewrite invalid return paths beginning with @. * Fix for subtle freeing bug that suppressed information in some bounce msgs. * Newline fix patches for internationalization files. * Fix reversed test guarding authentication-failure warnings. * Fix POP3 breakage starting at 5.9.14. There are 529 people on fetchmail-friends and 693 on fetchmail-announce. fetchmail-6.1.0 (Sun Sep 22 18:31:23 EDT 2002), 21999 lines: * Updated French translation. * Stefan Esser's fix for potential remote vulnerability in multidrop mode. This is an important security fix! There are 519 people on fetchmail-friends and 680 on fetchmail-announce. fetchmail-6.0.0 (Tue Sep 17 19:48:25 EDT 2002), 21972 lines: * Applied Matt Kraai's fix for minor Debian bug #144539. * Nerijus Baliunas's patch to support STARTTLS over IMAP. * More cleanups and minor bugfixes from Sunil Shetye. * Default antispam-response list is now empty. * Updated de and po translations. There are 520 people on fetchmail-friends and 683 on fetchmail-announce.