From: David Levine Date: Sun, 25 Sep 2016 13:28:05 +0000 (-0400) Subject: Merge remote-tracking branch 'origin' into smtputf8 X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/aaf014c77a4fb19bdc33370f5b6af5b8497decf8?ds=inline Merge remote-tracking branch 'origin' into smtputf8 --- aaf014c77a4fb19bdc33370f5b6af5b8497decf8 diff --cc docs/pending-release-notes index 70ed4ff6,4dfc9ec5..f44eb066 --- a/docs/pending-release-notes +++ b/docs/pending-release-notes @@@ -48,8 -48,7 +48,10 @@@ NEW FEATURE - post(8) -snoop now attempts to decode base64-encoded SMTP traffic. - folder(1) -nocreate now prints a warning message for a non-existant folder. - mhfixmsg(1) now allows -decodetext binary, though 8bit is still the default. + - inc(1) and msgchk(1) now support TLS encryption natively. +- Support for SMTPUTF8 (RFC 6531) has been added. mhshow(1) already supported - RFC 6532, assuming all 8-bit message header field bodies are UTF-8. ++ RFC 6532, assuming all 8-bit message header field bodies are UTF-8 and use ++ of a UTF-8 locale. ----------------- OBSOLETE FEATURES diff --cc mts/smtp/smtp.h index 3063866e,45e8c4c3..fb842fe6 --- a/mts/smtp/smtp.h +++ b/mts/smtp/smtp.h @@@ -16,9 -16,9 +16,9 @@@ struct smtp * prototypes */ /* int client (); */ - int sm_init (char *, char *, char *, int, int, int, int, int, char *, char *, - const char *, int); + int sm_init (char *, char *, char *, int, int, int, int, const char *, - const char *, const char *, int); -int sm_winit (char *); ++ const char *, const char *, int); +int sm_winit (char *, int); int sm_wadr (char *, char *, char *); int sm_waend (void); int sm_wtxt (char *, int); diff --cc test/send/test-sendfrom index 2d704f16,8e55f7ab..0f2dda84 --- a/test/send/test-sendfrom +++ b/test/send/test-sendfrom @@@ -51,21 -51,14 +51,23 @@@ QUI EOF cat > "${testname}.post-expected" < EHLO nosuchhost.example.com +<= 250-ready +<= 250-8BITMIME +<= 250-SMTPUTF8 <= 250 I'll buy that for a dollar! => MAIL FROM: +<= 250-ready +<= 250-8BITMIME +<= 250-SMTPUTF8 <= 250 I'll buy that for a dollar! => RCPT TO: +<= 250-ready +<= 250-8BITMIME +<= 250-SMTPUTF8 <= 250 I'll buy that for a dollar! => DATA <= 354 Go ahead diff --cc uip/post.c index 47941afc,0a42ad2f..db9c0298 --- a/uip/post.c +++ b/uip/post.c @@@ -1654,13 -1626,11 +1646,12 @@@ post (char *file, int bccque, int talk break; } } else { - if (rp_isbad (retval = sm_init (clientsw, serversw, port, watch, - verbose, snoop, sasl, saslmech, user, + if (rp_isbad (retval = sm_init (clientsw, serversw, port, watch, - verbose, snoop, sasl, saslssf, - saslmech, user, ++ verbose, snoop, sasl, saslmech, user, oauth_flag ? auth_svc : NULL, tls)) - || rp_isbad (retval = sm_winit (envelope))) + || rp_isbad (retval = sm_winit (envelope, eai))) { die (NULL, "problem initializing server; %s", rp_string (retval)); + } do_addresses (bccque, talk && verbose); if ((fd = open (file, O_RDONLY)) == NOTOK) @@@ -1696,15 -1665,12 +1687,14 @@@ verify_all_addresses (int talk, int eai sigon (); - if (!whomsw || checksw) + if (!whomsw || checksw) { if (rp_isbad (retval = sm_init (clientsw, serversw, port, watch, - verbose, snoop, sasl, saslssf, - saslmech, user, + verbose, snoop, sasl, saslmech, user, oauth_flag ? auth_svc : NULL, tls)) - || rp_isbad (retval = sm_winit (envelope))) + || rp_isbad (retval = sm_winit (envelope, eai))) { die (NULL, "problem initializing server; %s", rp_string (retval)); + } + } if (talk && !whomsw) printf (" -- Address Verification --\n");