Fixed #6299 -- Fixed an indentation error in django/core/mail.py introduced in [6987]

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6989 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2008-01-02 08:39:03 +00:00
parent 1264bcf8b0
commit 5496c50b62
1 changed files with 16 additions and 16 deletions

View File

@ -68,22 +68,22 @@ class BadHeaderError(ValueError):
pass pass
def forbid_multi_line_headers(name, val): def forbid_multi_line_headers(name, val):
"Forbids multi-line headers, to prevent header injection." "Forbids multi-line headers, to prevent header injection."
if '\n' in val or '\r' in val: if '\n' in val or '\r' in val:
raise BadHeaderError, "Header values can't contain newlines (got %r for header %r)" % (val, name) raise BadHeaderError("Header values can't contain newlines (got %r for header %r)" % (val, name))
try: try:
val = force_unicode(val).encode('ascii') val = force_unicode(val).encode('ascii')
except UnicodeEncodeError: except UnicodeEncodeError:
if name.lower() in ('to', 'from', 'cc'): if name.lower() in ('to', 'from', 'cc'):
result = [] result = []
for item in val.split(', '): for item in val.split(', '):
nm, addr = parseaddr(item) nm, addr = parseaddr(item)
nm = str(Header(nm, settings.DEFAULT_CHARSET)) nm = str(Header(nm, settings.DEFAULT_CHARSET))
result.append(formataddr((nm, str(addr)))) result.append(formataddr((nm, str(addr))))
val = ', '.join(result) val = ', '.join(result)
else: else:
val = Header(force_unicode(val), settings.DEFAULT_CHARSET) val = Header(force_unicode(val), settings.DEFAULT_CHARSET)
return (name, val) return name, val
class SafeMIMEText(MIMEText): class SafeMIMEText(MIMEText):
def __setitem__(self, name, val): def __setitem__(self, name, val):