From 2f8b1036da42ec3d15a51c6b17a473f9f4df71d3 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Sat, 07 Feb 2015 12:33:24 -0500
Subject: [PATCH] Bump version and copyright year

---
 program/lib/Roundcube/rcube_message.php |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/program/lib/Roundcube/rcube_message.php b/program/lib/Roundcube/rcube_message.php
index 169d00c..8af3344 100644
--- a/program/lib/Roundcube/rcube_message.php
+++ b/program/lib/Roundcube/rcube_message.php
@@ -550,12 +550,6 @@
         else if ($mimetype == 'multipart/alternative'
             && is_array($structure->parts) && count($structure->parts) > 1
         ) {
-            $plain_part   = null;
-            $html_part    = null;
-            $print_part   = null;
-            $related_part = null;
-            $attach_part  = null;
-
             // get html/plaintext parts, other add to attachments list
             foreach ($structure->parts as $p => $sub_part) {
                 $sub_mimetype = $sub_part->mimetype;
@@ -633,8 +627,19 @@
             $p->ctype_secondary = 'plain';
             $p->mimetype        = 'text/plain';
             $p->realtype        = 'multipart/encrypted';
+            $p->mime_id         = $structure->mime_id;
 
             $this->parts[] = $p;
+
+            // add encrypted payload part as attachment
+            if (is_array($structure->parts)) {
+                for ($i=0; $i < count($structure->parts); $i++) {
+                    $subpart = $structure->parts[$i];
+                    if ($subpart->mimetype == 'application/octet-stream' || !empty($subpart->filename)) {
+                        $this->attachments[] = $subpart;
+                    }
+                }
+            }
         }
         // this is an S/MIME ecrypted message -> create a plaintext body with the according message
         else if ($mimetype == 'application/pkcs7-mime') {
@@ -644,8 +649,13 @@
             $p->ctype_secondary = 'plain';
             $p->mimetype        = 'text/plain';
             $p->realtype        = 'application/pkcs7-mime';
+            $p->mime_id         = $structure->mime_id;
 
             $this->parts[] = $p;
+
+            if (!empty($structure->filename)) {
+                $this->attachments[] = $structure;
+            }
         }
         // message contains multiple parts
         else if (is_array($structure->parts) && !empty($structure->parts)) {

--
Gitblit v1.9.1