From 0816567dac1beb14bd5abc95a67f915583a99f33 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 27 Aug 2009 04:08:27 -0400
Subject: [PATCH] Only allow images as 'inline' parts; list other parts as attachments if they have a valid mime type

---
 program/include/rcube_message.php |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index 0c46945..7c2457e 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -392,16 +392,17 @@
 
           // part belongs to a related message and is linked
           if ($message_ctype_secondary == 'related'
-	      && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) {
+              && preg_match('!^image/!', $mail_part->mimetype)
+              && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) {
             if ($mail_part->headers['content-id'])
               $mail_part->content_id = preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id']);
             if ($mail_part->headers['content-location'])
               $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location'];
-    
+              
             $this->inline_parts[] = $mail_part;
           }
           // is a regular attachment
-          else {
+          else if (preg_match('!^[a-z]+/[a-z0-9-.]+$!i', $mail_part->mimetype)) {
             if (!$mail_part->filename)
               $mail_part->filename = 'Part '.$mail_part->mime_id;
             $this->attachments[] = $mail_part;

--
Gitblit v1.9.1