[evolution-patches] 72609, crash viewing mail, security/dos fix




This should be applied to 2.0.x as well as 2.1 as it fixes a dos when viewing such a message.

? camel/a.out
? camel/camel-mime-tables.c
? camel/testurl.c
? camel/tests/folder/test10
? camel/tests/folder/test11
? camel/tests/message/test4
? camel/tests/mime-filter/test-tohtml
? camel/tests/misc/test2
? camel/tests/misc/url-scan
Index: camel/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/ChangeLog,v
retrieving revision 1.2431
diff -u -p -r1.2431 ChangeLog
--- camel/ChangeLog	15 Feb 2005 11:12:51 -0000	1.2431
+++ camel/ChangeLog	24 Feb 2005 06:35:13 -0000
@@ -1,3 +1,10 @@
+2005-02-24  Not Zed  <NotZed Ximian com>
+
+	** See bug #72609
+
+	* camel-charset-map.c (camel_charset_best_name): make sure we
+	ALWAYS return something.
+
 2005-02-11  Radek Doulik  <rodo novell com>
 
 	* camel-filter-search.c (junk_test): use camel debug
Index: camel/camel-charset-map.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-charset-map.c,v
retrieving revision 1.42
diff -u -p -r1.42 camel-charset-map.c
--- camel/camel-charset-map.c	2 Dec 2004 08:03:29 -0000	1.42
+++ camel/camel-charset-map.c	24 Feb 2005 06:35:13 -0000
@@ -287,8 +287,7 @@ camel_charset_best_name (CamelCharset *c
 	else if (charset->level == 2)
 		return camel_charset_best_mask (charset->mask);
 	else
-		return NULL;
-
+		return "UTF-8";
 }
 
 /* finds the minimum charset for this string NULL means US-ASCII */
? mail/GNOME_Evolution_Mail.oaf
? mail/GNOME_Evolution_Mail.oafinfo
? mail/Mail-common.c
? mail/Mail-skels.c
? mail/Mail-stubs.c
? mail/Mail.h
? mail/Mailer-common.c
? mail/Mailer-skels.c
? mail/Mailer-stubs.c
? mail/Mailer.h
? mail/a
? mail/a.diff
? mail/a.out
? mail/a.txt
? mail/all.txt
? mail/b
? mail/blah.c
? mail/blah.ps
? mail/changes.diff
? mail/conf.keys
? mail/day.diff
? mail/diff
? mail/e-plugin.html
? mail/econf.h
? mail/em-message-view.h
? mail/em-security-info.c
? mail/em-store-view.c
? mail/evolution-mail
? mail/evolution-mail-ops.log
? mail/evolution-mbox-upgrade
? mail/f.diff
? mail/fix.ed
? mail/foo
? mail/hide-empty.diff
? mail/html.diff
? mail/lockdown.txt
? mail/m.diff
? mail/mail-config.c.save
? mail/mail-config.evolution
? mail/mail-search.gladep
? mail/mail-security.gladep
? mail/mail-send-recv.c.save
? mail/mail.diff
? mail/map.sed
? mail/message-list.c.save
? mail/ml.diff
? mail/old
? mail/out
? mail/output.ps
? mail/plugins
? mail/search-types.xml
? mail/store_change.diff
? mail/subscribe-dialog-new.c
? mail/subscribe-dialog.c.new
? mail/subscribe-dialog.glade.backup
? mail/subscribe-dialog.glade.save
? mail/subscribe-dialog.gladep
? mail/test-mt
? mail/today-1.diff
? mail/today-2.diff
? mail/today-3.diff
? mail/today-4.diff
? mail/today-5.diff
? mail/today.diff
? mail/typescript
? mail/week.diff
? mail/default/zh_CN/Makefile
? mail/default/zh_CN/Makefile.in
? mail/importers/GNOME_Evolution_Mail_Elm_Intelligent_Importer.oaf
? mail/importers/GNOME_Evolution_Mail_Elm_Intelligent_Importer.oaf.in
? mail/importers/GNOME_Evolution_Mail_Mbox_Importer.oaf
? mail/importers/GNOME_Evolution_Mail_Netscape_Intelligent_Importer.oaf
? mail/importers/GNOME_Evolution_Mail_Netscape_Intelligent_Importer.oaf.in
? mail/importers/GNOME_Evolution_Mail_Outlook_Importer.oaf
? mail/importers/GNOME_Evolution_Mail_Pine_Intelligent_Importer.oaf
? mail/importers/GNOME_Evolution_Mail_Pine_Intelligent_Importer.oaf.in
? mail/importers/am.diff
? mail/importers/b
? mail/importers/elm-importer.c.new
? mail/importers/elm.ps
? mail/importers/im.diff
Index: mail/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.3589
diff -u -p -r1.3589 ChangeLog
--- mail/ChangeLog	24 Feb 2005 02:20:32 -0000	1.3589
+++ mail/ChangeLog	24 Feb 2005 06:35:30 -0000
@@ -1,3 +1,11 @@
+2005-02-24  Not Zed  <NotZed Ximian com>
+
+	** See bug #72609
+
+	* em-inline-filter.c (emif_scan): try to convert the filename
+	based on the incoming charset or the locale charset.  This will
+	make sure it is always valid.
+
 2005-02-21  Not Zed  <NotZed Ximian com>
 
 	** See bug #71528.
Index: mail/em-inline-filter.c
===================================================================
RCS file: /cvs/gnome/evolution/mail/em-inline-filter.c,v
retrieving revision 1.7
diff -u -p -r1.7 em-inline-filter.c
--- mail/em-inline-filter.c	19 May 2004 07:02:12 -0000	1.7
+++ mail/em-inline-filter.c	24 Feb 2005 06:35:30 -0000
@@ -196,6 +196,7 @@ emif_scan(CamelMimeFilter *f, char *in, 
 			if (strncmp(start, "begin ", 6) == 0
 			    && start[6] >= '0' && start[6] <= '7') {
 				int i = 7;
+				char *name;
 
 				while (start[i] >='0' && start[i] <='7')
 					i++;
@@ -206,7 +207,10 @@ emif_scan(CamelMimeFilter *f, char *in, 
 					break;
 
 				emif_add_part(emif, data_start, start-data_start);
-				emif->filename = g_strndup(start+i, inptr-start-i-1);
+
+				name = g_strndup(start+i, inptr-start-i-1);
+				emif->filename = camel_header_decode_string(name, emif->base_type?camel_content_type_param(emif->base_type, "charset"):NULL);
+				g_free(name);
 				data_start = start;
 				emif->state = EMIF_UUENC;
 			} else if (strncmp(start, "(This file must be converted with BinHex 4.0)", 45) == 0) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]