Subject: CVS commit: pkgsrc/mail/mpop
To: None <pkgsrc-changes@netbsd.org>
From: Jeremy C. Reed <reed@netbsd.org>
List: pkgsrc-changes
Date: 03/16/2007 19:05:17
Module Name:	pkgsrc
Committed By:	reed
Date:		Fri Mar 16 19:05:17 UTC 2007

Modified Files:
	pkgsrc/mail/mpop: Makefile PLIST distinfo
Removed Files:
	pkgsrc/mail/mpop/patches: patch-aa patch-ab patch-ac patch-ad patch-ae
	    patch-af patch-ag patch-ah

Log Message:
Update to mpop-1.0.7. Install new locale file. Remove all patches.

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>


To generate a diff of this commit:
cvs rdiff -r1.8 -r1.9 pkgsrc/mail/mpop/Makefile
cvs rdiff -r1.3 -r1.4 pkgsrc/mail/mpop/PLIST
cvs rdiff -r1.2 -r1.3 pkgsrc/mail/mpop/distinfo
cvs rdiff -r1.1 -r0 pkgsrc/mail/mpop/patches/patch-aa \
    pkgsrc/mail/mpop/patches/patch-ab pkgsrc/mail/mpop/patches/patch-ac \
    pkgsrc/mail/mpop/patches/patch-ad pkgsrc/mail/mpop/patches/patch-ae \
    pkgsrc/mail/mpop/patches/patch-af pkgsrc/mail/mpop/patches/patch-ag \
    pkgsrc/mail/mpop/patches/patch-ah

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.