Subject: pkg/36939: mail/msmtp: Update from 1.4.5 to 1.4.13
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <lems@gmx.net>
List: pkgsrc-bugs
Date: 09/06/2007 15:05:00
>Number:         36939
>Category:       pkg
>Synopsis:       mail/msmtp: Update from 1.4.5 to 1.4.13
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Sep 06 15:05:00 +0000 2007
>Originator:     L. Schmidt
>Release:        
>Organization:
>Environment:
Linux unruhe 2.6.20-16-generic #2 SMP Fri Aug 31 00:55:27 UTC 2007 i686 GNU/Linux
>Description:
This updates mail/msmtp from 1.4.5 to 1.4.13.
The patches have been merged upstream.


>From the changelog:

Version 1.4.13:
- Added the set_sendmail.sh script by Gautam Iyer to the new scripts
  subdirectory.
- Added the msmtpqueue scripts to the new scripts subdirectory.
- Make the search of an account by the envelope from address case insensitive.
  Problem reported and fixed by Brandon Philips.
- Update the license of the source code to GPLv3 or later, and change the
  license of the documentation to the GFDLv1.2 or later.
- Gnulib update to 2007-07-15.

Version 1.4.12:
- Handle the special envelope from address MAILER-DAEMON correctly: send 
  "MAIL FROM:<>" instead of "MAIL FROM:<MAILER-DAEMON>". Reported by 
  André Egerer.
- Improve the documentation for TLS vs. SSL. Thanks to Carlos Martín Nieto for
  suggestions.
- Add documentation on how to find the right CA certificate for
  tls_trust_file. Thanks to Bryan Kam for suggestions.

Version 1.4.11:
- Require either tls_trust_file or tls_certcheck=off for TLS sessions, so that
  msmtp is not silently vulnerable to man-in-the-middle attacks.
- Do not use NTLM authentication automatically anymore unless TLS is active.
  NTLM is not an open standard and must therefore be considered broken.
- Gnulib update 2007-04-07.
- Move build-aux files to separate directory build-aux.
- Provide a hstrerror() function for systems that lack getaddrinfo(), so that
  gethostbyname() must be used instead, and do not provide hstrerror()
  themselves. Needed for Solaris 2.6. Reported and tested by Chris Green.

Version 1.4.10:
- Updated copyright info to 2007.
- Gnulib update to 2007-01-10.
- From mpop: 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.
- From mpop: 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.4.9:
- Remove gnulib module nanosleep. This fixes more build problems.

Version 1.4.8:
- Gnulib update. There are no local changes anymore.
- 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 by Michael Williams, who also tested the fix.
  Thanks!
- Fix a bug in string_replace(). This bug did not affect msmtp.
- 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/msmtp). Reported by Roman Bogorodskiy.

Version 1.4.7:
- Gnulib update. The nanosleep module still differs 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 is needed to use SSL with some old and broken 
  servers. Closes 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. Thanks!
- Update to gettext-0.15.
- W32/DJGPP: Assure that all files are opened in binary mode. This seems to
  also apply to socket connections, therefore it is necessary.
- Fix error message typo in check_account().
- DJGPP port: include missing header <fcntl.h> in msmtp.c
- Sync from mpop:
  - Adapt --version output to the latest GNU conventions.
  - Clean up #includes.
  - Renamed os_env.[ch] to tools.[ch].
  - Replace __MINGW__ with W32_NATIVE in os_env.h.

Version 1.4.6:
- Updated README.
- Minor documentation improvements.
- Do not set a default port for LMTP, because none is officially defined.
- Update gettext files to gettext-0.14.5.
- Another gnulib update, with the additional sys_select module and a patch to
  the nanosleep module. See the mailing list gnulib-bugs for these patches
  that are not (yet?) part of the official gnulib.
- Gnulib update.
- Improved --help text output.
- Improved error messages when logging to a logfile fails.
- Sync from mpop:
  - 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.
  - 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.
  - 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.
  - 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().
    (This change applies to smtp_auth(), GNU SASL variant.)
  - Fix memory leak in GnuTLS variant of tls_cert_info_get().
  - 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.
    (This change applies to smtp_auth(), GNU SASL variant.)
  - 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.
    (This change does not affect msmtp.)
  - 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.
  - Fixed 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.
    (This change does not affect msmtp.)
