summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/imaplib.py3
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS4
3 files changed, 8 insertions, 0 deletions
diff --git a/Lib/imaplib.py b/Lib/imaplib.py
index f8c7ffd..724f9d1 100644
--- a/Lib/imaplib.py
+++ b/Lib/imaplib.py
@@ -24,6 +24,8 @@ __version__ = "2.58"
import binascii, errno, random, re, socket, subprocess, sys, time, calendar
from datetime import datetime, timezone, timedelta
+from io import DEFAULT_BUFFER_SIZE
+
try:
import ssl
HAVE_SSL = True
@@ -1244,6 +1246,7 @@ class IMAP4_stream(IMAP4):
self.sock = None
self.file = None
self.process = subprocess.Popen(self.command,
+ bufsize=DEFAULT_BUFFER_SIZE,
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
shell=True, close_fds=True)
self.writefile = self.process.stdin
diff --git a/Misc/ACKS b/Misc/ACKS
index e2455ae..2d29e99 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1216,6 +1216,7 @@ Alberto Trevino
Matthias Troffaes
Tom Tromey
John Tromp
+Diane Trout
Jason Trowbridge
Brent Tubbs
Anthony Tuininga
diff --git a/Misc/NEWS b/Misc/NEWS
index 95994ff..7e126c4 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -193,6 +193,10 @@ Core and Builtins
Library
-------
+- Issue #17443: impalib.IMAP4_stream was using the default unbuffered IO
+ in subprocess, but the imap code assumes buffered IO. In Python2 this
+ worked by accident. IMAP4_stream now explicitly uses buffered IO.
+
- Issue #17476: Fixed regression relative to Python2 in undocumented pydoc
'allmethods'; it was missing unbound methods on the class.