Roundup Tracker - Issues

Issue 2550974

classification
Get all incoming mail interfaces working with Python 3
Type: rfe Severity: normal
Components: Mail interface Versions: devel
process
Status: new
:
: : joseph_myers, rouilj
Priority: : python3

Created on 2018-07-25 19:39 by joseph_myers, last changed 2019-06-05 23:34 by rouilj.

Messages
msg6130 Author: [hidden] (joseph_myers) Date: 2018-07-25 19:39
We need to make sure that incoming mail via roundup-mailgw works with
Python 3, for each different way documented for it to receive mail.
msg6248 Author: [hidden] (joseph_myers) Date: 2018-09-16 13:57
I have checked in a patch to fix strings/bytes issues for the various
forms of input to roundup-mailgw.

Piped input and mailbox files have been tested.  I have not tested POP
and IMAP input; those need testing to verify they work properly with
both Python 2 and Python 3 after my fixes.
msg6505 Author: [hidden] (rouilj) Date: 2019-06-03 02:02
As part of: issue2551008 I am adding some bs2b calls in the 
roundup/anypy/email_.py in decode_header to make sure that it always 
returns byte strings.

All returns of tuples get a bs2b around the first (header value) 
element.

One place I am not sure about is this code:

     if hasattr(header, '_chunks'):                                             
+        # FIXME do we need bs2b around _charset??                              
         return [(_charset._encode(string, str(charset)), str(charset))         
                     for string, charset in header._chunks]   

do we need a bs2b around the return of _charset? AFAICT there is no
test code that exercises this code.
msg6529 Author: [hidden] (rouilj) Date: 2019-06-05 23:34
Ezio came up with a different fix that prevents thrashing data from 
encoded to decoded to only encode later.

So no bs2b changes. We still have no test code for the

      if hasattr(header, '_chunks'):                                             

code path.
History
Date User Action Args
2019-06-05 23:34:25rouiljsetmessages: + msg6529
2019-06-03 02:02:49rouiljsetnosy: + rouilj
messages: + msg6505
2018-09-16 13:57:57joseph_myerssetmessages: + msg6248
2018-07-26 10:41:50joseph_myerssetkeywords: + python3
2018-07-25 19:39:29joseph_myerscreate