]> git.cworth.org Git - sup/commitdiff
handle malformed multiplart messages
authorKornilios Kourtis <kkourt@cslab.ece.ntua.gr>
Tue, 28 Jul 2009 16:58:23 +0000 (19:58 +0300)
committerWilliam Morgan <wmorgan-sup@masanjin.net>
Fri, 4 Sep 2009 15:50:54 +0000 (11:50 -0400)
lib/sup/message.rb

index 426eb80019c2c7b2015159ceb3413a2d65e1f1ef..39862b9f643c2dd66aa0ebaf877a00a39a30559c 100644 (file)
@@ -409,11 +409,15 @@ private
 
       chunks
     elsif m.header.content_type == "message/rfc822"
-      payload = RMail::Parser.read(m.body)
-      from = payload.header.from.first
-      from_person = from ? Person.from_address(from.format) : nil
-      [Chunk::EnclosedMessage.new(from_person, payload.to_s)] +
-        message_to_chunks(payload, encrypted)
+      if m.body
+        payload = RMail::Parser.read(m.body)
+        from = payload.header.from.first
+        from_person = from ? Person.from_address(from.format) : nil
+        [Chunk::EnclosedMessage.new(from_person, payload.to_s)] +
+          message_to_chunks(payload, encrypted)
+      else
+        [Chunk::EnclosedMessage.new(nil, "")]
+      end
     else
       filename =
         ## first, paw through the headers looking for a filename