"Fossies" - the Fresh Open Source Software Archive

Member "msmtp-1.8.5/ChangeLog.old" (11 Jun 2018, 57654 Bytes) of package /linux/privat/msmtp-1.8.5.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Version 1.6.0rc1:
    2 - GSSAPI authentication is not chosen automatically anymore, you have to
    3   request it manually.
    4 - Libidn is not required for IDN support anymore on systems where getaddrinfo()
    5   supports the AI_IDN flag and the GnuTLS version is >= 3.4.0.
    6 - Add From: and Date: headers if they are not present in the mail, as required
    7   for sendmail/postfix/exim/ssmtp/... compatibility. The From: header uses the
    8   envelope from address and optionally a full name set by the -F option.
    9 - Add proxy_host and proxy_port commands and corresponding options to use a
   10   SOCKS proxy.
   11 - Remove the obsolete tls_force_sslv3 command and --tls-force-sslv3 option from
   12   the documentation. They are still accepted by msmtp for compatibility, but
   13   have no effect anymore.
   14 - Disable SSLv3 in addition to SSLv2.
   15 - passwordeval: Remove \r in addition to \n from command output, for Windows
   16   systems.
   17 
   18 Version 1.4.32:
   19 - A recipient list on the command line is now parsed as if it appeared in a
   20   mail header.
   21 
   22 Version 1.4.31:
   23 - Updated the msmtpq script.
   24 - Fixed building of the documentation with texinfo >= 5.0.
   25 
   26 Version 1.4.30:
   27 - Fix a bug in msmtp_read_addresses() that was introduced in version 1.4.29 by
   28   fixing a problem in the wrong way.
   29 
   30 Version 1.4.29:
   31 - Fix bugs in msmtp_read_addresses(), including a crash.
   32 - Removed autotools files that are automatically copied by 'autoreconf -i'
   33   from repository.
   34 - Properly require an argument to --passwordeval. Fixes a crash when none is
   35   given.
   36 - Replace old service name "ssmtp" with current one: "smtps".
   37 
   38 Version 1.4.28:
   39 - Update autotools files.
   40 - Improve error message on connection failures in some IPv6/IPv4 situations.
   41 - Improve documentation of EHLO issues.
   42 - Bug fix: expand tilde for the aliases command.
   43 
   44 Version 1.4.27:
   45 - Always use the internal MD5 functions for the built-in CRAM-MD5
   46   implementation; never use the ones from OpenSSL. This fixes problems with
   47   configurations that use OpenSSL and do not use GNU SASL. Thanks to Gleydson
   48   Soares and Moritz Wilhelmy for providing information and for testing the fix.
   49 - Fix a compiler warning with current OpenSSL versions.
   50 
   51 Version 1.4.26:
   52 - Fix serious bugs in the msmtpq script. To update to the new version of the
   53   script, you need to remove the old msmtpQ symlink, change msmtpQ to msmtpq
   54   in your MUA config, and use msmtp-queue for queue management.
   55 
   56 Version 1.4.25:
   57 - Fix DIGEST-MD5 authentication, accidentally broken in 1.4.23.
   58 - Deprecate DIGEST-MD5 authentication as per RFC 6331.
   59 - Add support for alias expansion via the aliases command and --aliases option.
   60 - Fix various typos in error messages and the documentation.
   61 
   62 Version 1.4.24:
   63 - Remove the unmaintained pt_BR translation.
   64 - Simplify manual license: use a simple permissive license instead of GNU FDL.
   65 - Replace a call to gnutls_protocol_set_priority(), which is deprecated in
   66   GnuTLS >= 2.12.0. Fixes Debian bug #624048 (reported for mpop).
   67 - Remove gnulib, for simplicity and maintainability.
   68 - Update GNU autotools files, in particular configure.ac.
   69 
   70 Version 1.4.23:
   71 - Fix SCRAM-SHA-1 authentication via libgsasl. Reported and analyzed by
   72   Steffen Lehmann for mpop.
   73 
   74 Version 1.4.22:
   75 - Update gnulib to 2010-12-23.
   76 - Avoid different account selection behaviour in --pretend mode, and print more
   77   informational messages about account selection in --pretend and --debug mode.
   78   Suggested by Adam Spiers.
   79 - Add a new passwordeval command and --passwordeval option, to set the password
   80   from the output of a command. Written by Martin Stenberg.
   81 - A few documentation improvements, suggested by Andries E. Brouwer.
   82 
   83 Version 1.4.21:
   84 - Report platform in --version output.
   85 - Update gnulib to 2010-07-03.
   86 - Fix building with newer OpenSSL versions. Reported and tested by Peter Baur.
   87 - Updated find_alias_for_msmtp.sh script (Ovidiu Constantin).
   88 - Fixed building without TLS/SSL support. Reported by Tan Ker Vin.
   89 
   90 Version 1.4.20:
   91 - Update gnulib to 2010-03-20.
   92 - Support authentication mechanism SCRAM-SHA-1 via GNU SASL.
   93 - New command tls_fingerprint to trust one particular TLS certificate.
   94 - Change whitespace: Avoid tabs and whitespace at end of lines.
   95 - Update the documentation of keyring usage.
   96 - Add the msmtp-gnome-tool.py script to manage Gnome Keyring passwords for
   97   msmtp. Thanks to Gaizka Villate and Emmanuel Bouthenot.
   98 - Fix minor quoting issues in the man page.
   99 - Add pt_BR translation, provided by Rudá Moura. Thanks!
  100 
  101 Version 1.4.19:
  102 - Properly handle NUL characters in the Common Name or Subject Alternative
  103   Name fields of certificates when using OpenSSL. This fixes the security
  104   problem described in <http://www.blackhat.com/presentations/bh-usa-09/
  105   MARLINSPIKE/BHUSA09-Marlinspike-DefeatSSL-PAPER1.pdf>.
  106 - Properly mask minus characters in the man page to prevent groff from
  107   converting them to hyphens. Reported by Emmanuel Bouthenot.
  108 - Disable security checks on the user configuration file when run as root.
  109   Fixes Debian bug #534829.
  110 - Remove DOS line endings from find_alias_for_msmtp.sh. Reported by Emmanuel
  111   Bouthenot.
  112 
  113 Version 1.4.18:
  114 - Update gnulib to 2009-09-07.
  115 - Use proper binary prefixes when handling sizes.
  116 - Scripts msmtpq and msmtpQ: do not hardcode IP address of www.google.com when
  117   testing connectivity. Use host name instead. Closes Debian bug #538328.
  118 - Make the option -v an alias for -d/--debug, for compatibility with other 
  119   implementations of the sendmail interface. Closes Debian bug #487272.
  120 - Add find_alias_for_msmtp.sh script by Jim Lofft.
  121 - Update gnulib to 2009-08-02.
  122 - Increase SMTP_MAXCMDLEN so that it is large enough to handle the potentially
  123   very long lines generated by the GSSAPI authentication method.
  124 - Update gnulib to 2009-03-07. Remove gnulib modules fseek/fseeko/lseek because
  125   they cause errors on MinGW: files opened with "r+" cannot be written to.
  126   Provide our own fseeko instead if it does not exist; see configure.ac.
  127 - Use "netrc" as SYSNETRCFILE, not ".netrc". Reported by Jim Pryor.
  128 - Use more gnulib modules to remove more W32 workarounds from the source.
  129 - Add missing gnulib module strerror for meaningful error messages on W32.
  130 
  131 Version 1.4.17:
  132 - Remove most W32-specific code from net.c and use the appropriate gnulib
  133   modules instead.
  134 - Gnulib upate to 2008-12-24.
  135 - Unified handling of the Gnome and MacOS keyrings. Both are disabled by default
  136   and must be enabled using --with-*-keyring options.
  137 - Support for SYSCONFDIR/netrc (as a fallback for ~/.netrc) was added by Jim
  138   Pryor. Thanks!
  139 - Support for the GNOME Keyring was added by Satoru SATOH. Thanks a lot!
  140 - Added a vim syntax file for msmtprc files to scripts/vim. The file was
  141   written by Simon Ruderich. Thanks!
  142 - Updated the msmtpq/msmtpQ scripts.
  143 
  144 Version 1.4.16:
  145 - Changed all scripts to '#!/usr/bin/env bash' instead of '#!/bin/sh' or 
  146   '#!/bin/bash', because they use bash features that are not available in POSIX
  147   /bin/sh and because bash might not live in /bin, e.g. on BSD systems. This is
  148   a quick fix for Debian bug #489635.
  149 - Accept both 250 and 251 in return of the RCPT TO command, as required by RFC
  150   2821 sections 4.3.2 and 3.4. Reported and fixed by Matthias Bernhardt.
  151   Thanks!
  152 - Fix scripts/msmtpqueue/msmtp-runqueue.sh. An error made while applying a
  153   patch accidently broke it. Reported by Thomas Weber. Thanks!
  154 
  155 Version 1.4.15:
  156 - Added the new tls_crl_file configuration command and the corresponding
  157   --tls-crl-file option.
  158 - Added the new tls_min_dh_prime_bits configuration command and the
  159   corresponding --tls-min-dh-prime-bits option. This closes Debian bug
  160   #440344.
  161 - Added the new tls_priorities configuration command and the corresponding
  162   --tls-priorities option.
  163 - Gnulib upate to 2008-06-02. Use getpass-gnu instead of getpass module.
  164 - Add msmtpq scripts by Chris Gianniotis to the scripts directory. Suggest
  165   them as a replacement in the README of the msmtpqueue scripts.
  166 - Do not let getpass() read from stdin, because we read the mail from there.
  167   Reported by Karol Lewandowski. Thanks!
  168 - Updated the set_sendmail script by Gautam Iyer. Thanks!
  169 - Return EX_TEMPFAIL instead of EX_DATAERR in case of  4xx replies to the MAIL
  170   FROM, RCPT TO and DATA commands. Reported by Kent Vinther Friis. Thanks!
  171 
  172 Version 1.4.14:
  173 - Add support for the SMTPSERVER and EMAIL environment variables. These
  174   variables are used when no other configuration is available. Suggested by
  175   Jari Aalto.
  176 - Add the --read-envelope-from option, which extracts the envelope from address
  177   from the From: header.
  178 - Fix a typo in the man page.
  179 - Add support for Resent-* headers to the -t/--read-recipients option. Fixes
  180   Debian bug #464474, reported by Tim Abbott.
  181 - Buffer read operations also when TLS/SSL is active. Fixes performance problems
  182   with GnuTLS, reported by Dimitrios Apostolou for mpop.
  183 - Fixed a potential problem with VPATH builds.
  184 - Updated gnulib to 2008-02-26. Imported havelib module.
  185 - Always log smtpstatus and smtpmsg, even in case of success. Suggested by
  186   Bruno De Fraine.
  187 - Use locale-independent c_toupper() instead of toupper() to avoid problems
  188   with the tr_TR.UTF-8 locale. Reported by S.Çağlar Onur. Thanks!
  189 - Updated gnulib to 2008-02-15. Imported c-ctype module.
  190 - Support for the Max OS X keychain was added by Jay Soffian. Thanks a lot!
  191 - Fix network input/output timeouts for W32. Bug reported and fixed by
  192   Shoorick for mpop. Thanks!
  193 
  194 Version 1.4.13:
  195 - Added the set_sendmail.sh script by Gautam Iyer to the new scripts
  196   subdirectory.
  197 - Added the msmtpqueue scripts to the new scripts subdirectory.
  198 - Make the search of an account by the envelope from address case insensitive.
  199   Problem reported and fixed by Brandon Philips.
  200 - Update the license of the source code to GPLv3 or later, and change the
  201   license of the documentation to the GFDLv1.2 or later.
  202 - Gnulib update to 2007-07-15.
  203 
  204 Version 1.4.12:
  205 - Handle the special envelope from address MAILER-DAEMON correctly: send 
  206   "MAIL FROM:<>" instead of "MAIL FROM:<MAILER-DAEMON>". Reported by 
  207   André Egerer.
  208 - Improve the documentation for TLS vs. SSL. Thanks to Carlos Martín Nieto for
  209   suggestions.
  210 - Add documentation on how to find the right CA certificate for
  211   tls_trust_file. Thanks to Bryan Kam for suggestions.
  212 
  213 Version 1.4.11:
  214 - Require either tls_trust_file or tls_certcheck=off for TLS sessions, so that
  215   msmtp is not silently vulnerable to man-in-the-middle attacks.
  216 - Do not use NTLM authentication automatically anymore unless TLS is active.
  217   NTLM is not an open standard and must therefore be considered broken.
  218 - Gnulib update 2007-04-07.
  219 - Move build-aux files to separate directory build-aux.
  220 - Provide a hstrerror() function for systems that lack getaddrinfo(), so that
  221   gethostbyname() must be used instead, and do not provide hstrerror()
  222   themselves. Needed for Solaris 2.6. Reported and tested by Chris Green.
  223 
  224 Version 1.4.10:
  225 - Updated copyright info to 2007.
  226 - Gnulib update to 2007-01-10.
  227 - From mpop: Switch to autoconf-2.61 and automake-1.10, to avoid problems with
  228   configure trying to run "sh /usr/bin/install" where /usr/bin/install is not a
  229   shell script on NetBSD. Reported by Jeremy C. Reed.
  230 - From mpop: Remove the obsolete "extern int errno;" declaration. It does not
  231   conform to POSIX and causes trouble. Thanks to Jeremy C. Reed for the patch.
  232 - Added AC_SYS_LARGEFILE to configure.ac, for large file support. Removed the
  233   unnecessary AC_C_CONST and AC_HEADER_STDC.
  234 
  235 Version 1.4.9:
  236 - Remove gnulib module nanosleep. This fixes more build problems.
  237 
  238 Version 1.4.8:
  239 - Gnulib update. There are no local changes anymore.
  240 - Do not use nanosleep() on W32 anymore. Use Sleep() instead.
  241   Do not use nanosleep() on DJGPP anymore. Use usleep() instead.
  242 - Update gettext files to gettext-0.16.
  243 - Improved the configure check for the OpenSSL libraries. This fixes a build
  244   failure on Mac OS X. Reported by Michael Williams, who also tested the fix.
  245   Thanks!
  246 - Fix a bug in string_replace(). This bug did not affect msmtp.
  247 - Gnulib update. Removes the initialization of pkgdata_DATA from
  248   gnulib/Makefile.am, thanks to a fix by Bruno Haible. 'make install' will no
  249   longer create an empty directory $(pkgdatadir) anymore (the default for
  250   $(pkgdatadir) is /usr/local/share/msmtp). Reported by Roman Bogorodskiy.
  251 
  252 Version 1.4.7:
  253 - Gnulib update. The nanosleep module still differs from the official gnulib
  254   source.
  255 - Disable SSLv2 because it has known flaws. This only affects the OpenSSL
  256   version because GNU TLS does not implement SSLv2.
  257 - Add new command tls_force_sslv3 and option --tls-force-sslv3 to force
  258   TLS/SSL version SSLv3. This is needed to use SSL with some old and broken 
  259   servers. Closes Debian bug #374610, reported by Marko Mäkelä. Thanks to 
  260   Julien Louis for tracking this problem down and testing the patch.
  261 - Changed detection of libgnutls so that it works with version >= 1.2.0 again.
  262 - Improvements for the build system:
  263   - Quote arguments of M4 macros.
  264   - Use AC_LIB_HAVE_LINKFLAGS to detect libraries. Do not use *-config scripts
  265     or pkg-config. This avoids problems that are reported in this thread:
  266     http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/
  267     1610/focus=1610 .
  268   - Use HAVE_LIB* macros instead of USE_* or others, for consistency.
  269 - Link with LIB_NANOSLEEP as determined by the gnulib nanosleep module. This
  270   fixes build problems on Solaris. Reported by Daniel Rechsteiner. Thanks!
  271 - Update to gettext-0.15.
  272 - W32/DJGPP: Assure that all files are opened in binary mode. This seems to
  273   also apply to socket connections, therefore it is necessary.
  274 - Fix error message typo in check_account().
  275 - DJGPP port: include missing header <fcntl.h> in msmtp.c
  276 - Sync from mpop:
  277   - Adapt --version output to the latest GNU conventions.
  278   - Clean up #includes.
  279   - Renamed os_env.[ch] to tools.[ch].
  280   - Replace __MINGW__ with W32_NATIVE in os_env.h.
  281 
  282 Version 1.4.6:
  283 - Updated README.
  284 - Minor documentation improvements.
  285 - Do not set a default port for LMTP, because none is officially defined.
  286 - Update gettext files to gettext-0.14.5.
  287 - Another gnulib update, with the additional sys_select module and a patch to
  288   the nanosleep module. See the mailing list gnulib-bugs for these patches
  289   that are not (yet?) part of the official gnulib.
  290 - Gnulib update.
  291 - Improved --help text output.
  292 - Improved error messages when logging to a logfile fails.
  293 - Sync from mpop:
  294   - Enable network connection timeouts on DJGPP/Watt32. Thanks to Gisle Vanem 
  295     for pointing out that this works just like it does with UNIX. The 
  296     DJGPP/Watt32 port is now on par with the UNIX port.
  297   - Update README.dos.
  298   - Don't check configuration file permissions on Cygwin.
  299   - Renamed README.win32 to README.w32. Updated README.w32 and README.dos.
  300   - Replace '#ifdef _WIN32' with '#ifdef W32_NATIVE', where W32_NATIVE is 
  301     defined in config.h if the following is true:
  302     '#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__'.
  303     The reason is that Cygwin defines _WIN32 nowadays, but we want the UNIX API
  304     on that platform.
  305   - Include config.h in list.c.
  306   - Fix warnings emitted for configure.ac by autoreconf.
  307   - lock_file(): If another process holds a lock on the file, then wait 1/10 
  308     second instead of 1 second before the next try.
  309   - Gnulib update. Added nanosleep module.
  310   - Improve error handling for file locking: differentiate between timeouts and
  311     other errors.
  312   - Improve checks for libraries in configure.ac. The ./configure options have
  313     changed! See INSTALL for more info.
  314   - Improve --version output.
  315   - Add (optional) support for Internationalized Domain Names (IDN) via
  316     GNU Libidn.
  317   - Initialize TLS only if pop3_connect() succeeded.
  318   - Move SSL_LIBS and GSASL_LIBS into LIBS; do not put them in Makefile.am.
  319   - Fix memory leak in GNU SASL variant of pop3_auth().
  320     (This change applies to smtp_auth(), GNU SASL variant.)
  321   - Fix memory leak in GnuTLS variant of tls_cert_info_get().
  322   - pop3_auth(), GNU SASL variant: 
  323     - Check if authentication data is complete before trying to start
  324       authentication.
  325     - Never call password_callback() when no user name is given.
  326     (This change applies to smtp_auth(), GNU SASL variant.)
  327   - Prevent a double free if an invalid argument to the auth command is given.
  328   - Prevent a double free if an invalid argument to --auth is given.
  329   - Replace crypto.[ch] with gnulib hmac-md5 module.
  330   - Gnulib update. Add hmac-md5 module.
  331   - net.c, tls.c: allow all network operations to be interrupted with CTRL+C,
  332     and print an appropriate error message in this case.
  333     (This change does not affect msmtp.)
  334   - tls.c: if an error occurs, clean up *after* building the error message. This
  335     fixes a potential segfault in the OpenSSL version of tls_start().
  336   - net_open_socket(): don't let net_close_socket() clobber errno.
  337   - net_open_socket(): print correct error message if getaddrinfo() returns 
  338     EAI_SYSTEM.
  339   - Fixed comment in net.h.
  340   - net_get_canonical_hostname(): Only call freeaddrinfo() if getaddrinfo()
  341     succeeded. Reported and fixed by Raúl Núñez de Arenas Coronado.
  342     (This change does not affect msmtp.)
  343 - Update copyright message.
  344 - Gnulib update.
  345 - Minor Win32 portability/cross-compilation updates.
  346 - configure.ac: Rely on PKG_CHECK_MODULES to find GSASL, do not fall back to
  347   manual detection, to prevent using an incompatible version of GSASL.
  348   Problem reported by Jari Aalto.
  349 - Gnulibs sysexit_.h now defines EX_OK; there's no need to use a locally
  350   modified version anymore.
  351 - Use a locally modified version of gnulibs sysexit_.h that defines EX_OK to
  352   0, since the gnulib maintainers apparently won't fix this file.
  353   Include the sysexits.h header after all other system headers to override 
  354   previous definitions of EX_OK on systems that use EX_OK for other purposes.
  355   This is needed on Interix, reported by Ben Collver.
  356 
  357 Version 1.4.5:
  358 - gnulib update.
  359 - adapted configure.ac for new pkg-config version
  360 - Use gnulib socklen module for socklen_t.
  361 - Lock the logfile.
  362 - W32/DJGPP: Use all files/streams in binary mode.
  363 - W32: Allow %HOME% to override default user configuration directory.
  364 - W32: Enable getpass and netrc functionality.
  365 - Use gnulib getpass module since it now works on Win32.
  366 - Shut down a GnuTLS TLS session with GNUTLS_SHUT_WR instead of
  367   GNUTLS_SHUT_RDWR. This prevents session hangs in certain situations.
  368   It is safe to do this because we never reuse a connection when TLS was shut
  369   down. Thanks to Jens Kammler for the problem report!
  370 - Do not rely on a failing malloc setting errno in xalloc_die()
  371 - Make the GnuTLS code accept old version 1 CA certificates when verifying
  372   certificates.
  373 - Renamed LOCK_(READ|WRITE) to OSENV_LOCK_(READ|WRITE) in os_env.[ch] to avoid
  374   name clashes with <fcntl.h>
  375 
  376 Version 1.4.4:
  377 - gnulib update
  378 - Renamed the --disable-win32-ipv6 configure option to
  379   --enable-win2000-and-older, because it applies to more than just IPv6
  380   support.
  381 - Retry gnutls_handshake() when the non-fatal error E_INTERRUPTED occurs.
  382 - Properly handle OpenSSL errors that occur due to interrupted system calls:
  383   retry the operation.
  384 - Removed the OpenSSL exception note from the license information. This was
  385   necessary because msmtp uses GPL'ed gnulib modules.
  386 - Added "accepted but ignored" support for the sendmail -F option (set real 
  387   name of sender). Vixie-cron uses this. Reported by Luca Graf.
  388 - Updated README. Removed README.gsasl.
  389 - Removed README.hpux because it was outdated (the getaddrinfo() problems were
  390   patched long ago).
  391 - Reduce calls to net_puts()/tls_puts() by avoiding to send "\r\n" in an extra
  392   call. Append "\r\n" to the string instead (if necessary).
  393   A side effect is that the TCP CRLF ("\r\n") appears in the --debug output.
  394   This was done for smtp_get_msg(), too, for consistency.
  395 - Avoid system call in net_puts() when there's no data to send
  396 - Whitespace fixes
  397 
  398 Version 1.4.3:
  399 - gnulib update
  400 - Allow empty envelope from addresses. --from="" does not unset the 
  401   envelope-from address anymore. An envelope-from address will only be created
  402   automatically when the new command auto_from (or option --auto-from) is set
  403   to "on".
  404   This closes Debian bug #318138, reported by Richard Thrippleton. The fix was
  405   suggested by Julien Louis. Thanks!
  406 - Update netrc.c from fetchmail-6.2.6pre4 (no significant changes)
  407 - msmtp.1, msmtp.texi: Explicitly state that authentication must be activated
  408   in the documentation of the user and password commands.
  409 
  410 Version 1.4.2:
  411 - gnulib update
  412 - Fixed memory leaks in msmtp_read_recipients() and msmtp_get_loginfo().
  413 - Big merge from mpop:
  414   - Fix error messages for network input/output timeouts. This affects reading
  415     and writing raw sockets, OpenSSL connections, and GnuTLS connections.
  416   - Replace the connect_timeout setting with a timeout setting that not only
  417     applies to connection attempts but also to input/output operations.
  418     msmtp still accepts the --connect-timeout option and connect_timeout
  419     command as aliases, though they were restricted to connection attempts.
  420   - Added a new function lock_file() to os_env.[ch], used for platform 
  421     independent file locking. [Not used in msmtp].
  422   - Added gnulib module xvasprintf. Use xasprintf where appropriate to
  423     avoid the need for static buffers with unknown required length.
  424   - Simplifications:
  425     - eliminate some error conditions by using safe fallbacks
  426     - don't print special error messages when the system setup is
  427       obviously completely broken
  428   - Updated all occurrences of the address of the FSF (all .h and .c files,
  429     configure.ac, COPYING, msmtp.texi)
  430   - Added german translation
  431   - Improved some error messages
  432   - Added gettext support
  433   - Let gcc know about unused variables to suppress warnings. The UNUSED macro
  434     used for this purpose is written into config.h. The logic that defines it
  435     to be empty when the compiler is not a recent gcc was taken from 
  436     coreutils-5.2.1.
  437   - Show the canonical hostname and network address of the server in 
  438     --serverinfo output (only if these informations are available).
  439   - Renamed paths.[ch] to os_env.[ch] and added new function get_username().
  440     This function is now used by msmtp_construct_env_from().
  441 - Added an advanced example of Mutt macros for switching accounts, 
  442   contributed by Thomas Baruchel
  443 - Minor documentation improvements
  444 - Let gcc print format warnings for print_error() in msmtp.c and
  445   smtp_send_cmd() in smtp.c
  446 - Remove superfluous password nulling in msmtp_password_callback()
  447 - Some whitespace / style fixes
  448 - Clarification and fixes of comments in paths.c
  449 - Fixed error detection for strtol(): LONG_MAX is a valid return value if
  450   errno != ERANGE (errno must be reset before strtol).
  451 - When the protocol is LMTP and the server does not accept the LHLO command,
  452   don't fall back to HELO. HELO is for old SMTP servers only; LMTP servers 
  453   must support LHLO.
  454 
  455 Version 1.4.1:
  456 - gnulib update
  457 - Don't call gnutls_record_send() in the GnuTLS version of tls_puts() when
  458   there is no data to send, and properly detect failing tls_puts() and
  459   net_puts() calls in smtp_put().
  460   This fixes a bug where msmtp silently strips blank lines from mails when
  461   compiled with GnuTLS. The bug also prevented msmtp from detecting certain
  462   output errors.
  463   Thanks to Jesse Michael for identifying, reporting, and fixing this bug.
  464 - Some typo fixes in the documentation
  465 - Updated README.dos to reflect recent improvements in the DJGPP port of
  466   OpenSSL.
  467 - Removed the requirement for the configuration file to be a regular file.
  468   This allows tricks like msmtp -C<(echo "host ..."...) again.
  469   Closes Debian bug #306904.
  470 - Changed read buffer counter in net.[ch] from ssize_t to int. This fixes
  471   compilation on FreeBSD (ssize_t was unkown in net.h; unistd.h had to be
  472   included). Reported by Roman Bogorodskiy.
  473 - Corrected documentation: the netrc syntax is described in netrc(5) or
  474   ftp(1).
  475 - Fixed a problem when using an IP address as a host name on certain old
  476   Windows systems without configured DNS: The gethostbyname() function may not
  477   be able to handle IP addresses. Work around this by trying inet_addr()
  478   first. Original report and patch by Dirk Heinemann.
  479   Note that newer Windows systems (XP and up) have getaddrinfo() and are 
  480   therefore not affected by this problem.
  481 
  482 Version 1.4.0:
  483 - gnulib update
  484 - Correctly handle null characters in the input by replacing fgets() with
  485   stream_gets() and fputs() with fwrite()
  486 - Do tilde expansion for the following options, in case the shell did not do
  487   it: --tls-trust-file, --tls-key-file, --tls-cert-file, --logfile
  488 - Make the OpenSSL code accept self signed certificates in the default mode
  489   (tls_cert_check on, tls_trust_file unset). This should have been in 1.3.6, but
  490   I forgot one case. The GnuTLS code always did this. 
  491   Reported by Luis A. Florit.
  492 - Fixed a memory leak in the tempfile() function.
  493 - Improved SMTP command pipelining:
  494   1. Limited the number of pipelined SMTP commands to SMTP_PIPELINE_LIMIT
  495      (currently 100) to avoid exceeding the TCP windows size when sending 
  496      to *lots* of recipients. 
  497   2. Pipeline the DATA command in addition to MAIL FROM and RCPT TO.
  498      This saves one round trip. Hooray!
  499   Both changes affect smtp_send_envelope() only. This function was rewritten.
  500 - Only send the QUIT command in the following two situations:
  501   - the SMTP session ended normally
  502   - msmtp cannot proceed with the SMTP session because the SMTP server lacks a
  503     feature
  504   On all other errors, don't bother to send QUIT, just abort the session.
  505 - Handle To, Cc, and Bcc headers case insensitive (allow for example CC and
  506   BCC). Reported by Michael D Henderson. Thanks!
  507 - Accept CRLF line ends in the mail (both header and body). Suggested by
  508   Michael D Henderson. Thanks!
  509 - Accept CRLF line ends in the configuration files.
  510 - Fixed --read-recipients long option: it wrongly required an argument.
  511   Reported by Michael D Henderson. Thanks!
  512 - Fixed the dsn_return and dsn_notify commands: they now accept the argument
  513   "off", as documented. Patch by Maciej Bliziński. Thanks!
  514 - Minor documentation changes
  515 - Changes taken from mpop:
  516   - Improved network input/output, including input buffering. Initiated by
  517     Dimitris Apostolou.
  518   - net_gets()/tls_gets() now return the length of the string, and
  519     net_puts()/tls_puts() now take a length argument. This saves some strlen()
  520     calls. Original patch by Dimitris Apostolou.
  521 
  522 Version 1.3.9:
  523 - Added support for .netrc
  524 - Minor documentation changes
  525 - Log user name if authentication is used (suggested by Jim Fohlin)
  526 - An account from the system configuration file cannot be partially changed in
  527   the user configuration file anymore; it must be replaced completely instead.
  528 - Added missing connection timeout documentation.
  529 - Implemented LMTP. LMTP can be activated with the protocol command or 
  530   --protocol option. Adapted the setting of the default port. Removed "SMTP" 
  531   from some error strings that are also valid for LMTP.
  532 - Minor fix in net.c: net_open_socket() could have wrongly reported success in
  533   very obscure situations.
  534 - Allow an empty string as domain parameter; don't use NULL
  535 - Updated AUTHORS
  536 
  537 Version 1.3.8:
  538 - Moved setting of default port from conf.c to msmtp.c. Setting a port in a
  539   "defaults" section should now work correctly.
  540 - For all commands and options that accept the argument "on": also accept
  541   no argument, an treat that the same as "on".
  542 - Moved lib to gnulib and m4 to gnulib/m4
  543 - Use gnulib module sysexits.h
  544 - Replace xmalloc.[ch] with gnulib module xalloc
  545 - Simplify crypto.[ch]: Always use gnulib md5. This avoids error checking that
  546   was necessary because of the libgcrypt code.
  547 - Fixed some pedantic compiler/lint warnings
  548 - Minor output format changes
  549 - Rewrote the OpenSSL specific hostname matching code:
  550   - It only allows one form of wildcard in the certificate name: "*." as the
  551     two leftmost characters. See the comment for hostname_match() in tls.c
  552     for the reasons for this.
  553   - It does not require memrchr() anymore, therefore the gnulib memrchr module
  554     was removed.
  555   - It does not break with "tcc -b" anymore.
  556 - Close the temporary file as soon as possible in msmtp_sendmail()
  557 - Only replace characters for which iscntrl() returns true with question marks
  558   in msmtp_sanitize(). Replacing every character for which isprint() is false
  559   is too restrictive. Now UTF-8 is passed through.
  560 - Minor documentation improvements. The texinfo documentation now contains
  561   a section "Environment / Files", which was previously only in the man page.
  562 - Added missing const qualifiers
  563 - Fixed temporary file handling on Win32. This means that -t/--read-recipient
  564   now works properly on Win32.
  565 - Fixed error handling for the temp file used by msmtp_read_recipient().
  566   One fix is for a potential segfault in case of temp file io errors.
  567 - Changed the tempfile() function to create a file that is automatically
  568   deleted when closed, thus eliminating the need to return the file name.
  569   This required a mkstemp+unlink replacement for DOS/Windows (see paths.c).
  570 - Replaced the DEFAULT_SYSLOG_FACILITY macro with the
  571   get_default_syslog_facility() function.
  572 - The default values from a defaults section in a system configuration file
  573   are not valid in the user configuration file anymore, to prevent changes in 
  574   the system configuration file from breaking user setups.
  575 - sanitize more strings before printing or logging them
  576 - fixed compilation on systems that don't have socklen_t, for example MacOS X
  577 
  578 Version 1.3.7:
  579 - Better authentication error messages
  580 - Be more strict when checking the port/--port argument
  581 - Added the new connect_timeout command and --connect-timeout option. Suggested
  582   by Jim Fohlin.
  583 - configure.ac: only try to find GNU SASL manually if pkgconfig is not found
  584 - Added specialisation to account definitions. See documentation of the
  585   account command and the example files. Suggested by Jim Fohlin.
  586 - Added a password callback function that reads a password via getpass() if
  587   needed. Suggested by lots of people.
  588 - Added a user configuration file permission check: It must have no more
  589   permissions than 0600. Suggested by lots of people.
  590 
  591 Version 1.3.6:
  592 - Added new, completely rewritten documentation in texinfo format.
  593   Also distribute the generated html and pdf formats.
  594 - Added a "defaults" command. Suggested by Jim Fohlin.
  595 - Accept "AUTH=" as an alternative to "AUTH " in EHLO response. There are
  596   still some broken servers that use "AUTH=". Reported by Multik.
  597 - Added authentication mechanism EXTERNAL (both built-in and via GSASL).
  598 - Updated GnuTLS dependency to 1.2.0.
  599 - Accept self-signed certificates in the certificate chain in the default
  600   settings (tls_cert_check on, tls_trust_file unset).
  601   This only affects the OpenSSL code; the GnuTLS code did it already.
  602 - Improved the OpenSSL certificate name check (host name versus the
  603   subjectAltNames or the common name of the peer certificate). The
  604   improvements were partially taken from libesmtp-1.0.3r1, Copyright 2001-2004
  605   Brian Stafford, Released under the LGPL.
  606 - Fixed ACC_SYSLOG constant in conf.h. (Jim Fohlin)
  607 - Add SSL_CFLAGS and GSASL_CFLAGS to CFLAGS in configure.ac. Should fix
  608   compilation on various systems, including RH9. (Jim Fohlin)
  609 - the --dsn-notify and --dsn-return options don't accept empty arguments
  610   anymore
  611 - moved md5_hmac function from smtp.c to the new crypto.c file
  612 - When neither GnuTLS nor OpenSSL is used, always use the gnulib MD5
  613   implementation, even if the BSD MD5 API is available. The gnulib md5.h
  614   header shadows the system md5.h header, and trying to solve this results in
  615   a mess that isn't worth it.
  616   This fixes compilation with --disable-ssl on a system with the BSD MD5 API.
  617 - changed the --from option: an empty argument unsets the envelope from
  618   address now
  619 - Do not ignore open errors on user configuration files specified with
  620   -C/--file.
  621 - Display configuration file loading information with --pretend, too (not just
  622   with --debug). Fixed display of this information in case of an unknown home
  623   directory.
  624 - gnulib update
  625 - use automake 1.9.4
  626 
  627 Version 1.3.5:
  628 - minor man page cleanups
  629 - forbid empty arguments for the following commands: auth, tls,
  630   tls_certcheck, tls_starttls, keepbcc, dsn_notify, dsn_return
  631 - removed unnecessary and broken detection of DJGPP systems in configure.ac
  632 - changed the following options from having an optional argument to having a
  633   required argument: --auth, --tls, --tls-certcheck, --tls-starttls, --keepbcc
  634 - changed the from command: an empty argument is now accepted and unsets the
  635   envelope from address
  636 - changed the domain command: an empty argument is now accepted and unsets the
  637   EHLO domain
  638 - always contruct an envelope from address if none is given
  639 - added a maildomain command and --maildomain option
  640 - added a sylog command and --syslog option
  641 - added a system wide configuration file: SYSCONFDIR/msmtprc. Set SYSCONFDIR
  642   with the --sysconfdir configure option.
  643 - check if DSN is available as soon as possible in msmtp_sendmail()
  644 - fixed a bug in the dsn_notify configuration file command: it stopped parsing
  645   of the configuration file
  646 - allow empty configuration files
  647 - don't require recipients when --pretend is used
  648 - splitted main() in parts
  649 
  650 Version 1.3.4:
  651 - Fixed built-in CRAM-MD5 authentication. The error was introduced when
  652   switching to the gnulib base64 implementation. Reported by Martin Hauke.
  653 - Use getservbyname() to get the default port for smtp or ssmtp. Use
  654   25/465 as fallback.
  655 - added authentication to msmtp_rmqs()
  656 - don't test if requested auth mech is compiled in when --serverinfo is used,
  657   because --serverinfo does not use auth
  658 - the SHA1 and MD5 fingerprints of the peer's certificate were added to the
  659   certificate information output
  660 - --serverinfo: always print port number
  661 - cleanups in conf.[ch]
  662 - fixed the setting of the default port
  663 - fixed several memory leaks reported by valgrind
  664 - minor changes in the man page
  665 - killed prototype for nonexistant function from conf.h
  666 - use AM_CPPFLAGS = -I$(top_srcdir)/lib in src/Makefile.am and change 
  667   #include <md5.h> to #include "md5.h" in smtp.c to solve the MD5 build
  668   issues. Also replaced #include "../lib/base64.h" with #include "base64.h"
  669   and killed the #ifdef'ed inclusion of "getopt.h" in msmtp.c: always include
  670   <getopt.h>
  671 
  672 Version 1.3.3:
  673 - replaced the GnuTLS check in configure.ac with the AM_PATH_LIBGNUTLS macro
  674   that comes with GnuTLS
  675 - reorganized the man page
  676 - added the Remote Message Queue Starting mode of operation (--rmqs, RFC 1985)
  677 - fixed the --pretend option:
  678   - it now prohibits the execution of msmtp_serverinfo() even if --serverinfo
  679     was given
  680   - the printed configuration contains only the information that is actually
  681     used: DSN settings, envelope from address and other information is only
  682     printed when sendmail mode is active
  683 - Added functions to get information about peer's certificate.
  684   This information is printed by --serverinfo and if --debug is used.
  685   This code requires a fix in gnutls_x509_crt_get_dn_by_oid() that is only
  686   available in GnuTLS newer than the 2005-01-05 snapshot of what will become
  687   1.1.23.
  688 - OpenSSL code in tls.c: allow Common Names of arbitrary length during 
  689   certificate check
  690 - minor cleanups in net.c, tls.c, and msmtp.c
  691 - improvements to the Windows mkstemp() replacement function in paths.c
  692 - fixed a potential segmentation fault in DOS/DJGPP specific code in tempfile() 
  693 
  694 Version 1.3.2:
  695 - fixed segfault bug in find_account_by_envelope_from(): it was not checked 
  696   if the from address of an account is != NULL before doing a string comparison.
  697   Reported by Jan Kanty Palus.
  698 - minor cleanup in find_account*() functions
  699 - Removed TODO from distribution
  700 - added the field 'conffile' to account_t for better error messages in
  701   msmtp.c
  702 - added the field 'mask' to account_t and adjusted conf.c and msmtp.c
  703   accordingly
  704 - Do not set GSASL_AUTHZID in GNU SASL authentication code. Only use
  705   GSASL_AUTHID. GSASL_AUTHZID caused DIGEST-MD5 to fail.
  706 - Require GNU SASL >= 0.2.4, because it contains a new DIGEST-MD5
  707   implementation.
  708 - Replaced base64.[ch] and md5_algo.[ch] with the gnulib modules base64 and
  709   md5. Moved md5_hmac() from md5_apps.c into smtp.c and removed md5_apps.[ch].
  710   Updated man page and AUTHORS accordingly. Removed README.md5.
  711 - fixed interpretation of the SIZE SMTP service extension: no number means no
  712   information, 0 means no limit (RFC 1653).
  713 - updated print_conf output (printed with --debug and --pretend) to match new
  714   configuration scheme
  715 - added info about required libraries to README
  716 - updated TODO
  717 - fixed comment on msmtp_read_recipients() in msmtp.c
  718 
  719 Version 1.3.1:
  720 - fixed -t option address parsing; it was completely broken and didn't even
  721   catch all example cases from the RFC 2822 Appendix.
  722   
  723 Version 1.3.0:
  724 - minor changes to some documentation files (AUTHORS, README.dos, ...)
  725 - The auth command is now required to activate authentication. It is not
  726   sufficient to use user/password anymore. This allows switching off
  727   authentication with --auth=off
  728 - The tls_* properties can now be changed without activating tls. This allows
  729   switching TLS off with --tls=off.
  730 - Added a command line long option for every configuration file command
  731 - Changed log file information: Instead of conffile/account (which can now be
  732   overridden on the command line and thus has no meaning anymore), print
  733   host=%s tls=on|off auth=on|off from=%s
  734 - Imported the gnulib module getopt: long option support for all platforms
  735 - reactivated xmalloc.c to make the code more readable
  736 - Support for the sendmail -t option (read additional recipients from the
  737   To, Cc, Bcc headers of the mail). This needs to create a temporary file for
  738   the mail headers.
  739 - Use the same version of md5_apps.* that mpop uses
  740 - Accept sendmail options.
  741   1. msmtp options that had to be changed because they collided with sendmail
  742      options:
  743      -p => -P
  744      -F => -C
  745      -v and -h were deleted.
  746   2. additional supported sendmail options:
  747      -t (read additional recipients from To, Cc, Bcc)
  748      -N (dsn_notify)
  749      -R (dsn_return)
  750      -X (set logfile)
  751   3. ignored options: a lot.
  752 - Rewrote the "Using msmtp with Mutt" section of the man page. Updated
  753   Mutt+msmtp.txt and msmtprc.example.
  754 - You can choose the account using the -f/--from option:
  755   If you use -f/--from but not -a/--account, the first account of the
  756   configuration file that has a matching envelope from address will be used.
  757   Thanks to Bernhard Walle and others for the idea.
  758 - Rewrote expand_tilde() (from paths.c)
  759 - Error handling: eliminated merror.[ch]. Replaced it by an int return value
  760   and an additional argument 'char *errstr' where necessary. Various minor 
  761   changes to error messages. Eliminated static buffer in tls.c.
  762 - Allow sending of SMTP commands longer than 510 characters (SMTP_MAXCMDLEN).
  763   This is necessary for GSSAPI authentication.
  764 - Added support for GSSAPI authentication with GNU SASL
  765 - Added support for the ntlmdomain configuration command used by NTLM
  766   authentication.
  767 - Check if the SMTP server supports a requested AUTH mechanism before sending
  768   an AUTH command. Changed both GNU SASL and built-in code.
  769 - Updated the GNU SASL code in smtp.c to use the new API of GNU SASL 0.2.0. 
  770   The code will not work with 0.1.x anymore.
  771 - Improved error message when the SMTP server sends an invalid reply
  772 - Updated Mutt+msmtp.txt and msmtp.1
  773 - Portability improvement: added missing declaration of h_errno to net.c. 
  774   Thanks to Marco for reporting this.
  775 - New configure option --disable-win32-ipv6 to disable IPv6 on Windows and thus
  776   build binaries that run on any Windows version, not just XP and newer. See 
  777   the updated README.win32 file. Thanks to Thomas Davies for pointing out this 
  778   problem.
  779 
  780 Version 1.2.4:
  781 - Changed return code in case of authentication error from EX_DATAERR 
  782   to EX_NOPERM
  783 - Changed return code in case of missing/invalid configuration file or 
  784   nonexistent account from EX_NOINPUT/EX_DATAERR to EX_CONFIG
  785 - Test return value of localtime(3) in msmtp_log()
  786 - Windows specific code in net.c: moved translation of error code from 
  787   WSAStartup() from net_lib_init() to wsa_strerror()
  788 - OpenSSL specific code in tls.c: minor cleanup in openssl_io_error()
  789 - Always keep control of the format string in calls to merror(). (There
  790   were four cases where the result of strerror() was passed as the format
  791   string in smtp.c.)  
  792 - Clarified usage instructions of merror() in merror.h
  793 - Check at initialization time whether support for a manually requested
  794   authentication mechanism is compiled, *before* establishing a network
  795   connection.
  796   This required a change from smtp_auth_caps() to the (equally trivial)
  797   smtp_authmech_is_supported() function.
  798   Made the output of both "not compiled in" messages (TLS and auth mech)
  799   consistent.
  800   The return code for these error conditions is EX_UNAVAILABLE now.
  801 - Make the output of -h/--help and -v/--version consistent with the GNU 
  802   utilities by including copyright and no-warranty notice (version) and
  803   a short description and the bug report address (--help).
  804 - Add missing declarations of optarg and optind to msmtp.c, needed for
  805   getopt() handling. No compiler complained so far, though.
  806 - Fixed stupid error in smtp.c that prevented the detection of output 
  807   errors when sending the RCPT TO command (highly unlikely to occur).
  808 - Cosmetic change in -v/--version output that avoids lines longer than 
  809   80 characters
  810 - Fixed some man page typos
  811 - Fixed typos in conffile.c error message
  812 - Fixed typo in tls.c error message (OpenSSL code only)
  813 - Changed error messages: "bla [blub]" -> "bla: blub"
  814 - Improved some TLS error messages
  815 - Corrected short description in man page, README and code comments
  816 - Updated README.dos
  817 
  818 Version 1.2.3:
  819 - documentation updates
  820 - The -v/--version option now prints information about the supported 
  821   authentication methods
  822 - The tls_* commands and the auth mechanisms ntlm and digest-md5 are now
  823   allowed in the configuration file even if msmtp is compiled without
  824   support for TLS or GSASL. An error message will only appear only if you
  825   actually try to make use of a feature not compiled in.
  826 - The GNU SASL code does not expect support for digest-md5 or ntlm (or 
  827   any other mechanism) in the library anymore. It just works with what's 
  828   supported. This means you can now use the packaged versions of GNU SASL
  829   from Gentoo and Debian sarge.
  830 - Switch from gsasl_client_step_base64() to the newer gsasl_step64()
  831   in the GNU SASL authentication code
  832 - Martin Hauke added README.hpux
  833 - updated automake files to version 1.8.5
  834 - configure.ac: check that pkg-config exists before trying to use it
  835 - configure.ac: try to check for GNU SASL using pkg-config (if available)
  836 - configure.ac: improved detection of network settings.
  837 - configure.ac: improved checks for OpenSSL and GnuTLS
  838 - configure.ac: fixed display of warning when neither OpenSSL nor GnuTLS 
  839   is found and --disable-ssl was not explicitly used
  840 - updated README.win32, README.dos
  841 - Use getaddrinfo() on Windows (but not gai_strerror()). This enables 
  842   IPv6 support for Windows.
  843 - clarified an error message in tls.c (only OpenSSL affected):
  844   "cannot establish TLS connection" changed to "TLS handshake failed"
  845 
  846 Version 1.2.2:
  847 - set *error_msg to NULL in smtp_auth() and smtp_send_mail() to prevent 
  848   possible segfaults in the calling function
  849 - correctly handle mails whose last line lacks a newline character (the 
  850   missing character will be added)
  851 - smtp error messages are sanitized before printed in an error message or 
  852   to the logfile: non-printable characters (!isprint(c)) are replaced with
  853   a question mark.
  854 - corrected a problem where the "exitcode=..." field in the logfile said 
  855   EX_SOFTWARE though the exitcode was in fact something different
  856 - do not expect an SMTP response to end with '\n'; clarified comment about 
  857   smtp_get_msg() (Ralph Siemsen)
  858 - added a "mailsize=..." field to the logfile
  859 - added a "smtpmsg='...'" field to the logfile
  860 - added a "errormsg='...'" field to the logfile
  861 - the dash (-) as a logfile name causes logging to standard output
  862 - removed all `...' quoting from error messages: `bla' -> bla
  863 - updated documentation
  864   
  865 Version 1.2.1:
  866 - don't use -n option for echo in configure.ac, because it is not portable
  867 - reduce calls to printf() in msmtp_serverinfo()
  868 - correctly handle configuration files in which the last line does not end
  869   with a newline character
  870 - update MD5 implementation to the version from popa3d-0.6.4.1, which has 
  871   a small fix (msmtp was not affected).
  872 
  873 Version 1.2.0:
  874 - changed output of -v,--version
  875 - made TLS/SSL support optional: --disable-ssl disables it.
  876 - moved md5.[ch] to md5_apps.[ch]
  877 - added MD5 implementation by Solar Designer (files md5_algo.c and 
  878   md5_algo.h). It only gets used when
  879   - GNU SASL is not used and 
  880   - GnuTLS is not used and 
  881   - OpenSSL is not used and 
  882   - the C library does not implement MD5.
  883   See README.md5.
  884 - print all debugging info to stdout (the SMTP session was printed to 
  885   stderr before).
  886 
  887 Version 1.1.3:
  888 - cosmetic changes in configure.ac
  889 - cosmetic change in --serverinfo output
  890 - new command: logfile (see man page)
  891 - new option -i, which is ignored for compatibility with mail(1)
  892 - made smtp_msg_status() available through smtp.h because the new 
  893   logging code needs it
  894 - documentation updates
  895 - translate SMTP_EINVAL to EX_DATAERR instead of EX_SOFTWARE in 
  896   exitcode_smtp() in msmtp.c
  897 
  898 Version 1.1.2:
  899 - changed the net_getline() and tls_getline() funtions to the slightly 
  900   different net_gets()/tls_gets() functions to clean things up and 
  901   prevent minor possible bugs
  902 - various minor cleanups and portability improvements
  903 - updated documentation. msmtp now accepts the example configuration 
  904   file ;-)
  905 
  906 Version 1.1.1:
  907 - many minor cleanups
  908 - fixed a bug where error messages might get overwriten by further 
  909   error messages in msmtp.c
  910 - tls_nostarttls now also changes the default port to 465 (ssmtp).
  911 
  912 Version 1.1.0:
  913 - restructured everything to use a new error handling scheme
  914 - restructured TLS interface
  915 - rewrote SMTP protocol implementation
  916 - added SMTP PIPELINING support
  917 - added new option -S, --serverinfo, which prints information about the
  918   SMTP server.
  919 - changed option -f, --file to -F, --file
  920 - added new option -f, --from to set the envelope from address. The from
  921   address does not need to be set in the configuration file anymore.
  922   The command line address overrides the configuration file setting.  
  923 - removed check for vasprintf() in configure.ac; it is not used anymore
  924 - removed check for strcasecmp() in configure.ac
  925 - the tilde expansion now uses getpwuid() when $HOME is not set on UNIX
  926 
  927 Version 1.0.0:
  928 - correctly handle certificate chains in tls.c GnuTLS code
  929 - added tilde expansion to configuration file filenames (expand_tilde() 
  930   in path.c)
  931 - return EX_IOERR instead of other exit codes on read errors in esmtp.c
  932 - case insensitive parsing of EHLO response
  933 - fall back to HELO if EHLO fails
  934 - removed check for vsnprintf() in configure.ac
  935 - updated automake
  936 - removed names of failed functions from error messages (Example:
  937   "cannot get system time [time(): %s]" -> "cannot get system time [%s]")
  938 - slightly improved error messages in net.c
  939 - minor man page improvements
  940 - updated README.gsasl
  941 
  942 Version 0.7.2:
  943 - minor man page improvements
  944 - additional eror check in smtp_copy_mail()
  945 - removed unneeded msmtp.h
  946 - moved cram_md5.* to md5.* and renamed cram_md5() to hmac_md5()
  947 - cleaned up conditional compilation of base64.c and md5.c
  948 - documentation updates
  949 - cleaned up configure.ac
  950 - new files paths.[ch] for OS dependend path functions
  951 - added support for MinGW to build native Win32 application -- see README.win32
  952 - added support for DJGPP to build native DOS application -- see README.dos
  953 - fixed a bug in tls.c: wrong test for RAND_status() (OpenSSL code).
  954   This only affected the new DOS port (see next point).
  955 - added code to seed the OpenSSL pseudo random number generator. This code is
  956   only used when OpenSSL cannot seed the PRNG itself. This means the code is
  957   probably only ever used on DOS.
  958 
  959 Version 0.7.1:
  960 - new command 'domain' to set the EHLO parameter
  961 - new options --pretend and --debug (thanks to David MacMahon)
  962 - minimal change in --version behaviour: print package name, not name of binary
  963   file
  964 
  965 Version 0.7.0:
  966 - Added support for DSN (Delivery Status Notification) via the new configuration
  967   commands 'dsn_return' and 'dsn_notify' (changes in conffile.[ch], msmtp.c,
  968   esmtp.[ch])
  969 - configuration: added 'tls_nocertcheck' which disables all server 
  970   certificate checks (changes in conffile.[ch], msmtp.c, esmtp.[ch], tls.[ch]).
  971 - configuration: renamed 'nostarttls' to 'tls_nostarttls'
  972 - documentation updates
  973 - fixed a minor bug in an OpenSSL error report
  974 - minor --help text change
  975 - minor cleanups in conffile.c
  976 
  977 Version 0.6.6:
  978 - fixed building on Solaris (and maybe other systems)
  979 
  980 Version 0.6.5:
  981 - License clarification: msmtp is released under the GPL with the additional
  982   exemption that compiling, linking, and/or using OpenSSL is allowed.
  983 - Updated tls.c and cram_md5.c to work with gnutls >=1.0.0 and libgcrypt 
  984   >=1.1.90. The code will not work with older versions anymore!
  985 - Use gethostbyname() in net.c if getaddrinfo() is not available. This allows
  986   msmtp to be compiled on older systems and systems that don't have proper IPv6
  987   support, for example Cygwin.
  988 - Accept arbitrary long input lines in the mail (new function smtp_copy_mail()).
  989   The MUA is responsible for the RFC conformance of mails (no line longer than 
  990   998 characters).
  991 - improved error messages in case of SMTP responses that are too long
  992 - improved error messages in tls.c
  993 - increased SMTP buffer size in esmtp.c
  994 - Make check of return code of vasprintf() more portable in xmalloc.c
  995 - cleaned up esmtp.h
  996 - changed --help text
  997 
  998 Version 0.6.4:
  999 - fixed a bug in conffile.c
 1000 - report missing arguments in conffile.c
 1001 
 1002 Version 0.6.3:
 1003 - man page improvements
 1004 - reset error_lines to NULL in merror.c in print_error_lines() to allow
 1005   further calls to add_error_line() (not yet needed in msmtp)
 1006 - free memory in case of tls_init() failure in msmtp.c
 1007 - fixed --disable-gsasl configure option
 1008 - #include <unistd.h> in msmtp.c because Mac OS X has getopt() there (Randolph
 1009   Fritz). (This applies to all systems that don't have getopt.h).
 1010 - return EX_OK instead of 0 in some functions in esmtp.c
 1011 
 1012 Version 0.6.2:
 1013 - added support for GNU Autotools (Christophe Nowicki)
 1014 - the GNU getopt sources are no longer included; msmtp will fall back to short 
 1015   options when getopt_long is not available (Christophe Nowicki)
 1016 - fixed a bug in the certificate check/verification code that prevented 
 1017   msmtp from accepting a wildcard in the Common Name (CN) field (this 
 1018   affected only the OpenSSL version of the code)
 1019 - wrapped some lines in the man page (example section)
 1020 - updated documentation
 1021   
 1022 Version 0.6.1:
 1023 - free x509_cert in OpenSSL code of tls_cert_check()
 1024 - always check x509_subject common name for hostname matching in OpenSSL code
 1025   of tls_cert_check() (like the GnuTLS code does).
 1026 - improved CN/hostname matching in OpenSSL code: it is now case insensitive
 1027   and allows the * wildcard as the left-most character in the CN (RFC 2595)
 1028 - check for x509_subject == NULL in OpenSSL code of tls_cert_check()
 1029 - moved tls_init()/tls_deinit() from smtp_send() to main()
 1030 - removed tls dependencies from net.c
 1031 - change comments/code/documentation to read GSASL instead of GnuSASL
 1032 
 1033 Version 0.6.0:
 1034 - Added GnuTLS/libgcrypt support to tls.c and cram_md5.c
 1035   You can now choose whether you want to use GnuTLS/libgcrypt or OpenSSL 
 1036   for TLS support and CRAM-MD5 authentication (see Makefile).
 1037 - Added sanity checks of server certificate when using TLS.
 1038 - Added the tls_trust_file command.
 1039   This enables strict verification of the server certificate.
 1040 - Added tls_key_file/tls_cert_file commands.
 1041   These commands enable msmtp to send a client certificate to the server if 
 1042   requested.
 1043 - Optional support for GSASL. When used, it replaces the built-in
 1044   PLAIN, LOGIN and CRAM-MD5 authentication code and adds support for
 1045   DIGEST-MD5 and NTLM.
 1046 - The EHLO response is now taken into account:
 1047   - The STARTTLS command will only be sent if the server supports it
 1048   - If no authentication method was specified, the best one that is supported
 1049     by the server will be chosen.
 1050 - Removed the ability to choose the TLS method with the tls command. This was
 1051   not completely implementable with GnuTLS (since it lacks SSLv2 support afaik)
 1052   and is unnecessary anyway. The best method available is automatically chosen.
 1053 - Changed configuration file parsing: Now arguments may contain spaces and may
 1054   be enclosed in double quotes (to allow leading or ending blanks in an 
 1055   argument).
 1056 - Reorganized Makefile to support the new configuration options (GSASL/GnuTLS).
 1057 - Removed unnecessary #includes from cram_md5.c
 1058 - Updated documentation
 1059 
 1060 Version 0.5.3:
 1061 - Fixed RFC2821 violations in the "MAIL FROM:" and "RCPT TO:" commands.
 1062 - Fixed RFC2487 SHOULD-clause violation: Now send EHLO again after
 1063   successful TLS handshake.
 1064 
 1065 Version 0.5.2:
 1066 - fixed stupid bugs in base64dec() and cram_md5() that sometimes caused
 1067   CRAM-MD5 authentication to fail.
 1068 
 1069 Version 0.5.1:
 1070 - man page corrections and improvements
 1071 - improved error messages
 1072 - moved msmtp.html to msmtp.1.html
 1073 
 1074 Version 0.5.0:
 1075 - Switched from commandline configuration to a configuration file
 1076   (~/.msmtprc). This improves security (no authentication data on the
 1077   commandline) and allows easy setup of multiple accounts.  
 1078   The only options are --help, --version, --file, --account now.
 1079 
 1080 Version 0.4.2:
 1081 - Security fix: delete username and password information from the commandline
 1082   after they have been extracted, so that this information is not visible per
 1083   ps / top anymore.
 1084   It is still possible to see the length of the authentication information via
 1085   /proc/pid/cmdline in Linux.
 1086   The real fix is to move all sensitive data into a configuration file. This
 1087   is planned for 0.5.0.
 1088   
 1089 Version 0.4.1:
 1090 - improved error handling in non-TLS net i/o
 1091 - the code that removes the Bcc header was updated to conform to RFC 2822,
 1092   section 2.2.3. It now allows continued Bcc header lines to start with ' ' or
 1093   '\t' (previously only '\t' was allowed).
 1094 - properly close TLS connection at the end of smtp_send()
 1095 - minor cleanups
 1096 - minor man page improvements
 1097 
 1098 Version 0.4.0:
 1099 - changed the short version of --keep-bcc to -k (as documented in the man page)
 1100 - cleaned up the choice of the authentication method in msmtp.c
 1101 - changed tls_start() to use tls_io_error() for SSL_connect() errors
 1102 - fixed a segfault bug with failing tls_start() that was introduced in 0.3.1
 1103 - added --nostarttls option (Kai)
 1104 - updated man page to clarify the use of optional arguments (Kai)
 1105 
 1106 Version 0.3.1:
 1107 - code cleanups
 1108 - documentation improvements
 1109 - --help text improvements
 1110 - added instructions on how to find out system specific settings to the 
 1111   Makefile
 1112 - changed tls.[ch] to hide OpenSSL specific details.
 1113 - improved TLS input/output error reporting
 1114 - fixed a minor bug in the error handling of tls_start()
 1115 - improved error reporting in smtp_get_response()
 1116 - fixed minor off-by-one bug in smtp_put() (the check for the return value of 
 1117   vsnprintf() was wrong). This bug would have been triggered if you used an 
 1118   extremely long username for authentication (longer than ca. 950 characters).
 1119 
 1120 Version 0.3.0:
 1121 - remove Bcc header by default
 1122 - added --keep-bcc to keep the Bcc header.
 1123 - fixed handling of lines beginning with a dot
 1124 - added GNU getopt source for systems that don't have it
 1125 - added xvasprintf/xasprintf() to xmalloc.c
 1126 - cleaned up xmalloc.c
 1127 - changed merror.c to use xvasprintf()
 1128 - open_socket() improvements (now uses getaddrinfo() for protocol independence
 1129   and portability)
 1130 - Makefile changes (support for more platforms)
 1131 - documentation updates
 1132 
 1133 Version 0.2.6:
 1134 - added support for IPv6
 1135 - documentation update
 1136 
 1137 Version 0.2.5:
 1138 - fixed handling of optional arguments for short options
 1139 - fixed error handling for gethostbyname()
 1140 - minor documentation changes
 1141 - renamed smtp.[ch] to esmtp.[ch]
 1142 - improved error reporting in smtp_auth_plain()
 1143 
 1144 Version 0.2.4:
 1145 - minor error message changes
 1146 - minor documentation changes
 1147 - cleanups in tls.c
 1148 - error handling changes and fixes in tls.c
 1149 - fixed potential problems reported by NetBSD's lint(1)
 1150 - moved choice of secure authentication method from smtp.c to msmtp.c
 1151 
 1152 Version 0.2.3:
 1153 - changed behaviour of --auth: does not accept 'none' anymore,
 1154   no argument means choose a *secure* method.
 1155 - changed behaviour of --tls: does not accept 'any', 'none'
 1156   anymore, no argument means choose best method available.
 1157 - documentation updates and minor changes
 1158 - minor Makefile tweaks
 1159 - now use die() to exit in case of memory allocation failure 
 1160 - minor tls.c cleanups
 1161 - fixed stupid minor bug regarding base64dec()
 1162 
 1163 Version 0.2.2:
 1164 - minor change to the Makefile
 1165 - minor change to the man page
 1166 - minor changes to unify error messages
 1167 - close connection on errors in smtp_send()
 1168 
 1169 Version 0.2.1:
 1170 - support for AUTH PLAIN
 1171 - documentation fixes, updates and cleanups.
 1172 - fixed memory leak in smtp_auth_login()
 1173 - fixed stupid bug regarding base64enc()
 1174 - clean up smtp_auth_cram_md5()
 1175 
 1176 Version 0.2.0:
 1177 - AUTH CRAM-MD5 support
 1178 - new option (--auth) to choose the authentication method
 1179 - support for --version and --help if one of them is the only argument
 1180 - documentation fixes / improvements
 1181 - better error messages
 1182 - Makefile fixes
 1183 
 1184 Version 0.1.1:
 1185 - documentation updates / fixes
 1186 - better error handling in start_tls()
 1187 - adjust MAX_SMTP_LINELEN in smtp.c