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

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

Date: Mon, 16 May 2022 18:17:53 +0200

To: David Bremner, notmuch@notmuchmail.org

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

From: Alexander Adolf


Hello David,

admittedly being unfamiliar with the test suite, and not being able to
run the tests at my end, this is a bit of a head scratcher for me. Thus
up-front apologies, and thanks for bearing with me!

David Bremner <david@tethera.net> writes:

> [...]
> It seems that it is mostly working, but there are a few issues to iron out.
>
> The first is easy, I think. Since we added a message to the crypto
> corpus, we need to adjust the tests. I think it is fine to just add
> the new message to the failing test output, as in the diff below.
>
> T357-index-decryption: Testing indexing decrypted mail
>  FAIL   indexing message fails when secret key not available
> 	--- T357-index-decryption.31.expected	2022-04-13 23:15:02.258922959 +0000
> 	+++ T357-index-decryption.31.output	2022-04-13 23:15:02.258922959 +0000
> 	@@ -1,5 +1,6 @@
> 	 #= simple-encrypted@crypto.notmuchmail.org index.decryption=failure
> 	 #notmuch-dump batch-tag:3 config,properties,tags
> 	++encrypted +inbox +unread -- id:575ddaaf0b234fd85e077cfb4d44d467@notmuchmail.org
> 	 +encrypted +inbox +unread -- id:basic-encrypted@crypto.notmuchmail.org
> 	 +encrypted +inbox +unread -- id:encrypted-rfc822-attachment@crypto.notmuchmail.org
> 	 +encrypted +inbox +unread -- id:encrypted-signed@crypto.notmuchmail.org

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)?

> T450-emacs-show: Testing emacs notmuch-show view
>  BROKEN show encrypted rfc822 message
> !!! Bodypart handler `notmuch-show-insert-part-*/*' threw an error:
> !!! Symbol’s value as variable is void: gnus-newsgroup-charset
>  FAIL   process cryptographic MIME parts (S/MIME)
> 	--- T450-emacs-show.21.notmuch-show-smime-encrypted-signed-multipart	2022-04-13 23:15:11.267167711 +0000
> 	+++ T450-emacs-show.21.OUTPUT	2022-04-13 23:15:11.267167711 +0000
> 	@@ -1,4 +1,4 @@
> 	-test_suite@notmuchmail.org (0 mins. ago) (encrypted inbox)
> 	+test_suite@notmuchmail.org (Yest. 14:57) (encrypted inbox)
>
> If you set notmuch-show-relative-dates to to nil, something like, with
> maybe better indentation:
>
> -test_emacs '(let ((notmuch-crypto-process-mime t))
> +test_emacs '(let ((notmuch-crypto-process-mime t)
> +          (notmuch-show-relative-dates nil))
>
> Then you will get an actual date that you can hard code.

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.

> 	 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?

> 	 [ 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?
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: