From d3b7a55f543bf1c3ea6bcf10dd03b0919822f993 Mon Sep 17 00:00:00 2001 From: Jesus Cea Date: Wed, 16 Mar 2011 20:37:54 +0100 Subject: Close Issue 11570: Lib/test/test_distutils.py tries to mix 32 and 64 bits object files, doesn't obey LDFLAGS --- configure | 7 ++++--- configure.in | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 1ef57d0..90ad156 100755 --- a/configure +++ b/configure @@ -769,7 +769,8 @@ CFLAGS LDFLAGS LIBS CPPFLAGS -CPP' +CPP +CPPFLAGS' # Initialize some variables set by options. @@ -7551,8 +7552,8 @@ then IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; SunOS/5*) if test "$GCC" = "yes" - then LDSHARED='$(CC) -shared' - else LDSHARED='$(CC) -G'; + then LDSHARED='$(CC) -shared $(LDFLAGS)' + else LDSHARED='$(CC) -G $(LDFLAGS)'; fi ;; hp*|HP*) if test "$GCC" = "yes" diff --git a/configure.in b/configure.in index 3c6bd6f..9b7a5a7 100644 --- a/configure.in +++ b/configure.in @@ -1758,8 +1758,8 @@ then IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";; SunOS/5*) if test "$GCC" = "yes" - then LDSHARED='$(CC) -shared' - else LDSHARED='$(CC) -G'; + then LDSHARED='$(CC) -shared $(LDFLAGS)' + else LDSHARED='$(CC) -G $(LDFLAGS)'; fi ;; hp*|HP*) if test "$GCC" = "yes" -- cgit v0.12 From 6d94bd470e3f4aa1dc7295b034553509ace2c654 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Wed, 16 Mar 2011 15:52:22 -0400 Subject: #9298: restore proper folding of base64 encoded bodies. Patch by Yves Dorfsman. --- Lib/email/encoders.py | 2 +- Lib/email/test/test_email.py | 20 +++++++++++++++----- Misc/ACKS | 1 + Misc/NEWS | 4 ++++ 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Lib/email/encoders.py b/Lib/email/encoders.py index 0ea441d..dfaac58 100644 --- a/Lib/email/encoders.py +++ b/Lib/email/encoders.py @@ -12,7 +12,7 @@ __all__ = [ ] -from base64 import b64encode as _bencode +from base64 import encodebytes as _bencode from quopri import encodestring as _encodestring diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py index 0f28a9c..6a88b16 100644 --- a/Lib/email/test/test_email.py +++ b/Lib/email/test/test_email.py @@ -553,9 +553,18 @@ class TestMessageAPI(TestEmailBase): msg['Dummy'] = 'dummy\nX-Injected-Header: test' self.assertRaises(errors.HeaderParseError, msg.as_string) - # Test the email.encoders module class TestEncoders(unittest.TestCase): + + def test_EncodersEncode_base64(self): + with openfile('PyBanner048.gif', 'rb') as fp: + bindata = fp.read() + mimed = email.mime.image.MIMEImage(bindata) + base64ed = mimed.get_payload() + # the transfer-encoded body lines should all be <=76 characters + lines = base64ed.split('\n') + self.assertLessEqual(max([ len(x) for x in lines ]), 76) + def test_encode_empty_payload(self): eq = self.assertEqual msg = Message() @@ -1107,10 +1116,11 @@ class TestMIMEApplication(unittest.TestCase): def test_body(self): eq = self.assertEqual - bytes = b'\xfa\xfb\xfc\xfd\xfe\xff' - msg = MIMEApplication(bytes) - eq(msg.get_payload(), '+vv8/f7/') - eq(msg.get_payload(decode=True), bytes) + bytesdata = b'\xfa\xfb\xfc\xfd\xfe\xff' + msg = MIMEApplication(bytesdata) + # whitespace in the cte encoded block is RFC-irrelevant. + eq(msg.get_payload().strip(), '+vv8/f7/') + eq(msg.get_payload(decode=True), bytesdata) diff --git a/Misc/ACKS b/Misc/ACKS index e5ee871..5d9b198 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -202,6 +202,7 @@ Daniel Dittmar Jaromir Dolecek Ismail Donmez Dima Dorfman +Yves Dorfsman Cesar Douady Dean Draayer Fred L. Drake, Jr. diff --git a/Misc/NEWS b/Misc/NEWS index d5c4699..beb6ec1 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -40,6 +40,10 @@ Core and Builtins Library ------- +- Issue #9298: base64 bodies weren't being folded to line lengths less than 78, + which was a regression relative to Python2. Unlike Python2, the last line + of the folded body now ends with a carriage return. + - Issue #11569: use absolute path to the sysctl command in multiprocessing to ensure that it will be found regardless of the shell PATH. This ensures that multiprocessing.cpu_count works on default installs of MacOSX. -- cgit v0.12