On Sat 2017-11-11 15:14:03 -0800, Jameson Graef Rollins wrote: > On Wed, Oct 25 2017, Daniel Kahn Gillmor wrote: >> diff --git a/util/crypto.h b/util/crypto.h >> index b23ca747..dc95b4ca 100644 >> --- a/util/crypto.h >> +++ b/util/crypto.h >> @@ -16,7 +16,8 @@ typedef struct _notmuch_crypto { >> } _notmuch_crypto_t; >> >> GMimeObject * >> -_notmuch_crypto_decrypt (notmuch_message_t *message, >> +_notmuch_crypto_decrypt (notmuch_decryption_policy_t decrypt, >> + notmuch_message_t *message, >> GMimeCryptoContext* crypto_ctx, >> GMimeMultipartEncrypted *part, >> GMimeDecryptResult **decrypt_result, > > Why does _notmuch_crypt_decrypt need to have > "notmuch_decryption_policy_t decrypt" as an input argument? Isn't > notmuch_decryption_policy_t already an attribute of the crypto_ctx? Is > there some situation where the policy would differ from what's specified > in the crypto_ctx? crypto_ctx here is just a GMimeCryptoContext, which doesn't know anything about notmuch_decryption_policy_t. Maybe i'm misunderstanding your question? I'd be happy to streamline the interface to this internal function, but given that it's not an exported API, i'm not as concerned about things like future cleanliness -- the notmuch source contains all invocations of the function anywhere, so if we find a nicer way to streamline it in the future, we can do that cleanup across the codebase in a single commit. Thanks for the review! --dkg