- Update copyright message.
- Gnulib update.
- Minor Win32 portability/cross-compilation updates.
- 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.

>How-To-Repeat:

>Fix:
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/mail/msmtp/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- Makefile	5 Apr 2006 16:41:34 -0000	1.16
+++ Makefile	6 Sep 2007 14:48:32 -0000
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 1.16 2006/04/05 16:41:34 jlam Exp $
 
-DISTNAME=	msmtp-1.4.5
+DISTNAME=	msmtp-1.4.13
 CATEGORIES=	mail
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=msmtp/}
 EXTRACT_SUFX=	.tar.bz2
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/mail/msmtp/PLIST,v
retrieving revision 1.5
diff -u -p -r1.5 PLIST
--- PLIST	5 Apr 2006 16:41:34 -0000	1.5
+++ PLIST	6 Sep 2007 14:48:32 -0000
@@ -1,6 +1,7 @@
-@comment $NetBSD: PLIST,v 1.5 2006/04/05 16:41:34 jlam Exp $
+@comment $NetBSD$
 bin/msmtp
 info/msmtp.info
 man/man1/msmtp.1
 share/examples/msmtp/msmtprc-user.example
+share/locale/de/LC_MESSAGES/msmtp.mo
 @dirrm share/examples/msmtp
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/mail/msmtp/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo	14 Jan 2006 20:08:20 -0000	1.13
+++ distinfo	6 Sep 2007 14:48:32 -0000
@@ -1,11 +1,5 @@
-$NetBSD: distinfo,v 1.13 2006/01/14 20:08:20 ben Exp $
+$NetBSD$
 
-SHA1 (msmtp-1.4.5.tar.bz2) = 2734c4b0ab50d221c6c8248cdafc4af6ee0f6cf5
-RMD160 (msmtp-1.4.5.tar.bz2) = 21428a4d7c93da8383fe8f752b224dd2c0aff014
-Size (msmtp-1.4.5.tar.bz2) = 489336 bytes
-SHA1 (patch-aa) = 30be9810fdbdd1de0c4727c94d5c799317548bdb
-SHA1 (patch-ab) = 9ce732fb3258f0b5fcafaabaa92960489a62124e
-SHA1 (patch-ac) = 54b47760510320c08cf9703ce79ea431a69115e4
-SHA1 (patch-ad) = 1191e01ccad89532badb4240cb1e190965f1ed40
-SHA1 (patch-ae) = 1d5c4ece937ce23580ab2aef3d9362925023d7ad
-SHA1 (patch-af) = 3810dba45fdf83a8534fdac118b9da66db5bafc8
+SHA1 (msmtp-1.4.13.tar.bz2) = c1d0dee2b8e035289a0467d687ec8066dba61e97
+RMD160 (msmtp-1.4.13.tar.bz2) = a9e701fcfbcf38d240c474dbc8860de259dedc4e
+Size (msmtp-1.4.13.tar.bz2) = 704779 bytes
Index: options.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mail/msmtp/options.mk,v
retrieving revision 1.8
diff -u -p -r1.8 options.mk
--- options.mk	31 Aug 2005 18:37:33 -0000	1.8
+++ options.mk	6 Sep 2007 14:48:32 -0000
@@ -5,7 +5,7 @@ PKG_OPTIONS_VAR=	PKG_OPTIONS.msmtp
 PKG_OPTIONS_OPTIONAL_GROUPS=	ssl
 PKG_OPTIONS_GROUP.ssl=	gnutls ssl
 
-PKG_SUPPORTED_OPTIONS=	gsasl inet6
+PKG_SUPPORTED_OPTIONS=	gsasl idn inet6
 PKG_SUGGESTED_OPTIONS=	ssl
 
 .include "../../mk/bsd.options.mk"
@@ -21,6 +21,14 @@ CONFIGURE_ARGS+=	--with-ssl=openssl
 CONFIGURE_ARGS+=	--with-ssl=gnutls
 .else
 CONFIGURE_ARGS+=	--disable-ssl
+.endif
+
+###
+### Internationalized Domain Names (IDN) support
+###
+.if !empty(PKG_OPTIONS:Midn)
+.  include "../../devel/libidn/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-libidn
 .endif
 
 ###