diff options
| author | Olivier Dony <odo@openerp.com> | 2015-07-15 14:18:08 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2015-07-15 14:18:09 +0200 |
| commit | 8ea4bf81f7c7e74cbe6c654051ae021e683417e5 (patch) | |
| tree | c6ac8a06ee87d7e99133e3e3fc21a9fbe7c873dc /addons/fetchmail/fetchmail.py | |
| parent | 5bbcc14d2f39a593a2b42719bbda82a2750208dc (diff) | |
[FIX] fetchmail: workaround poplib line length bug
In order to fix Python bug https://bugs.python.org/issue16041
a maximum line length was introduced in poplib when reading
email contents from the POP3 server.
That limit is set to prevent DoS attacks via malicious POP3
servers.
The default limit (2048) seems to be too low for emails
commonly found on the internet, retrieved via POP3 from
popular mail services such as GMail, Hotmail, etc.
(The POP3 servers might send back the lines verbatim
without splitting them up)
This is discussed in follow-up Python bug
https://bugs.python.org/issue23906.
Workaround implemented by forcing a higher default limit
to accomodate POP3 responses with lines up to 64KB.
Diffstat (limited to 'addons/fetchmail/fetchmail.py')
| -rw-r--r-- | addons/fetchmail/fetchmail.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/addons/fetchmail/fetchmail.py b/addons/fetchmail/fetchmail.py index 0a27a05b275..84e48c794fd 100644 --- a/addons/fetchmail/fetchmail.py +++ b/addons/fetchmail/fetchmail.py @@ -20,6 +20,7 @@ ############################################################################## import logging +import poplib import time from imaplib import IMAP4 from imaplib import IMAP4_SSL @@ -42,6 +43,9 @@ from openerp.tools.translate import _ _logger = logging.getLogger(__name__) MAX_POP_MESSAGES = 50 +# Workaround for Python 2.7.8 bug https://bugs.python.org/issue23906 +poplib._MAXLINE = 65536 + class fetchmail_server(osv.osv): """Incoming POP/IMAP mail server account""" _name = 'fetchmail.server' |
