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