f6019cba2a
Changes are: Version 1.0.7: - Add a workaround for the Comcast.net POP3 server: allow more than one space before the UID in an UIDL response, even though RFC 1939 says it must be exactly one. Reported and fixed by Benji Fisher. Version 1.0.6: - Updated copyright info to 2007. - Added an "auto" setting for pipelining and made it the default. "on" and "off" now force pipelining on or off regardless of server capabilities. Thanks to Jeremy C. Reed for suggestions on this. - Gnulib update to 2007-01-10. - Switch to autoconf-2.61 and automake-1.10, to avoid problems with configure trying to run "sh /usr/bin/install" where /usr/bin/install is not a shell script on NetBSD. Reported by Jeremy C. Reed. - Put the POP3_PIPELINE_MIN and POP3_PIPELINE_MAX definitions into #ifndef ... #endif so that they can easily be set via CFLAGS. Thanks to Jeremy C. Reed for the patch. - Remove the obsolete "extern int errno;" declaration. It does not conform to POSIX and causes trouble. Thanks to Jeremy C. Reed for the patch. - Added AC_SYS_LARGEFILE to configure.ac, for large file support. Removed the unnecessary AC_C_CONST and AC_HEADER_STDC. Version 1.0.5: - Remove gnulib module nanosleep. This fixes more build problems. Version 1.0.4: - Gnulib update. Remove the gettimeofday module. There are no local changes to the gnulib code anymore. - Do not use the gnulib gettimeofday module anymore. Use a local replacement in delivery.c instead. - Do not use nanosleep() on W32 anymore. Use Sleep() instead. Do not use nanosleep() on DJGPP anymore. Use usleep() instead. - Update gettext files to gettext-0.16. - Improved the configure check for the OpenSSL libraries. This fixes a build failure on Mac OS X. Reported for msmtp by Michael Williams, who also tested the fix. Thanks! - Fix a bug in string_replace(). This bug did not affect mpop. Version 1.0.3: - Improved configuration file examples in the documentation. - Fix GNU SASL support: replace #ifdef HAVE_GSASL with #ifdef HAVE_LIBGSASL. The old code did not actually use GNU SASL. This bug was introduced in 1.0.2. - Prevent to write UIDLs files that we cannot read back: - Do not allow UIDs to start with a space. - Allow UIDLs file lines to be long enough to hold the longest UID that we would accept from a server. - Added spanish translation by Carlos Martín Nieto. Thanks a lot! - Correct the documentation of "~/.mpop_uidls" in mpop.1 and mpop.texi. - Gnulib update. Removes the initialization of pkgdata_DATA from gnulib/Makefile.am, thanks to a fix by Bruno Haible. 'make install' will no longer create an empty directory $(pkgdatadir) anymore (the default for $(pkgdatadir) is /usr/local/share/mpop). Reported by Roman Bogorodskiy. Version 1.0.2: - Gnulib update. The modules nanosleep and gettimeofday still differ from the official gnulib source. - Disable SSLv2 because it has known flaws. This only affects the OpenSSL version because GNU TLS does not implement SSLv2. - Add new command tls_force_sslv3 and option --tls-force-sslv3 to force TLS/SSL version SSLv3. This might be needed to use SSL with some old and broken servers. Closes msmtp Debian bug #374610, reported by Marko Mäkelä. Thanks to Julien Louis for tracking this problem down and testing the patch. - Changed detection of libgnutls so that it works with version >= 1.2.0 again. - Improvements for the build system: - Quote arguments of M4 macros. - Use AC_LIB_HAVE_LINKFLAGS to detect libraries. Do not use *-config scripts or pkg-config. This avoids problems that are reported in this thread: http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/ 1610/focus=1610 . - Use HAVE_LIB* macros instead of USE_* or others, for consistency. - Link with LIB_NANOSLEEP as determined by the gnulib nanosleep module. This fixes build problems on Solaris. Reported by Daniel Rechsteiner for msmtp. Thanks! - Allow '+' and '/' in Return-Path mail addresses; do not replace them with '_'. Fix documentation of which characters are allowed and which are replaced, both in the code and in the user documentation for %F expansion. Version 1.0.1: - Changed the default UIDLS file from "~/.mpop_uidls" to "~/.mpop_uidls/%U_at_%H". - Gnulib update. The modules nanosleep and gettimeofday still differ from the official gnulib source. - Update to gettext-0.15. - Improve error message if directories for the UIDLS files cannot be created. - Allow to use special files like /dev/null to be used as an MBOX file, by ignoring an fsync() failure if and only if (errno == EINVAL). Suggested by Marco Ferra. Thanks! - Make error messages of the maildir and mbox delivery methods more verbose. - Fixed types of variables that are changed by signal handlers: they are 'volatile sig_atomic_t' now. - Adapt --version output to the latest GNU conventions. - Clean up #includes. - Move check for delivery information from main() into check_account(). - Added support for %U and %H expansion in UIDLS file names. This allows to have per-account UIDLS files with just one setting in the defaults section. - Automatically create directories needed to store the UIDLS file. - Gnulib update. Added the xstrndup module. The modules nanosleep and gettimeofday still differ from the official gnulib source. - Move string_replace from delivery.c to tools.[ch] to make it available to other modules. - Renamed os_env.[ch] to tools.[ch]. - Replace __MINGW__ with W32_NATIVE in os_env.h. - Check that the first command in the configuration file is either account or defaults. This fixes a crash (NULL pointer dereferencing) when the first command in the file is valid but does not belong to an account. - W32 port: Fixed the replacements for the WIFEXITED and WEXITSTATUS macros in delivery.c. Thanks to Gizbern for the bug report. - Minor documentation improvements. - Enable network connection timeouts on DJGPP/Watt32. Thanks to Gisle Vanem for pointing out that this works just like it does with UNIX. The DJGPP/Watt32 port is now on par with the UNIX port. - Update README.dos. - Don't check configuration file permissions on Cygwin. Version 1.0.0: - Gnulib update. Added gettimeofday module. Note that a locally modified copy of gnulib was used. It contains patches for the getpass, nanosleep, and gettimeofday modules, plus the additional module sys_select. All of these changes were submitted to the bug-gnulib@gnu.org mailing list, but they are not integrated yet. - Removed some W32 specific defines from delivery.c because they are not necessary with current MinGW versions. - Removed ftruncate-for-W32 hack in uidls.c, because newer MinGW versions have ftruncate(). - Renamed README.win32 to README.w32. Updated README.w32 and README.dos. - Replace '#ifdef _WIN32' with '#ifdef W32_NATIVE', where W32_NATIVE is defined in config.h if the following is true: '#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__'. The reason is that Cygwin defines _WIN32 nowadays, but we want the UNIX API on that platform. - Include config.h in list.c. - Fix warnings emitted for configure.ac by autoreconf. - Added -a, --all-accounts option to query all accounts in the configuration file (suggested by Jimmy Lolla). Changed short option for --auth-only from -a to -A. - Fixed handling of weird UIDs: 1. When checking for control characters, use c_iscntrl() instead of iscntrl(), to be independent of the user's locale. 2. Use POP3_EUNAVAIL as the error code for "Server does not support the UIDL command". All other error codes are critical. Bug reported by Marcelo. Thanks! - Lock the UIDLS file once and keep the lock as long as the UIDLS data is used. This prevents loss of UIDs (and therefore multiple deliveries of the corresponding mails) when multiple mpop processes use the same UIDLS file. - lock_file(): If another process holds a lock on the file, then wait 1/10 second instead of 1 second before the next try. - Gnulib update. Added nanosleep module. - Improve error handling for file locking: differentiate between timeouts and other errors. Version 0.8.5: - Improve checks for libraries in configure.ac. The ./configure options have changed! See INSTALL for more info. - Improve --version output. - Add (optional) support for Internationalized Domain Names (IDN) via GNU Libidn. - Initialize TLS only if pop3_connect() succeeded. - Move SSL_LIBS and GSASL_LIBS into LIBS; do not put them in Makefile.am. - Fix memory leak in GNU SASL variant of pop3_auth(). - Fix memory leak in GnuTLS variant of tls_cert_info_get(). - mpop_serverinfo(): If auth fails and this is ignored, then reset the error message and error string. - Sync pop3_auth() with smtp_auth() from msmtp. Affects only comments. - mpop_serverinfo(): Only resend CAPA if authentication succeeded. - pop3_auth(), GNU SASL variant: - Check if authentication data is complete before trying to start authentication. - Never call password_callback() when no user name is given. - Prevent a double free if an invalid argument to the auth command is given. - Prevent a double free if an invalid argument to --auth is given. - Replace crypto.[ch] with gnulib hmac-md5 module. - Gnulib update. Add hmac-md5 module. - net.c, tls.c: allow all network operations to be interrupted with CTRL+C, and print an appropriate error message in this case. - tls.c: if an error occurs, clean up *after* building the error message. This fixes a potential segfault in the OpenSSL version of tls_start(). - net_open_socket(): don't let net_close_socket() clobber errno. - net_open_socket(): print correct error message if getaddrinfo() returns EAI_SYSTEM. - MDA delivery method: handle SIGPIPE. Now mpop gives a proper error message if the MDA process dies without reading the mail data. This also affects filtering since the filter delivery method largely reuses the MDA delivery method code. - delivery_method_mda_open(): flush stdout and stderr before calling the MDA, so that its output won't be intermingled with mpop's output. - Fixed a comment in net.h. - net_get_canonical_hostname(): Only call freeaddrinfo() if getaddrinfo() succeeded. Reported and fixed by Raúl Núñez de Arenas Coronado. - Removed the simple_mbox delivery method because it is unnecessary. - Minor documentation improvements. Version 0.8.4: - Minor Win32 portability/cross-compilation updates. - Gnulib update. - Documentation updates. - The only_new command and --only-new option were re-added, but with slightly different meaning and a different default value. The default behaviour is completely compatible to all 0.8.x version. - Fix UIDLS file handling: make sure that uids appear in ascending order. Older versions wrote unsorted uid lists. If such a file is read, detect this and sort the lists. - Print --debug output to stdout instead of stderr, since it is requested output. Noted by Aliaksandr Lakhanko. - Changes taken from msmtp: - configure.ac: Rely on PKG_CHECK_MODULES to find GSASL, do not fall back to manual detection, to prevent using an incompatible version of GSASL. Problem reported by Jari Aalto. - Gnulibs sysexit_.h now defines EX_OK; there's no need to use a locally modified version anymore. - Use a locally modified version of gnulibs sysexit_.h that defines EX_OK to 0, since the gnulib maintainers apparently won't fix this file. Include the sysexits.h header after all other system headers to override previous definitions of EX_OK on systems that use EX_OK for other purposes. This is needed on Interix, reported by Ben Collver. Version 0.8.3: - gnulib update. - Expect sorted UIDLS files. This means that files written by versions prior to 0.5.0 are not accepted anymore. - Fixed -d and -P output for "delivery" when maildir is used. - Changes taken from msmtp: - adapted configure.ac for new pkg-config version - Use gnulib socklen module for socklen_t. - W32: Enable maildir delivery. - W32/DJGPP: Use all files/streams in binary mode. - W32: Allow %HOME% to override default user configuration directory. - W32: Enable getpass and netrc functionality. - Do not rely on a failing malloc setting errno in xalloc_die() - Shut down a GnuTLS TLS session with GNUTLS_SHUT_WR instead of GNUTLS_SHUT_RDWR. This prevents session hangs in certain situations. It is safe to do this because we never reuse a connection when TLS was shut down. Thanks to Jens Kammler for the problem report! - Make the GnuTLS code accept old version 1 CA certificates when verifying certificates. - Renamed LOCK_(READ|WRITE) to OSENV_LOCK_(READ|WRITE) in os_env.[ch] to avoid name clashes with <fcntl.h> |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
options.mk | ||
PLIST |