Re: [PATCH] emacs/smime: render decrypted MIME entities in notmuch-show

Subject: Re: [PATCH] emacs/smime: render decrypted MIME entities in notmuch-show

Date: Wed, 18 May 2022 07:29:03 -0300

To: Alexander Adolf, notmuch@notmuchmail.org

Cc: Daniel Kahn Gillmor, michaeljgruber+grubix+git@gmail.com

From: David Bremner


Alexander Adolf <alexander.adolf@condition-alpha.com> writes:


>
> Ok, I have added the line as you suggest. I was wondering though, as in
> principle the secret key of test_suite@notmuchmail.org could be
> available (it's in the key-ring at least)?

Yes, it's added to the test suite's temporary keyring. One of the
messages in test/corpora/crypto is not encrypted to that key though.

$ for file in *; do 
echo $file      
gpg < $file |& grep encrypted; echo
done

basic-encrypted.eml
gpg: encrypted with 1024-bit RSA key, ID C44D36DEAD54AB16, created 2011-02-05

encrypted-rfc822-attachment
gpg: encrypted with 4096-bit RSA key, ID 70E3C0DE87068451, created 2019-06-08
gpg: encrypted with 1024-bit RSA key, ID C44D36DEAD54AB16, created 2011-02-05

encrypted-signed.eml
gpg: encrypted with 1024-bit RSA key, ID C44D36DEAD54AB16, created 2011-02-05

simple-encrypted
gpg: encrypted with 4096-bit RSA key, ID 3B7AA7F014E69B5A, created 2016-12-21



> It seems this refers to the very first line of the expected output? I
> have updated the expected file to use an absolute date, and the test
> script to set notmuch-show-relative-dates to nil as you suggest.
>

Yes, it's referring to the first line of output.

>> 	 Subject: notmuch-show S/MIME test
>> 	 To: test_suite@notmuchmail.org
>> 	 Date: Tue, 12 Apr 2022 16:57:30 +0200
>> 	@@ -6,10 +6,10 @@
>> 	 [ smime.p7m: application/pkcs7-mime ]
>> 	 [ Decryption successful ]
>> 	 [ multipart/signed ]
>> 	-[ Good signature by: <test_suite@notmuchmail.org> ]
>> 	+[ Good signature by: test_suite@notmuchmail.org ]
>>
>> This is exactly the problem we just dealt with for T355-smime.
>
> T357?
>
>> I think the same solution can be applied, but you will need to inline
>> the output so that you can do variable substitution.
>
> I'm lost on what you're suggesting/expecting for this one. Remove the
> angle brackets from the "Good signature" line of the expected file?

Have a look at commit 8723e707c15f7b435f07f5d5ea693496bb9769bb, in
particular the lines

if [ $NOTMUCH_GMIME_EMITS_ANGLE_BRACKETS == 1 ]; then
   EXPECTED_EMAIL_ADDR='<test_suite@notmuchmail.org>'
else
   EXPECTED_EMAIL_ADDR='test_suite@notmuchmail.org'
fi

Then you can use $EXPECTED_EMAIL_ADDR in the expected output. This means
you'll have to generate the expected output rather than hard coding it
in a file. To pick some examples at random, you can see how to do
something similar on lines 157 and 222 of T035-read-config.sh

>
>> 	 [ multipart/mixed ]
>> 	 [ multipart/mixed ]
>> 	 [ text/plain ]
>> 	 The password is "12345678". But don't tell anyone!
>> 	-[ test.dtd: application/octet-stream ]
>> 	+[ test.dtd: application/octet-stream (as application/xml-dtd) ]
>>
>> This seems related to the function
>> #'notmuch-show-get-mime-type-of-application/octet-stream, which is
>> calling (mailcap-extension-to-mime "dtd"). Probably this is hard to make
>> reproducible, so just seding away an "(as ...)" string is a reasonable
>> alternative.
>> [...]
>
> I see; unfortunate choice of MIME part. As it seems I will need to
> generate a new test message anyway, what would be a more "portable"
> part? PNG?

PNG should not be worse, but the output might still need postprocessing
to avoid variation.
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: