aboutsummaryrefslogtreecommitdiff
path: root/network/r2e/fix-email-header-injection.patch
blob: 8407d5d0eef65043c8cb0574788f8dfc74eb0e5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From: Etienne Millon <etienne.millon@gmail.com>
Date: Fri, 25 May 2012 18:04:08 +0200
Subject: Fix email header injection

Bug: http://bugs.python.org/issue5871
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526064
---
 rss2email.py |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/rss2email.py b/rss2email.py
index 69998db..a6c3cbe 100755
--- a/rss2email.py
+++ b/rss2email.py
@@ -111,9 +111,16 @@ PROXY=""
 CHARSET_LIST='US-ASCII', 'ISO-8859-1', 'UTF-8', 'BIG5', 'ISO-2022-JP'
 
 from email.MIMEText import MIMEText
-from email.Header import Header
+from email.Header import Header as _Header
 from email.Utils import parseaddr, formataddr
-			 
+
+class Header(_Header):
+    # Work-around for <http://bugs.python.org/issue5871>
+    def append(self, s=None, *args, **kwargs):
+        if s is not None:
+            s = s.replace('\n', ' ').replace('\r', ' ')
+        _Header.append(self, s, *args, **kwargs)
+
 # Note: You can also override the send function.
 
 def send(sender, recipient, subject, body, contenttype, extraheaders=None, smtpserver=None):