From 5d49af37cc81c4fada69169c23cc12a5f9c4ce2e Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 06 Feb 2016 11:45:20 -0500
Subject: [PATCH] Enigma: Disable format=flowed for signed plain text messages (#1490646)

---
 plugins/enigma/lib/enigma_engine.php |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/plugins/enigma/lib/enigma_engine.php b/plugins/enigma/lib/enigma_engine.php
index 36693bd..584a5b2 100644
--- a/plugins/enigma/lib/enigma_engine.php
+++ b/plugins/enigma/lib/enigma_engine.php
@@ -186,6 +186,18 @@
             // in this mode we'll replace text part
             // with the one containing signature
             $body = $message->getTXTBody();
+
+            $text_charset = $message->getParam('text_charset');
+            $line_length  = $this->rc->config->get('line_length', 72);
+
+            // We can't use format=flowed for signed messages
+            if (strpos($text_charset, 'format=flowed')) {
+                list($charset, $params) = explode(';', $text_charset);
+                $body = rcube_mime::unfold_flowed($body);
+                $body = rcube_mime::wordwrap($body, $line_length, "\r\n", false, $charset);
+
+                $text_charset = str_replace(";\r\n format=flowed", '', $text_charset);
+            }
         }
         else {
             // here we'll build PGP/MIME message
@@ -208,6 +220,7 @@
         // replace message body
         if ($pgp_mode == Crypt_GPG::SIGN_MODE_CLEAR) {
             $message->setTXTBody($body);
+            $message->setParam('text_charset', $text_charset);
         }
         else {
             $mime->addPGPSignature($body);

--
Gitblit v1.9.1