emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: epg.el: epg--status-GET_LINE not working?


From: Teemu Likonen
Subject: Re: epg.el: epg--status-GET_LINE not working?
Date: Thu, 06 Jul 2017 23:05:57 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Neal H. Walfield [2017-07-06 21:29:30+02] wrote:

> At Mon, 26 Jun 2017 09:58:43 +0300, Teemu Likonen wrote:
>> Gpg is called with a command-line like this:
>> 
>>     GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 /usr/bin/gpg
>>     --no-tty --status-fd 1 --yes --use-agent --command-fd 0 --output
>>     /tmp/epg-output983w_C --verify -- /tmp/epg-signature9839JJ -
>> 
>> Note that "--command-fd 0" expects interactive commands from the file
>> descriptor 0 (standard input). Such commands are handled by
>> epg--status-GET_LINE function which is triggered when "--status-fd 1"
>> output contains GET_LINE command. But also note the "-" at the end of
>> the command line. It means that the message contents is also being
>> received from the file descriptor 0 (standard input). Getting both
>> the message's contents and --command-fd's GET_LINE input from
>> stardard input stream doesn't work, or so it seems in my tests.
>
> If you type in 'a' at the minibuffer prompt (for accept once), does
> epg continue?  It does for me.

Sometimes. This works:

    M-x epa-verify-file RET signature-file.asc RET

I get tofu.conflict minibuffer prompt, can answer (e.g., "a") and gpg
behaves correctly (accepts once).

But this doesn't work:

    M-x epa-verify-region RET

I get the same minibuffer prompt but my input doesn't seem to matter.
*Messages* buffer always says:

    error in process filter: epg--status-GET_LINE: Process epg not running
    error in process filter: Process epg not running

Also, verifying a message in Gnus does the same. I get the minibuffer
prompt but *Messages* buffer always says:

    error in process filter: epg--status-GET_LINE: Process epg not running
    error in process filter: Process epg not running

And *epg-debug* buffer:

    GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 /usr/bin/gpg
    --no-tty --status-fd 1 --yes --use-agent --command-fd 0 --output
    /tmp/epg-output9534QZ --verify -- /tmp/epg-signature953Fbf -

    [...]

    [GNUPG:] GET_LINE tofu.conflict
    [GNUPG:] GOT_IT
    [GNUPG:] GET_LINE tofu.conflict
    [GNUPG:] GOT_IT
    [GNUPG:] GET_LINE tofu.conflict
    [GNUPG:] GOT_IT
    [GNUPG:] GET_LINE tofu.conflict


I'm using Gpg 2.1.18 and Emacs 25.1, both as packaged in Debian 9.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]