summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2015-03-22 20:17:11 (GMT)
committerR David Murray <rdmurray@bitdance.com>2015-03-22 20:17:11 (GMT)
commit836c82417f013fd49a96daff559b773a2e92ec12 (patch)
tree54a75557168a750bc223d07103328c866b99ebc3
parentb4b000f0022ed61fdd1dbf92929da61c06f3447c (diff)
downloadcpython-836c82417f013fd49a96daff559b773a2e92ec12.zip
cpython-836c82417f013fd49a96daff559b773a2e92ec12.tar.gz
cpython-836c82417f013fd49a96daff559b773a2e92ec12.tar.bz2
#23647: Increase imaplib's MAXLINE to accommodate modern mailbox sizes.
-rw-r--r--Lib/imaplib.py11
-rw-r--r--Misc/NEWS2
2 files changed, 8 insertions, 5 deletions
diff --git a/Lib/imaplib.py b/Lib/imaplib.py
index 10ff340..826eea2 100644
--- a/Lib/imaplib.py
+++ b/Lib/imaplib.py
@@ -37,11 +37,12 @@ AllowedVersions = ('IMAP4REV1', 'IMAP4') # Most recent first
# Maximal line length when calling readline(). This is to prevent
# reading arbitrary length lines. RFC 3501 and 2060 (IMAP 4rev1)
-# don't specify a line length. RFC 2683 however suggests limiting client
-# command lines to 1000 octets and server command lines to 8000 octets.
-# We have selected 10000 for some extra margin and since that is supposedly
-# also what UW and Panda IMAP does.
-_MAXLINE = 10000
+# don't specify a line length. RFC 2683 suggests limiting client
+# command lines to 1000 octets and that servers should be prepared
+# to accept command lines up to 8000 octets, so we used to use 10K here.
+# In the modern world (eg: gmail) the response to, for example, a
+# search command can be quite large, so we now use 1M.
+_MAXLINE = 1000000
# Commands
diff --git a/Misc/NEWS b/Misc/NEWS
index 111a280..761f2fb 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,8 @@ Core and Builtins
Library
-------
+- Issue #23647: Increase impalib's MAXLINE to accommodate modern mailbox sizes.
+
- Issue #23539: If body is None, http.client.HTTPConnection.request now sets
Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from
some web servers.