On 07/08/2009 Maximilien Cuony [The_Glu] wrote:
> I'm for the second solution. As roundcube already handle encrypted mail (to 
> display an error), why not patch the core who, if an encryption plugin is 
> available, use it ?

ok, but i suggest to implement it the following way:

at the very start of parse_structure(), parse the message/mime_part for
encrypted/signed content (both mime and inline), if appropriative verify
signature or decrypt encrypted data, and send the result back to a new
instance of parse_structure() recursively. afterwards stop the
functions.

i.e.

function parse_structure($structure, $recursive = false)
{
    $message_ctype_primary = strtolower($structure->ctype_primary);
    $message_ctype_secondary = strtolower($structure->ctype_secondary);
    if (is_signed($structure)) {
        $structure_new = verify($structure);
        parse_structure($structure_new, true);
        return;
    else if (is_encrypted($structure)) {
        $structure_new = decrypt($structure);
        parse_structure($structure_new, true);
        return;
    }


    [ rest of parse_structure() ]

    [ handle encrypted attachments later ]
}

in my eyes that is the most elegant way to support wrapped mime
parts/signatures etc. inside encrypted messages. i.e. one could receive
an encrypted message with the following structure:


Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
        boundary="foobar"
Content-Disposition: inline

--foobar
Content-Type: application/pgp-encrypted
Content-Disposition: attachment

Version: 1

--foobar
Content-Type: application/octet-stream
Content-Disposition: inline; filename="msg.asc"

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.9 (GNU/Linux)

[...]
-----END PGP MESSAGE-----

--foobar--


and the encrypted msg.asc then contains the following structure:

Content-Type: multipart/mixed; boundary="barfoo"

--barfoo
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

[some text message]

--barfoo
Content-Type: message/rfc822
MIME-Version: 1.0

[lot's of headers]
Content-Type: text/html;
  charset=us-ascii
Content-Transfer-Encoding: 7bit

[some html message]

--barfoo
Content-Type: message/rfc822
MIME-Version: 1.0

[lot's of headers]
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

[some second text message]
--barfoo--

greetings,
 jonas



 --- 8< --- detachments --- 8< ---
 The following attachments have been detached and are available for viewing.
  http://detached.gigo.com/rc/r3/jkxEhCoZ/signature.asc
 Only click these links if you trust the sender, as well as this message.
 --- 8< --- detachments --- 8< ---

_______________________________________________
List info: http://lists.roundcube.net/dev/

Reply via email to