1 |
unnilennium |
1.1 |
--- mailman-2.1.5.1/misc/email-2.5.5/email/Message.py.CVE-2005-3573 2006-03-02 14:02:21.000000000 +0100 |
2 |
|
|
+++ mailman-2.1.5.1/misc/email-2.5.5/email/Message.py 2006-03-02 14:03:24.000000000 +0100 |
3 |
|
|
@@ -721,17 +721,20 @@ |
4 |
|
|
The filename is extracted from the Content-Disposition header's |
5 |
|
|
`filename' parameter, and it is unquoted. |
6 |
|
|
""" |
7 |
|
|
- missing = [] |
8 |
|
|
- filename = self.get_param('filename', missing, 'content-disposition') |
9 |
|
|
- if filename is missing: |
10 |
|
|
+ try: |
11 |
|
|
+ missing = [] |
12 |
|
|
+ filename = self.get_param('filename', missing, 'content-disposition') |
13 |
|
|
+ if filename is missing: |
14 |
|
|
+ return failobj |
15 |
|
|
+ if isinstance(filename, TupleType): |
16 |
|
|
+ # It's an RFC 2231 encoded parameter |
17 |
|
|
+ newvalue = _unquotevalue(filename) |
18 |
|
|
+ return unicode(newvalue[2], newvalue[0] or 'us-ascii') |
19 |
|
|
+ else: |
20 |
|
|
+ newvalue = _unquotevalue(filename.strip()) |
21 |
|
|
+ return newvalue |
22 |
|
|
+ except: |
23 |
|
|
return failobj |
24 |
|
|
- if isinstance(filename, TupleType): |
25 |
|
|
- # It's an RFC 2231 encoded parameter |
26 |
|
|
- newvalue = _unquotevalue(filename) |
27 |
|
|
- return unicode(newvalue[2], newvalue[0] or 'us-ascii') |
28 |
|
|
- else: |
29 |
|
|
- newvalue = _unquotevalue(filename.strip()) |
30 |
|
|
- return newvalue |
31 |
|
|
|
32 |
|
|
def get_boundary(self, failobj=None): |
33 |
|
|
"""Return the boundary associated with the payload if present. |