Just my 2c about patch. It would be great if all detection of inline ---SIGNED--- and ---ENCRYPTED--- messages is moved to hooks. Thus we can implement both S/MIME and PGP support as pure plugins without RC core even knows about possible encryption mechs.
in other words, the message is given to the crypt hook at beginning of parse_structure(), and the plugin does all parsing for encryption and/or signing?
No, I meant that plugin should somehow (with that regext f.e.) detect that message is encrypted/signed with appropriate mech and inform core that it should be processed in a specific way.
i understand your argument, but the drawback is that mime parsing needs to be reimplemented in the plugin. for example openpgp/mime encoded mails may contain encrypted and unencrypted parts, and possibly encrypted parts then again may contain random new (mime) parts.
the plugin code would need to parse all mime parts of the message for encryption and/or signatures, decrypt and/or verify accordingly and fill $part->body with the result. pase_structure() then should check for set $part->body everytime before fetching the message body content from the IMAP server.
i'm happy to implement it that way in parse_structure() in case we agree on this implementation.
List info: http://lists.roundcube.net/dev/