This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author r.david.murray
Recipients alfmel, barry, giampaolo.rodola, josiah.carlson, r.david.murray, richard
Date 2012-02-13.03:36:02
SpamBayes Score 0.0
Marked as misclassified No
Message-id <1329104169.61.0.982930593903.issue8739@psf.upfronthosting.co.za>
In-reply-to
Content
Alberto, might you still interested in working on this?  I thought I'd do a quick update to current trunk and check it in, but in the process of doing that I found some issues.  I suspect it has been frustrating for you that nothing happened with this for 3.2, but it is a non-trivial patch since it involves RFC conformance.

I'm uploading what I got done of the update.  I've restored your introduction of a size argument to the smtp and channel classes (I don't know why Giampaolo objected, adding keyword arguments is not backward incompatible).  A max data size was introduced to deal with a DOS attack on the SMTPD server, called data_size_limit.  I changed that to be 'max_message_size' (rather than your size_limit) because this patch will make it be used for implementing that extended SMTP feature (as well as continuing to provide the DOS-preventing-limit by default).

There are still not enough tests.  In particular there are no tests for the smtpd command line functionality, and there was a bug in that in the last patch (it was still using the class argument you had eliminated at Giampaolo's request).  Writing those tests is of course a bit of a pain, but by combining the stuff from script_helpers with smtplib, it ought to be possible.  (But I wouldn't let a lack of command line tests prevent me from committing a completed patch.)

The more important problem is that your implementation of RFC 5321 left out a critical piece: parameters on the MAIL FROM and RCPT TO commands, and in particular the SIZE parameter to MAIL FROM.  Without that you aren't actually implementing RFC 1870 (or, for that matter, 5321 since a compliant server should reject unknown parameters as a syntax error).

I know it has been a long time, but are you still interested in working on this?  I haven't had much time to review stuff lately, much less do coding for the stdlib, but I'd really like to see this in 3.3, so if you are willing to work on it I'll commit to reviewing it in a timely fashion.
History
Date User Action Args
2012-02-13 03:36:10r.david.murraysetrecipients: + r.david.murray, barry, richard, giampaolo.rodola, josiah.carlson, alfmel
2012-02-13 03:36:09r.david.murraysetmessageid: <1329104169.61.0.982930593903.issue8739@psf.upfronthosting.co.za>
2012-02-13 03:36:08r.david.murraylinkissue8739 messages
2012-02-13 03:36:07r.david.murraycreate