[issue21992] New AST node Else() should be introduced
Milan Oberkirch added the comment: Is there a reason for this still being open? /me trying to find issues to work on using [random issue] -- nosy: +zvyn ___ Python tracker <https://bugs.python.org/issue21992> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37580] Markup typo in http.cookiejar doc
Change by Milan Oberkirch : -- keywords: +patch pull_requests: +14524 stage: needs patch -> patch review pull_request: https://github.com/python/cpython/pull/14731 ___ Python tracker <https://bugs.python.org/issue37580> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7202] "python setup.py cmd --verbose" does not set verbosity
Milan Oberkirch added the comment: The help states: > usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] so I would argue that setup.py ignoring global_opts after cmd1 is not a bug. But I do think that the fact that "python setup.py build --dry-run" does not prevent the build from running is not ideal. Maybe throwing an error for misplaced global options is the best solution? -- nosy: +zvyn ___ Python tracker <https://bugs.python.org/issue7202> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9938] Documentation for argparse interactive use
Milan Oberkirch added the comment: This issue is a duplicate of issue 9112 which was resolved by commit 9375492b -- nosy: +zvyn ___ Python tracker <https://bugs.python.org/issue9938> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30436] importlib.find_spec raises AttributeError when parent is not a package/module
Changes by Milan Oberkirch : -- pull_requests: +1977 ___ Python tracker <http://bugs.python.org/issue30436> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30436] importlib.find_spec raises AttributeError when parent is not a package/module
Milan Oberkirch added the comment: I added a PR changing the exception raised as suggested, reviews welcome! -- nosy: +zvyn ___ Python tracker <http://bugs.python.org/issue30436> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11783] email parseaddr and formataddr should be IDNA aware
Changes by Milan Oberkirch : -- pull_requests: +1979 ___ Python tracker <http://bugs.python.org/issue11783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11783] email parseaddr and formataddr should be IDNA aware
Milan Oberkirch added the comment: I see your point, but I'm not fully convinced it relates to this PR directly: the code here just uses the standard interface to use an 'idna' codec. If that codec is buggy that is a different issue. If it's so buggy that using it is absolutely pointless, it should not exist in the first place IMHO. But if we need to keep a useless codec for compabilety reasons and you prefer adding a now codec (e.g. 'idna-2008') I agree that we should put this PR on hold until a codec it could use exists. -- ___ Python tracker <http://bugs.python.org/issue11783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21783] smtpd.py does not allow multiple helo/ehlo commands
Milan Oberkirch added the comment: Thanks for pointing me at this, Berry! I added a PR for aiosmtpd at https://github.com/aio-libs/aiosmtpd/pull/106 -- ___ Python tracker <http://bugs.python.org/issue21783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21783] smtpd.py does not allow multiple helo/ehlo commands
Milan Oberkirch added the comment: *Barry :P -- ___ Python tracker <http://bugs.python.org/issue21783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue30542] [EASY] test_files() of test_tools.test_unparse.DirectoryTestCase leaks references
Milan Oberkirch added the comment: I tried to pin this leak down and got to the point where I suspect the compile call: def check_roundtrip(self, code1, filename="internal"): ast1 = compile(code1, filename, "exec", ast.PyCF_ONLY_AST) the leaks occur with only that line in the function and do not occur without it. To me it looks like a direct result of some leak somewhere in the tested code? Garrett: I'm happy for you to take over (please leave a comment if you do)! -- nosy: +zvyn ___ Python tracker <http://bugs.python.org/issue30542> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12815] Coverage of smtpd.py
Changes by Milan Oberkirch : -- nosy: -zvyn ___ Python tracker <http://bugs.python.org/issue12815> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20903] smtplib.SMTP raises socket.timeout
Milan Oberkirch added the comment: The attached patch mentions the exception besides the description of the timeout parameter. It doesn't hurt and makes programmers aware of this common exception. -- keywords: +patch nosy: +zvyn Added file: http://bugs.python.org/file34516/doc_socket_timeout.patch ___ Python tracker <http://bugs.python.org/issue20903> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20098] email policy needs a mangle_from setting
Milan Oberkirch added the comment: Updated the last patch according to the review comments at https://bugs.python.org/review/20098/. -- Added file: http://bugs.python.org/file35020/mangle_from_20140424.patch ___ Python tracker <http://bugs.python.org/issue20098> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20098] email policy needs a mangle_from setting
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file35021/mangle_from_20140424.patch ___ Python tracker <http://bugs.python.org/issue20098> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20098] email policy needs a mangle_from setting
Changes by Milan Oberkirch : Removed file: http://bugs.python.org/file35020/mangle_from_20140424.patch ___ Python tracker <http://bugs.python.org/issue20098> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21426] Invisible characters in email related souce files.
New submission from Milan Oberkirch: I found non-printable characters in the source files of the email package. Vim rendered it as '^L', pasting it on the linux console has the same effect as CTRL+L. In most places it was combined with regular newlines, sometimes as a replacement, sometimes additionally to them. My guess is that these files were saved with an editor replacing '\n' with '\r' and additional '\n' were inserted afterwards since the linebreaks seemed to be gone. I replaced these chars by '\n' or '' in the attached patch. -- components: email files: linebreak.patch keywords: patch messages: 217874 nosy: barry, r.david.murray, zvyn priority: normal severity: normal status: open title: Invisible characters in email related souce files. versions: Python 3.5 Added file: http://bugs.python.org/file35149/linebreak.patch ___ Python tracker <http://bugs.python.org/issue21426> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15014] smtplib: add support for arbitrary auth methods
Milan Oberkirch added the comment: Done. -- Added file: http://bugs.python.org/file35392/smtplib_auth.patch ___ Python tracker <http://bugs.python.org/issue15014> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15014] smtplib: add support for arbitrary auth methods
Changes by Milan Oberkirch : -- nosy: +jesstess ___ Python tracker <http://bugs.python.org/issue15014> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15014] smtplib: add support for arbitrary auth methods
Milan Oberkirch added the comment: Here comes the patch implementing your suggestions. Changing the API to make adding new auth methods and still using login() would only require to make preferred_auth accessable as you mentioned. Using custom authobjects is possible with this patch. -- Added file: http://bugs.python.org/file35500/smtplib_auth_060614.patch ___ Python tracker <http://bugs.python.org/issue15014> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14758] SMTPServer of smptd does not support binding to an IPv6 address
Milan Oberkirch added the comment: I applied your suggestions. -- Added file: http://bugs.python.org/file35542/smtpd_060914.patch ___ Python tracker <http://bugs.python.org/issue14758> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14758] SMTPServer of smptd does not support binding to an IPv6 address
Changes by Milan Oberkirch : -- nosy: +jesstess ___ Python tracker <http://bugs.python.org/issue14758> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20903] smtplib.SMTP raises socket.timeout
Milan Oberkirch added the comment: Should this task get closed? (see comment above) -- nosy: +jesstess ___ Python tracker <http://bugs.python.org/issue20903> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14758] SMTPServer of smptd does not support binding to an IPv6 address
Milan Oberkirch added the comment: Fixed it. -- Added file: http://bugs.python.org/file35556/smtpd_061014.patch ___ Python tracker <http://bugs.python.org/issue14758> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19662] smtpd.py should not decode utf-8
Changes by Milan Oberkirch : -- nosy: +jesstess, zvyn ___ Python tracker <http://bugs.python.org/issue19662> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8503] smtpd SMTPServer does not allow domain filtering
Milan Oberkirch added the comment: I see no reason to restrict the filtering possibilities to the domain, so I added a method "validate_recipient_address" wich gets an address of the form "local-part@domain" and returns `True`. SMTPChannel.smtp_RCPT checks any address with this method before appending it to the recipient list and returns "554 ..." as proposed by Mike if the validation failed. -- components: +email keywords: +patch nosy: +barry, jesstess, r.david.murray, zvyn Added file: http://bugs.python.org/file35560/issue8503.patch ___ Python tracker <http://bugs.python.org/issue8503> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11783] email parseaddr and formataddr should be IDNA aware
Milan Oberkirch added the comment: Ping :) -- nosy: +zvyn ___ Python tracker <http://bugs.python.org/issue11783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11783] email parseaddr and formataddr should be IDNA aware
Changes by Milan Oberkirch : -- nosy: +jesstess Added file: http://bugs.python.org/file35565/issue11783.patch ___ Python tracker <http://bugs.python.org/issue11783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11783] email parseaddr and formataddr should be IDNA aware
Milan Oberkirch added the comment: Here comes an updated patch based on 'email_address_idna.patch' without breaking smtplib (as the previous patches did). -- Added file: http://bugs.python.org/file35566/issue11783-rdm-fixed.patch ___ Python tracker <http://bugs.python.org/issue11783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: I merged it into https://bitbucket.org/zvyn/cpython and made a diff from that. (I used bash for this so hopefully its compatible to the review system here.) -- Added file: http://bugs.python.org/file35577/issue21725.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file35578/issue21725-fixed.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Changes by Milan Oberkirch : Removed file: http://bugs.python.org/file35578/issue21725-fixed.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file35579/issue21725-fixed.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file35580/issue21725-fixed-hg.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20083] smtplib: support for IDN (international domain names)
Changes by Milan Oberkirch : -- nosy: +jesstess, zvyn ___ Python tracker <http://bugs.python.org/issue20083> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: Thanks a lot for your feedback! > Your modifications to the handling of max_command_size are technically buggy > (and clearly there's no test for it): when we aren't in extended smtp mode, > the limit should be the hardcoded value, as in the original code. My reading > of the RFC (specifically 4.1.1.5) indicates that it is legal to send a new > HELO or EHLO command without issuing a QUIT, meaning a single SMTPChannel > instance might have to handle both. This isn't a likely scenario except in > testing...but testing is probably one of the main uses of smtpd, so I think > we ought to support it. I agree that Section 4.1.1 should be interpreted that way and that should probably get fixed. The old implementation is very strict about EHLO/HELO being allowed exactly once. And there are tests to verify this bug exists. We could allow it for SMTPUTF8 since we do not need to care about bug compatibility if someone uses enable_SMTPUTF8 and we document the change. My intention was to leave the command_size_limits untouched on HELO so it will return 512 on every request (as max_command_size does then). And the existing implementation guaranteed me there is only one of HELO or EHLO. > I think it would be clearer to use an unconditional set of the value based on > the command_size_limit constant, which you'll have to restore to address my > previous comment, instead of the pop (though the pop is a nice trick :). I agree on replacing the .pop() with command_size_limits['MAIL'] = command_size_limit. I see no easier/shorter way to add up the values right now however. > There is one piece missing here: providing a way for process_message to know > that the client claimed the message was using SMTPUTF8 (we know it might lie, > but we need to transmit what the client said). Since process_message is an > 'override in subclass' API, we can't just extend it's call signature. So I > think we need to provide a new process_smtputf8_message method that will be > called for such messages. Thanks for pointing that out, I totally missed that! > Note that you also need to reset the 'this message is SMTPUTF8 flag' on RSET, > HELO/EHLO, and at the completion of the call to the new process_message API. Agreed. I already implemented the things that are clear but am not sure how to handle the first point about multiple HELO/EHLO. - Milan -- ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21783] smtpd.py does not allow multiple helo/ehlo commands
New submission from Milan Oberkirch: Sending HELO or EHLO more then once causes smtpd.SMTPChannel to respond with b'503 Duplicate HELO/EHLO\r\n' (see Lib/test/test_smtpd.py:124 for an example). My interpretation of RFC 821, section 4.1.1.5 is that multiple HELO commands are fine outside a mail transaction and a second HELO is eauivalent to a RSET during a mail transaction (undoing any changes made by previous greetings). I would propose to reject greetings during mail transactiond (thats what RSET is for) and else accept them. The question is how we should handle backwards compatibility here. I am willing to work on this right after #21725. -- components: email messages: 220754 nosy: barry, jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: smtpd.py does not allow multiple helo/ehlo commands versions: Python 3.5 ___ Python tracker <http://bugs.python.org/issue21783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: The new patch implements what you suggested, with the following differences: - I still use the default_dict and add the numbers up but maybe it's a bit more readable now? - Support for HELO/EHLO is a seperate issue #21783 -- Added file: http://bugs.python.org/file35663/issue21725v2.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21795] smtpd.SMTPServer should announce 8BITMIME when supported
New submission from Milan Oberkirch: The smtpd.SMTPServer does support 8BITMIME if decode_date is False (#19662) and could be announced under this condition. The patch for #21725 already implements 8BITMIME so this can easily be done afterwards. -- components: email messages: 220868 nosy: barry, jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: smtpd.SMTPServer should announce 8BITMIME when supported versions: Python 3.5 ___ Python tracker <http://bugs.python.org/issue21795> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: I replied to some review comments, and made a new patch implementing your suggestions. -- Added file: http://bugs.python.org/file35679/issue21725v3.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21800] Implement RFC 6855 (IMAP Support for UTF-8) in imaplib.
Changes by Milan Oberkirch : -- components: email nosy: barry, jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: Implement RFC 6855 (IMAP Support for UTF-8) in imaplib. versions: Python 3.5 ___ Python tracker <http://bugs.python.org/issue21800> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21804] Implement thr UTF8 command (RFC 6856) in poplib.
New submission from Milan Oberkirch: The poplib classes already use Unicode internally (for everything but capability names). So to implement the UTF8 part of RFC 6856 we only need to enable the user to switch to UTF-8 mode if supported by the server. -- components: email files: poputf8.patch keywords: patch messages: 220956 nosy: barry, jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: Implement thr UTF8 command (RFC 6856) in poplib. versions: Python 3.5 Added file: http://bugs.python.org/file35686/poputf8.patch ___ Python tracker <http://bugs.python.org/issue21804> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21804] Implement thr UTF8 command (RFC 6856) in poplib.
Changes by Milan Oberkirch : Removed file: http://bugs.python.org/file35686/poputf8.patch ___ Python tracker <http://bugs.python.org/issue21804> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21804] Implement thr UTF8 command (RFC 6856) in poplib.
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file35687/poputf8.patch ___ Python tracker <http://bugs.python.org/issue21804> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21800] Implement RFC 6855 (IMAP Support for UTF-8) in imaplib.
New submission from Milan Oberkirch: I made a patch implementing the following changes to the IMAP4 class: - add a method 'enable_UTF8_accept()' sending "ENABLE UTF8=ACCEPT" to the server and setting internal encoding to UTF-8 - use the UTF8 extencion in the 'append()' method if the internal encoding is UTF-8 - add a keyword argument 'enable_UTF8=False' to the init method to trigger 'enable_UTF8_accept()' as soon as the authentication is done - always use UTF-8 for encoding credentials in authentication (before encoding it to base64) Does this look like a good idea to you? (I'll make a patch including docs when we agree on the API.) -- keywords: +patch Added file: http://bugs.python.org/file35808/imaplib_utf8_no_doc.patch ___ Python tracker <http://bugs.python.org/issue21800> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21804] Implement thr UTF8 command (RFC 6856) in poplib.
Milan Oberkirch added the comment: I got the Exception policy of the POP3 class wrong (ignore my review comment on that) and needed to add 'UTF8' to the list of optional commands. -- Added file: http://bugs.python.org/file35823/poputf8-v2.patch ___ Python tracker <http://bugs.python.org/issue21804> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
New submission from Milan Oberkirch: I implemented message processing for LOGIN and PLAIN authentication in smtpd. I also patched test_smtplib to make use of this functionality. The goal for the API is to provide decryption and message processing in the smtpd library and call a externally provided or overwritten function(user, password) to verify credentials. The patch provided is missing documentation and a proper API to use/activate this feature (and API specific tests of cause). Things which need to be discussed: a) how shoud AUTH be activated? (when should MAIL etc. require AUTH? when should 'AUTH' be announced in the EHLO response?) b) how should the programmer change the _verify_user_credentials method? My idea to solve a and b at once would be to set the verification function by a keyword argument and require/activate AUTH if this kwarg is set. I didn't implement CRAM-MD5 because it requires the correct password to be available in plain text. -- components: email files: smtpd_AUTH.patch keywords: patch messages: 222516 nosy: barry, jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: Implement AUTH command in smtpd. type: enhancement versions: Python 3.5 Added file: http://bugs.python.org/file35895/smtpd_AUTH.patch ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18540] imaplib.IMAP4() ends with "Name or service not known" on Fedora 18
Milan Oberkirch added the comment: I patched it as you suggested (9 lines added/changed in total). -- Added file: http://bugs.python.org/file35903/imaplib_interpret_empty_string_as_None.patch ___ Python tracker <http://bugs.python.org/issue18540> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18540] imaplib.IMAP4() ends with "Name or service not known" on Fedora 18
Milan Oberkirch added the comment: Ignore what I just did (the test is obviously dump; it fails if you run it on an IMAP server). I'll make a new attempt after a coffee break ;) -- ___ Python tracker <http://bugs.python.org/issue18540> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18540] imaplib.IMAP4() ends with "Name or service not known" on Fedora 18
Milan Oberkirch added the comment: I'm still wondering if the test could be done better. At least it fixes the bug. -- Added file: http://bugs.python.org/file35904/imaplib_interpret_empty_string_as_NoneV2.patch ___ Python tracker <http://bugs.python.org/issue18540> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12815] Coverage of smtpd.py
Changes by Milan Oberkirch : -- nosy: +zvyn ___ Python tracker <http://bugs.python.org/issue12815> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19806] smtpd crashes when a multi-byte UTF-8 sequence is split between consecutive data packets
Changes by Milan Oberkirch : -- nosy: +jesstess ___ Python tracker <http://bugs.python.org/issue19806> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19806] smtpd crashes when a multi-byte UTF-8 sequence is split between consecutive data packets
Milan Oberkirch added the comment: I do not think that the proposed patch solves the bug because it silently changes binary input. With the patch for issue 19662 a proper solution to avoid this bug has been applied. The only thing left is to prevent the server to raise the exception when in legacy mode. Instead of deleting single bytes from the input (which is what .decode('utf-8', 'ignore') does) I would reply with an error to the client. The attached patch implements and tests this behaviour. -- nosy: +zvyn Added file: http://bugs.python.org/file35916/smtpd_undecodable_data_does_not_raise.patch ___ Python tracker <http://bugs.python.org/issue19806> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
Milan Oberkirch added the comment: There is no real API in the current patch and authenticating has no effect (other then preventing you from authenticating again and storing the username). I am wondering how the user should turn AUTH on/off. Solution 1: add a keyword argument 'enable_AUTH' and require the programmer to override _verify_user_credentials. This function could 1.1 raise NotImplementedError 1.2 deny access by default. Solution 2: add a keyword argument 'authentication_function' which turns AUTH support on when given and provides the function used to verify user credentials. Solution 3: enable AUTH if self has the _verify_user_credentials-function as attribute (and leave it undefined in the base class) I think solution 1 is the most explicit so I'll implement that so we have something to discuss :) -- ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
Milan Oberkirch added the comment: Done. I added the keyarg 'enable_AUTH' and two abstract methods to the server: process_auth(user, password) for authentication and accept_recipient(user, mailfrom, rcptto) for authorization. -- Added file: http://bugs.python.org/file35974/smtpd_AUTH_full.patch ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19806] smtpd crashes when a multi-byte UTF-8 sequence is split between consecutive data packets
Milan Oberkirch added the comment: Note that in this (and my previous) patch the message is sent to the client (the idea was not to raise an exception). Maybe it would be better to raise an exception with the information you mentioned? -- Added file: http://bugs.python.org/file35975/smtpd_undecodable_data_does_not_raiseV2.patch ___ Python tracker <http://bugs.python.org/issue19806> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19806] smtpd crashes when a multi-byte UTF-8 sequence is split between consecutive data packets
Milan Oberkirch added the comment: Agreed. It just feels a bit weird to send programming instructions for the server to the client (but it's probably the best we can do here). -- ___ Python tracker <http://bugs.python.org/issue19806> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
Milan Oberkirch added the comment: We could solve issue 8503 at the same time by always calling 'accept_recipient(mailfrom, rcptto, user=None)' and providing a default implementation for backwards compatibility. -- ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
Milan Oberkirch added the comment: My interpretation of this paragraph is the following (English is not my native language so please correct me if I'm wrong): The requirement is to provide a configuration where plain auth is disabled if password snooping would be possible otherwise not to forbid such configurations generally. An admin SHOULD provide security measures to prevent password snooping. Setting enable_AUTH=False is a configuration where plain authentication is not permitted. The admin should provide a STARTTLS (or any other encrypted) tunnel if enabling AUTH (stunnel would be a common solution on Linux). Maybe we should explicitly mention that in the docs? -- ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
Milan Oberkirch added the comment: After trying to implement SMTPS with asyncore and wrap_socket I agree with David that it is at least hard: somehow the handshake fails (ssl.SSLWantReadError) and I did not really figure out why. Looking at the debugging output of openssl indicates that the connection drops immediately after setting up the session on the client side. Anyway: I think we should apply a better version of my patch (will submit one soon) to be able to test smtplib (and also fix issue 8503). I'm going to make it clear that the AUTH functionality should only be used for testing or in combination with an encrypted tunnel. -- ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21935] Implement AUTH command in smtpd.
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file35991/smtpd_AUTH_full2.patch ___ Python tracker <http://bugs.python.org/issue21935> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22027] RFC 6531 (SMTPUTF8) support in smtplib
New submission from Milan Oberkirch: This patch is related to and depends on issue 21725. I put it here for review, it can be applied (maybe with small changes) as soon as issue 21725 is fixed. -- components: email files: smtplib_smtputf8_issue21725-dependent.patch keywords: patch messages: 223610 nosy: barry, jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: RFC 6531 (SMTPUTF8) support in smtplib type: enhancement versions: Python 3.5 Added file: http://bugs.python.org/file36015/smtplib_smtputf8_issue21725-dependent.patch ___ Python tracker <http://bugs.python.org/issue22027> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12378] smtplib.SMTP_SSL leaks socket connections on SSL error
Milan Oberkirch added the comment: I agree that there is not much we can do on the server side (see issue 19806) and with the fix for issue 19662 the server won't recognize this error at all (patiently waiting for b'\r\n\' which is unlikely to appear in the first handshake-message from the client). Attached is a smtplib patch for 3.x. -- nosy: +jesstess, zvyn Added file: http://bugs.python.org/file36037/issue12378_py35.patch ___ Python tracker <http://bugs.python.org/issue12378> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16005] smtplib.SMTP().sendmail() and rset()
Milan Oberkirch added the comment: This bug is fixed (at least in 3.5) so you might want to close it. (See the _rset function in smtplib.py:482 and how its used in sendmail.) -- nosy: +jesstess, zvyn ___ Python tracker <http://bugs.python.org/issue16005> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1481032] patch smtplib:when SMTPDataError, rset crashes with sslerror
Milan Oberkirch added the comment: This bug was resolved for SMTPServerDisconnected exceptions but not for SSLError. Is it still reproducible? If so, the attached patch should fix it for 3.x (couldn't test if it does because I don't know how to reproduce the error). -- nosy: +jesstess, zvyn Added file: http://bugs.python.org/file36057/issue1481032.patch ___ Python tracker <http://bugs.python.org/issue1481032> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22071] Remove long-time deprecated attributes from smtpd
New submission from Milan Oberkirch: I made a patch removing deprecated attributes from smtpd (as suggested by r.david.murray). -- components: Library (Lib) files: smtpd_remove_deprecated_attrs.patch keywords: patch messages: 223969 nosy: jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: Remove long-time deprecated attributes from smtpd versions: Python 3.5 Added file: http://bugs.python.org/file36090/smtpd_remove_deprecated_attrs.patch ___ Python tracker <http://bugs.python.org/issue22071> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: Thanks for the review and improvements! I fixed the warnings (didn't see them with running tests as described in the dev guide; I may improve that later), updated the docs to RFC 5321 (issue 19679 is referring to RFC 3463 which is not required/updated/obsoleted by RFC 5321), and fixed the _print_message method of the DebuggingServer. Testing DebuggingServer seems difficult because it prints to stdout so I'm just checking that no exceptions are raised. I'm aware of the maximum command length thing but would fix it in issue 21783 (because it becomes a bug when dealing with that). -- Added file: http://bugs.python.org/file36149/issue21725v5.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36157/issue21725v5.1.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22071] Remove long-time deprecated attributes from smtpd
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36158/smtpd_remove_deprecated_attrs_v2.patch ___ Python tracker <http://bugs.python.org/issue22071> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22027] RFC 6531 (SMTPUTF8) support in smtplib
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36159/smtpd_remove_deprecated_attrs_v2.patch ___ Python tracker <http://bugs.python.org/issue22027> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22111] Improve imaplib testsuite.
New submission from Milan Oberkirch: The status quo of test_imaplib is a bit frustrating: 4 test functions out of 31 get executed by default while only few seem to need any resources. I tried to solve this in the attached patch. Did I get something wrong or was that checking for network resources just a mistake? -- components: Tests files: imaplib_test.patch keywords: patch messages: 224367 nosy: jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: Improve imaplib testsuite. versions: Python 3.5 Added file: http://bugs.python.org/file36170/imaplib_test.patch ___ Python tracker <http://bugs.python.org/issue22111> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22111] Improve imaplib testsuite.
Changes by Milan Oberkirch : Removed file: http://bugs.python.org/file36170/imaplib_test.patch ___ Python tracker <http://bugs.python.org/issue22111> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22111] Improve imaplib testsuite.
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36171/imaplib_test.patch ___ Python tracker <http://bugs.python.org/issue22111> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22111] Improve imaplib testsuite.
Milan Oberkirch added the comment: AntoinePitrou: Thanks for the review! I made the suggested changes and could not resist refactoring the hole thing (since I plan to spend some time on that file I wanted it to be readable and pep conform). -- Added file: http://bugs.python.org/file36178/imaplib_testV2.patch ___ Python tracker <http://bugs.python.org/issue22111> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22137] Test imaplib API on all methods specified in RFC 3501
New submission from Milan Oberkirch: I finished writing tests for all methods which are specified in RFC 3501 but left out extensions for now. The attached patch will trigger many resource warnings. Do you have an idea why the sockets aren't closed? -- files: imaplib_test_rfc3501.patch keywords: patch messages: 224790 nosy: jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: Test imaplib API on all methods specified in RFC 3501 Added file: http://bugs.python.org/file36263/imaplib_test_rfc3501.patch ___ Python tracker <http://bugs.python.org/issue22137> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22137] Test imaplib API on all methods specified in RFC 3501
Milan Oberkirch added the comment: Okay that was stupid from me (it was 5am when I submitted it), sorry. -- Added file: http://bugs.python.org/file36271/imaplib_test_rfc3501v2.patch ___ Python tracker <http://bugs.python.org/issue22137> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22158] RFC 6531 (SMTPUTF8) support in smtpd.PureProxy
New submission from Milan Oberkirch: This issue depends on issue 21725 for the communication with the client and issue 22027 for communicating with the remote server. I think I can come up with a patch for the default branch which is applicable but will not run without the two other issues beeing fixed (I tried that for issue 21783 but it didn't work out well). -- components: Library (Lib) messages: 224963 nosy: jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: RFC 6531 (SMTPUTF8) support in smtpd.PureProxy versions: Python 3.5 ___ Python tracker <http://bugs.python.org/issue22158> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22159] smtpd.PureProxy and smtpd.DebuggingServer do not work with decode_data=True
New submission from Milan Oberkirch: I fixed this for smtpd.DebuggingServer in the patch for issue 21725 but think it is an independent issue which is resolvable with a small patch. -- components: Library (Lib) files: decode_data_proxy_debugging_server.patch keywords: patch messages: 224967 nosy: jesstess, pitrou, r.david.murray, zvyn priority: normal severity: normal status: open title: smtpd.PureProxy and smtpd.DebuggingServer do not work with decode_data=True versions: Python 3.5 Added file: http://bugs.python.org/file36293/decode_data_proxy_debugging_server.patch ___ Python tracker <http://bugs.python.org/issue22159> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22158] RFC 6531 (SMTPUTF8) support in smtpd.PureProxy
Changes by Milan Oberkirch : -- keywords: +patch Added file: http://bugs.python.org/file36294/pp_smtputf8.patch ___ Python tracker <http://bugs.python.org/issue22158> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22027] RFC 6531 (SMTPUTF8) support in smtplib
Changes by Milan Oberkirch : Removed file: http://bugs.python.org/file36159/smtpd_remove_deprecated_attrs_v2.patch ___ Python tracker <http://bugs.python.org/issue22027> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36323/issue21725v5.2.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22027] RFC 6531 (SMTPUTF8) support in smtplib
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36324/smtplib_smtputf8_issue21725-dependentV2.patch ___ Python tracker <http://bugs.python.org/issue22027> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8503] smtpd SMTPServer does not allow domain filtering
Changes by Milan Oberkirch : Added file: http://bugs.python.org/file36325/issue8503v2.patch ___ Python tracker <http://bugs.python.org/issue8503> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: I think that the peer arg is supposed to be set to the address of the peer connecting to our server. The value 'peer' comes from test/mock_socket.py:105 and is the best answer we can get for mock_sock.getpeername() because there is no real client when directly writing into the socket. "('b', 0)" would be the address of the remote server. -- ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22027] RFC 6531 (SMTPUTF8) support in smtplib
Milan Oberkirch added the comment: After blindly raising errors for 'SMTPUTF8' without 'BODY=.*' I found out that 'SMTPUTF8' alone is actually perfectly fine (for using international names in addresses but sending ASCII data). Which means I did a mistake in the smtpd patch :( The attached 3rd version of the smtplib patch implements your suggestions, including re-factoring of the mail option parsing. One test is commented out until smtpd is fixed. I'll do that as -part of- issue 21795 tomorrow. -- Added file: http://bugs.python.org/file36350/smtplib_smtputf8V3.patch ___ Python tracker <http://bugs.python.org/issue22027> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: Thanks for your review comments, serhiy.storchaka! I may be blind right now, but where did I add a positional parameter? -- Added file: http://bugs.python.org/file36357/issue21725v5.4.patch ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21795] smtpd.SMTPServer should announce 8BITMIME when supported and accept SMTPUTF8 without it
Milan Oberkirch added the comment: Also the server should accept the SMTPUTF8 mail argument completely independently of 8BITMIME if both are enabled. -- title: smtpd.SMTPServer should announce 8BITMIME when supported -> smtpd.SMTPServer should announce 8BITMIME when supported and accept SMTPUTF8 without it ___ Python tracker <http://bugs.python.org/issue21795> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21725] RFC 6531 (SMTPUTF8) support in smtpd
Milan Oberkirch added the comment: Sorry, I was blind (switching between languages to much)! Anyway there should be no existing code using decode_data as it was introduced in this development circle. -- ___ Python tracker <http://bugs.python.org/issue21725> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21795] smtpd.SMTPServer should announce 8BITMIME when supported and accept SMTPUTF8 without it
Milan Oberkirch added the comment: The proposed patch extends process_message with an **kwargs catch-all which is filled with 'mail_options' and 'rcpt_options' if decode_data is False. I also removed process_smtputf8_message as one can detect the need for supporting SMTPUTF8 from kwargs['mail_options'] now. 8BITMIE is accepted if decode_data=False and SMTPUTF8 is accepted if enable_SMTPUTF8=True (which implies decode_data=False). -- keywords: +patch Added file: http://bugs.python.org/file36360/issue21795.patch ___ Python tracker <http://bugs.python.org/issue21795> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21795] smtpd.SMTPServer should announce 8BITMIME when supported and accept SMTPUTF8 without it
Milan Oberkirch added the comment: Thanks, for the review, here's comes an updated version. -- Added file: http://bugs.python.org/file36370/issue21795v2.patch ___ Python tracker <http://bugs.python.org/issue21795> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22216] smtplip STARTTLS fails at second attampt due to unsufficiant quit()
New submission from Milan Oberkirch: When using smtplib.SMTP to connect to a SMTP server the instance variables esmtp_response survives a SMTP.quit() which results in the following error: >>> import smtplib >>> smtp = smtplib.SMTP('mail.oberkirch.org', 25) >>> smtp.starttls() (220, b'2.0.0 Ready to start TLS') >>> smtp.ehlo() (250, b'mail.oberkirch.org\nPIPELINING\nSIZE 1024\nVRFY\nETRN\nAUTH PLAIN LOGIN\nAUTH=PLAIN LOGIN\nENHANCEDSTATUSCODES\n8BITMIME\nDSN') >>> smtp.quit() (221, b'2.0.0 Bye') >>> smtp.connect('mail.oberkirch.org', 25) (220, b'mail.oberkirch.org ESMTP Postfix') >>> smtp.starttls() Traceback (most recent call last): File "", line 1, in File "/usr/lib/python3.4/smtplib.py", line 672, in starttls raise SMTPException("STARTTLS extension not supported by server.") smtplib.SMTPException: STARTTLS extension not supported by server. >>> While reporting this issue I found out that starttls also does not throw away any ehlo information as it should. Provided that fixing this would probably break existing code (which would only work with non-standard servers like postfix) I did not change that behaviour. -- components: Library (Lib) files: quit_resets_greeting.patch keywords: patch messages: 225450 nosy: zvyn priority: normal severity: normal status: open title: smtplip STARTTLS fails at second attampt due to unsufficiant quit() type: behavior versions: Python 3.4, Python 3.5 Added file: http://bugs.python.org/file36396/quit_resets_greeting.patch ___ Python tracker <http://bugs.python.org/issue22216> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18540] imaplib.IMAP4() ends with "Name or service not known" on Fedora 18
Milan Oberkirch added the comment: According to the documentation[1] the values for host should be set to 'localhost' by default. I attached a patch that does just that. Also note, that the minimal example at the end of [1] is broken by this bug. [1]: http://docs.python.org/2/library/imaplib.html?highlight=imap#imaplib.IMAP4 -- nosy: +zvyn Added file: http://bugs.python.org/file34271/imaplib-zvyn.patch ___ Python tracker <http://bugs.python.org/issue18540> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20098] email policy needs a mangle_from setting
Milan Oberkirch added the comment: (@r.david.murray) I just implemented what you suggested: - Policy has a mangle_from_ property, overridden in EMailPolicy - Generator and DecodedGenerator default to policy.mangle_from_ or True if policy is None. Would be glad if it helps :) -- nosy: +zvyn Added file: http://bugs.python.org/file34275/mangle_from.patch ___ Python tracker <http://bugs.python.org/issue20098> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20098] email policy needs a mangle_from setting
Changes by Milan Oberkirch : Removed file: http://bugs.python.org/file34275/mangle_from.patch ___ Python tracker <http://bugs.python.org/issue20098> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20098] email policy needs a mangle_from setting
Milan Oberkirch added the comment: Updates patch to include necessary changes to test_policy.py. -- Added file: http://bugs.python.org/file34277/mangle_from.patch ___ Python tracker <http://bugs.python.org/issue20098> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15014] smtplib: add support for arbitrary auth methods
Milan Oberkirch added the comment: I implemented one approach to solve this by writing new member functions for each method (see the patch attached). Bonus: It does not change the usage of login() in any way (which uses the new functions internally). Another option would be to make those functions private/put them into login() and provide an optional keyarg. Or auth objects, but as far as I can see only 3 methods are relevant so it might be an overkill? So that's the easy way to fix it, would be glad if it helps! -- keywords: +patch nosy: +zvyn Added file: http://bugs.python.org/file34279/smtplib.patch ___ Python tracker <http://bugs.python.org/issue15014> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15014] smtplib: add support for arbitrary auth methods
Milan Oberkirch added the comment: I looked into imaplib a bit to see how the problem is solved there; what I observed: - login() does 'PLAIN' only (and does not use authobj but smtplib would) - there exists an extra function login_cram_md5() for 'CRAM-MD5' So I guess the right way to do it would be to write an authenticate() method as in imaplib and use it in new member functions of the form login_[method](). In contrast to imaplib login() could still be used to probe through the three main methods (to avoid breaking backward compatibility). I'll try to implement this later today, so if you think it's completely dumb and read this before a patch is applied feel free to give me a quick reply to stop me from wasting my time :) -- ___ Python tracker <http://bugs.python.org/issue15014> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15014] smtplib: add support for arbitrary auth methods
Milan Oberkirch added the comment: Maybe I am a bit hyperactive, but I already was at it when receiving your message, so I finished it. Anyhow most of what I have done is completely independent of the API chosen. What I did: 1. I implemented a new authenticate(self, mechanism, authobject) as in imaplib which can be used for all methods 2. I implemented authobjects for the three most important mechanisms 3. login() has a keyarg 'preferred_auth' which is a list of auth-methods (strings) I think 1. and 2. make sense regardless of how the API should look like in the end, because it's the only way without any code-redundancy. 3 is more a proposal. -- Added file: http://bugs.python.org/file34287/smtplibAuthobj.patch ___ Python tracker <http://bugs.python.org/issue15014> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14758] SMTPServer of smptd does not support binding to an IPv6 address
Milan Oberkirch added the comment: I was going to work on #3461 where IPv6-tests are missing for smtplib and stumbled over this bug. I would be willing to work on this, since it's quiet clear what needs to be done to me: implement what (vsergeev) suggested and write tests (which includes fixing design flaws in current ones). It may be a good idea to teach mouckup_socket some IPv6, since it's needed for test_smtpd and test_smtplib, but IMHO that can be done as a extra task / will be easy after doing the above. -- nosy: +zvyn ___ Python tracker <http://bugs.python.org/issue14758> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14758] SMTPServer of smptd does not support binding to an IPv6 address
Milan Oberkirch added the comment: The cleaning up of smtpd.socket was already implemented, so there was nothing to do there. What I did: - Write two TestCases to check if the IP version is chosen depending on the host-parameter - Testing, that everything still works with an IPv6 address by inheriting from SMTPDChannelTest and overriding setUp with an IPv6-Server -- keywords: +patch Added file: http://bugs.python.org/file34289/smtpd.patch ___ Python tracker <http://bugs.python.org/issue14758> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com