thrnciar / rpms / python3

Forked from rpms/python3 4 years ago
Clone
8f231d0
From 761db274ca898f8a92348ed5979d3d3c1b0d634a Mon Sep 17 00:00:00 2001
8f231d0
From: Tomas Orsava <torsava@redhat.com>
8f231d0
Date: Fri, 17 Jun 2016 16:08:11 +0200
8f231d0
Subject: [PATCH] Raise an error when STARTTLS fails
8f231d0
8f231d0
CVE-2016-0772 python: smtplib StartTLS stripping attack
8f231d0
rhbz#1303647: https://bugzilla.redhat.com/show_bug.cgi?id=1303647
8f231d0
rhbz#1346345: https://bugzilla.redhat.com/show_bug.cgi?id=1346345
8f231d0
8f231d0
Based on an upstream change by Benjamin Peterson <benjamin@python.org>
8f231d0
- in changeset 101887:d590114c2394 3.4
8f231d0
- https://hg.python.org/cpython/rev/d590114c2394
8f231d0
---
8f231d0
 Lib/smtplib.py | 5 +++++
8f231d0
 1 file changed, 5 insertions(+)
8f231d0
8f231d0
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
8f231d0
index 4756973..dfbf5f9 100755
8f231d0
--- a/Lib/smtplib.py
8f231d0
+++ b/Lib/smtplib.py
8f231d0
@@ -773,6 +773,11 @@ class SMTP:
8f231d0
             self.ehlo_resp = None
8f231d0
             self.esmtp_features = {}
8f231d0
             self.does_esmtp = 0
8f231d0
+        else:
8f231d0
+            # RFC 3207:
8f231d0
+            # 501 Syntax error (no parameters allowed)
8f231d0
+            # 454 TLS not available due to temporary reason
8f231d0
+            raise SMTPResponseException(resp, reply)
8f231d0
         return (resp, reply)
8f231d0
 
8f231d0
     def sendmail(self, from_addr, to_addrs, msg, mail_options=[],
8f231d0
-- 
8f231d0
2.5.5
8f231d0