[Evolution] Evolution + GPG + MailScanner = Bad Juju...

Ok all,

        I'm cross posting this to both Evolution and MailScanner because I can
already predict the finger pointing that's naturally going to result.

        A few months ago, someone brought it to my attention that my GPG
signatures (messages signed only, not encrypted) where suddenly turning
up "bad".  The signature on this message will probably be "bad".  It
took some major head scratching to figure out what changed, what the
parameters where, and what the hell was happening but I think I've got
in narrowed down to some poor behavior on the part of BOTH Evolution AND
MailScanner (or a component of MailScanner - not sure).

        It seems to have initially broken with an upgrade to MailScanner.  I
think upgrading to 4.47.4-2 or there abouts might have been the
triggering event, but I don't remember what I was running on that server
prior to that.  Before then, all my signatures GPG signatures were good.
After, they were bad.  If I turn off MailScanner on my server, the
signatures are good.  I have accounts on several servers and the
signatures are bad if I forward mail through one running a recent
version of MailScanner.  I just upgraded one of my servers to 4.50.5-12
and now I've got bad signatures through that server as well (I wasn't
running MailScanner on that one before).

        But, that doesn't get Evolution off the hook.  It's only happening for
messages that I'm composing in Evolution!  If I compose them in Mutt or
vi a text file and send it, everything is fine.  Also, my saved copies
in the Evolution sent box is fine.

        Sooo...  I compare what was saved in the "sent" box with what was
received with a bad signature...  What was the difference?  Carriage
Returns!  Evolution is terminating lines with CR-LF when composing a
message.  MailScanner is removing the CR and leaving the LF.
Apparently, Evolution called gpg in binary mode to create the signature.
Modifying even the line termination then breaks the signature.

        No other mailer I use generates the DOS/Windows line termination, they
all end lines with *NIX convention of LF only (no I haven't tried
ThunderBird or KMail or other GUI client as yet).

        1) Why must we be adding extraneous CR on text messages?  Is this
REALLY necessary?

        2) Why is MailScanner reformating my messages and stripping the CR's?
That's not merely appending a "scanned by".  That's modifying the body
of the messages itself.  Now, maybe it's the way MailScanner is parsing
and reassembling the Mime parts, I don't know there.  But it should not
do ANYTHING that's going to break a signature.  That's verboden.

        3) Why is GPG signing the message in text mode instead of binary mode?
We can go round and round on the merits and demerits of that and get
nowhere.  Looking at my .muttrc file, Mutt uses "--textmode --clearsign"
when generating PGP/Mime signed attachments or old style signed text
message.  If you think it should be signed in text mode, that still
recurses back to an Evolution problem and the parameters that it's
calling gpg with, so it's not a gpg problem.  Unlike Mutt, I don't see
any way to alter the gpg calling parameters in Evolution (ignoring the
fact that it should just work out of the box).

        I would argue that BOTH packages are doing something wrong here.  I
don't think we should have this extra CR cruft on text but I don't think
MailScanner should be stripping it off legitimate clean messages either.
Maybe gpg should be clearsigning in text mode as well.  All I know is
that this combination does NOT work.  Fixing any of the three points
would fix the immediate breakage, but, maybe, we should fix all three
points and really fix it, least it come back and bite us in the ass from
another direction?

        Sooo...  Can we have some discussion and comments about how to fix this
thing so GPG signatures can work with this combination?

Michael H. Warfield (AI4NB) | (770) 985-6132 |  mhw WittsEnd com
   /\/\|=mhw=|\/\/          | (678) 463-0932 |  http://www.wittsend.com/mhw/
   NIC whois: MHW9          | An optimist believes we live in the best of all
 PGP Key: 0xDF1DD471        | possible worlds.  A pessimist is sure of it!

Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]