Update of /cvsroot/cvs-syncmail/syncmail
In directory usw-pr-cvs1:/tmp/cvs-serv3279
Modified Files:
syncmail
Log Message:
Add quotename() and rfc822_specials_re so we only quote real names
in the "From" header when we really need to. Fixes SF bug #592836.
Index: syncmail
===================================================================
RCS file: /cvsroot/cvs-syncmail/syncmail/syncmail,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- syncmail 8 Nov 2002 22:01:36 -0000 1.23
+++ syncmail 11 Nov 2002 17:42:07 -0000 1.24
@@ -223,6 +223,16 @@
+rfc822_specials_re = re.compile(r'[\(\)\<\>\@\,\;\:\\\"\.\[\]]')
+
+def quotename(name):
+ if name and rfc822_specials_re.search(name):
+ return '"%s"' % name.replace('"', '\\"')
+ else:
+ return name
+
+
+
def blast_mail(subject, people, filestodiff, contextlines, fromhost, replyto):
# cannot wait for child process or that will cause parent to retain cvs
# lock for too long. Urg!
@@ -241,13 +251,13 @@
sys.stdout = s
try:
vars = {'address' : address,
- 'name' : name,
+ 'name' : quotename(name),
'people' : string.join(people, COMMASPACE),
'subject' : subject,
'version' : __version__,
}
print '''\
-From: "%(name)s" <%(address)s>
+From: %(name)s <%(address)s>
To: %(people)s''' % vars
if replyto:
print 'Reply-To: %s' % replyto
|