Aleksander Machniak
2016-02-06 5d49af37cc81c4fada69169c23cc12a5f9c4ce2e
Enigma: Disable format=flowed for signed plain text messages (#1490646)
3 files modified
16 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
plugins/enigma/composer.json 2 ●●● patch | view | raw | blame | history
plugins/enigma/lib/enigma_engine.php 13 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Enigma: Disable format=flowed for signed plain text messages (#1490646)
- Enigma: Fix handling of encrypted + signed messages (#1490632)
- Enigma: Fix invalid boundary use in signed messages structure
- Enable use of TLSv1.1 and TLSv1.2 for IMAP (#1490640)
plugins/enigma/composer.json
@@ -3,7 +3,7 @@
    "type": "roundcube-plugin",
    "description": "PGP Encryption for Roundcube",
    "license": "GPLv3+",
    "version": "0.3",
    "version": "0.4",
    "authors": [
        {
            "name": "Aleksander Machniak",
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);