[Python-Dev] Bug in smtpd.SMTPChannel.smtp_MAIL

Derek Shockey derek.shockey at gmail.com
Mon Oct 22 07:26:44 CEST 2007


I did actually submit a patch last night after I emailed the list. The issue
ID is 1307.

I used the ternary operator (because I like it and because it was the
shortest solution), but if this is not desirable for backwards
compatibility, I could obviously rewrite it another way.

-Derek Shockey


On 10/21/07, Guido van Rossum <guido at python.org> wrote:
>
> Could you submit a patch to the bug tracker (bugs.python.org)?
>
> 2007/10/20, Derek Shockey <derek.shockey at gmail.com>:
> > smtpd.SMTPChannel contains a bug such that when connected to an
> SMTPServer
> > (or any subclass thereof), issuing a MAIL command with no argument
> closes
> > the socket and gives this error on the server:
> >
> > error: uncaptured python exception, closing channel < smtpd.SMTPChannel
> > connected 127.0.0.1:58587 at 0x847d8> (<type
> > 'exceptions.TypeError'>:'NoneType' object is unsubscriptable
> >
> [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asyncore.py|read|68]
> >
> [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asyncore.py|handle_read_event|390]
> >
> [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/asynchat.py|handle_read|137]
> >
> [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/smtpd.py|found_terminator|158]
> >
> [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/smtpd.py|smtp_MAIL|224]
> >
> [/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/smtpd.py|__getaddr|212])
> >
> > The desired result is of course is to respond with a 501 Syntax error.
> The
> > problem arises because the arg parameter passed to each smtp_* command
> > handler function is None when there is no argument. arg is passed on to
> > __getaddr which attempts a slice on the None object.
> >
> > I think the most elegant solution would be to insert a "if not arg"
> check in
> > __getaddr and return. The existing smtp_MAIL code will then issue the
> 501
> > Syntax error.
> >
> >
> > -Derek Shockey
> >
> > _______________________________________________
> > Python-Dev mailing list
> > Python-Dev at python.org
> > http://mail.python.org/mailman/listinfo/python-dev
> > Unsubscribe:
> > http://mail.python.org/mailman/options/python-dev/guido%40python.org
> >
> >
>
>
> --
> --Guido van Rossum (home page: http://www.python.org/~guido/)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-dev/attachments/20071022/bf308018/attachment.htm 


More information about the Python-Dev mailing list