<<< Date Index >>>     <<< Thread Index >>>

ARGH! Mutt 1.5. breaks attachments behind my back



Hi,

I found an annoying bug in mutts attachment handling which took me 2
days to debug.

Whenever you attach a file of content-type "application/pgp", mutt
re-encodes every 0x0a in the file into 0x0d 0x0a before base64-encoding
and sending it.

The bug is not easily noticed, because if you save this attachment from
within mutt, it reverses this transformation.

You can easily reproduce this:

echo 0: f00df00af00d0a | xxd -r > test.src
cp test.src test.bin
cp test.src test.pgp
mutt your@xxxxxxx
interactively attach "test.bin" and "test.pgp", for "test.pgp" make sure
that the content-type is "application/pgp" -- if not, change it by using
control-T.
Send the email (to yourself)
rm test.bin test.pgp

Open the received email in thunderbird(or any other mail-client besides
mutt) and save both attachments

run "openssl md5 test.*"

| karoshi:~>openssl md5 test.*   
| MD5(test.bin)= 5937882f7a1431c4751d80d22dd4d2f4
| MD5(test.pgp)= c4ee0efbf416a7394681d01b96a0126a
| MD5(test.src)= 5937882f7a1431c4751d80d22dd4d2f4

the "application/pgp" file is clearly modified.

The interesting point is. If you use mutt to save the attachments again,
thy appear unmodified because mutt reverses the newline-encoding on
saving.

Note that mutt 1.4 doesn't do this (as far as I've tested)

CU,
    Sec
-- 
It is not necessary to change. Survival is not mandatory.
        -- W. Edwards Deming