Commit Graph

16 Commits

Author SHA1 Message Date
R David Murray 2539e6744b #21725: Add RFC 6531 (SMTPUTF8) support to smtpd.
Patch by Milan Oberkirch, developed as part of his 2014 GSOC project.

Note that this also fixes a bug in mock_socket ('getpeername' was returning a
simple string instead of the tuple required for IPvX protocols), a bug in
DebugServer with respect to handling binary data (should have been fixed when
decode_data was introduced, but wasn't found until this patch was written),
and a long-standing bug in DebugServer (it was printing an extra blank line at
the end of the displayed message text).
2014-08-09 16:40:49 -04:00
R David Murray 6fe56a329d #14758: add IPv6 support to smtpd.
Patch by Milan Oberkirch.
2014-06-11 13:48:58 -04:00
R David Murray 554bcbf1b9 #19662: add decode_data to smtpd so you can get at DATA in bytes form.
Otherwise smtpd is restricted to 7bit clean data, since even if the
incoming data is actually utf-8, it will often break things to decode
it before parsing the message.

Patch by Maciej Szulik, with some adjustments (mostly the warning
support).
2014-06-11 11:18:08 -04:00
R David Murray 05cab75d59 #8739: fix omission of DEBUGSTREAM reset in new test in test_smtpd.
This clears up an error in detected by refleak mode that showed up when
test_smtplib was run after test_smtpd in the same refleak run.
2012-06-04 15:55:51 -04:00
R David Murray d1a30c939c #8739: upgrade smtpd to RFC 5321 and 1870.
smtpd now handles EHLO and has infrastructure for extended smtp command mode.
The SIZE extension is also implemented.  In order to support parameters on
MAIL FROM, the RFC 5322 parser from the email package is used to parse the
address "token".

Logging subclasses things and overrides __init__, so it was necessary to
update those __init__ functions in the logging tests to make the logging tests
pass.

The original suggestion and patch were by Alberto Trevino.  Juhana Jauhiainen
added the --size argument and SIZE parameter support.  Michele Orrù improved
the patch and added more tests.  Dan Boswell conditionalized various bits of
code on whether or not we are in HELO or EHLO mode, as well as some other
improvements and tests.  I finalized the patch and added the address parsing.
2012-05-26 14:33:59 -04:00
R David Murray 669b755c92 #14269: smtpd now conforms to the RFC and requires HELO before MAIL.
This is a backward incompatible change, but since it is an RFC conformance bug
and all real mail servers that I know of do conform to the RFC in this regard,
I believe it is an acceptable change for a feature release.

Patch by Jason Killen.
2012-03-20 16:16:29 -04:00
Florent Xicluna 67317750af Issue #13248: turn 3.2's PendingDeprecationWarning into 3.3's DeprecationWarning (cgi, importlib, nntplib, smtpd). 2011-12-10 11:07:42 +01:00
Antoine Pitrou e0815e2db0 Restore smtpd.DEBUGSTREAM at the end of test_smtpd.
This fixes a subsequent refleak in test_smtplib.
2011-11-12 20:36:29 +01:00
Georg Brandl 1e5c5f8f7d #1745035: add limits for command and data size to smtpd; patch by Savio Sena. 2010-12-03 07:38:22 +00:00
Richard Jones daf235032f close down sockets held by asyncore at end of test; closes issue9619 2010-08-16 01:48:14 +00:00
Richard Jones 6a9e6bbf1a fix test_smtplib/test_smtpd collision through pre-loaded reply data in mock_socket 2010-08-04 12:27:36 +00:00
Richard Jones 4aa0d4d2d0 improve smtpd module test coverage 2010-08-04 01:20:14 +00:00
Richard Jones 64b02de010 improvements to test_smtplib per issue2423
merged the socket mock introduced in test_smtpd
2010-08-03 06:39:33 +00:00
Georg Brandl 17e3d698b5 Avoid triggering DeprecationWarnings in test_smtpd and smtpd. 2010-07-31 10:08:09 +00:00
Georg Brandl 6d23c44ee5 Fix #9412: make list of messages an instance attribute instead of class attribute. 2010-07-29 13:19:42 +00:00
Richard Jones 8cb3619f86 New tests for smtpd module. Has full coverage for SMTPChannel and SMTPServer. 2010-07-23 16:20:40 +00:00