From: Greg W. <gw...@us...> - 2002-11-11 17:42:11
|
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 |