Subject: Re: bug#15552: 24.3.50; epa-file-cache-passphrase-for-symmetric-encryption not respected with GnuPG 2.x

From: Stefan Monnier <[email-masked]>
Date: Tue, 08 Oct 2013 13:17:40 -0400

>>>> 1. On the local system, install GnuPG 2.x and don't run the gpg-agent
>>>> 2. Set epa-file-cache-passphrase-for-symmetric-encryption to t
>>>> 3. Open file.gpg: password dialog pops up
>>>> 4. close file.gpg
>>>> 5. Open file.gpg: password dialog pops up again
>>>> Step (5) should not prompt.  It works properly with GnuPG 1.x.
>>> That's intended behavior.
>> Could you give the rationale for it?
> When gpg-agent is not properly set up as a daemon, gpg2 invokes
> gpg-agent internally for each session.  In the above case, there are two
> gpg2 sessions (two "Open") and thus there are two gpg-agent processes,
> which don't share the passphrase.

That explains technically why gpg prompts twice, but it doesn't indicate
that this implementation was designed specifically so that step
5 prompts again.  I.e. it's not "intended behavior", but rather
"expected behavior" due to implementation choices.

Still I'm confused: what kind of caching does
epa-file-cache-passphrase-for-symmetric-encryption offer, then?
>From the docstring I got the impression that it would cache the
passphrase in Emacs's heap, so gpg's own caching should be largely
irrelevant (in the second session it will prompt for a password, which
Emacs should provide from its own cache without prompting the user).

        Stefan "Also confused about what "symmetric" has to do with it"