GNU bug report logs - #7931
23.2; easypg encryption fails when multiple encryption subkeys exist, and one is expired

Previous Next

Package: emacs;

Reported by: David Bremner <bremner <at> debian.org>

Date: Fri, 28 Jan 2011 07:02:01 UTC

Severity: normal

Found in version 23.2

Done: Daiki Ueno <ueno <at> unixuser.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 7931 in the body.
You can then email your comments to 7931 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7931; Package emacs. (Fri, 28 Jan 2011 07:02:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Bremner <bremner <at> debian.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 28 Jan 2011 07:02:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: David Bremner <bremner <at> debian.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2;
	easypg encryption fails when multiple encryption subkeys exist, and
	one is expired
Date: Thu, 27 Jan 2011 17:43:39 -0400
[Message part 1 (text/plain, inline)]
0) gpg --recv-key  $KEYID  where $KEYID is a GPG key you will use in
   with multiple encryption subkeys, one of which is expired, but not
   revoked.

1) start emacs -Q

2) select a region

3) run epa-encrypt region, and select a GPG key with multiple encryption
   subkeys, one of which has expired.  At the moment, you can use
   762B57BB784206AD 

----------------------------------------------------------------------
Backtrace:

Debugger entered--Lisp error: (error "Encrypt failed: ((key-expired (expiration-time 19586 . 10626)) (key-expired (expiration-time 19586 . 10626)))")
  signal(error ("Encrypt failed: ((key-expired (expiration-time 19586 . 10626)) (key-expired (expiration-time 19586 . 10626)))"))
  error("Encrypt failed: %S" ((key-expired (expiration-time 19586 . 10626)) (key-expired (expiration-time 19586 . 10626))))
  epg-encrypt-string((epg-context . [OpenPGP t t nil nil nil nil (epa-passphrase-callback-function) (epa-progress-callback-function . "Encrypting...") nil nil #<process epg> "/tmp/epg-output18334-Qe" (...) encrypt]) "top-sekrit" ((epg-key . [ultimate ... ...])) nil)
  epa-encrypt-region(192 202 ((epg-key . [ultimate ... ...])) nil nil)
  call-interactively(epa-encrypt-region t nil)
  execute-extended-command(nil)
  call-interactively(execute-extended-command nil nil)

----------------------------------------------------------------------

Contents of buffer *epg*


Process epg finished
[GNUPG:] KEYEXPIRED 1283598722
[GNUPG:] SIGEXPIRED deprecated-use-keyexpired-instead
[GNUPG:] KEYEXPIRED 1283598722
[GNUPG:] SIGEXPIRED deprecated-use-keyexpired-instead
[GNUPG:] PROGRESS stdin ? 0 0
[GNUPG:] BEGIN_ENCRYPTION 2 9
[GNUPG:] PROGRESS stdin ? 10 0
[GNUPG:] END_ENCRYPTION


----------------------------------------------------------------------
Analysis:

I believe that GPG actually succeeds, and EasyPG misinterprets the
output.

If turn on easypg debugging, I see a command like

 gpg --no-tty --status-fd 1 --yes --use-agent --command-fd 0 --armor --textmode --output /tmp/epg-output17589uXc --always-trust --encrypt -r 762B57BB784206AD      

This command succeeds if I run it in a shell, and produces KEYEXPIRED output




In GNU Emacs 23.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2010-12-11 on brahms, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
configured using `configure  '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_CA.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
t o p - e <backspace> s e k r i t <help-echo> <return> 
<return> <help-echo> <help-echo> <up> <up> C-SPC C-e 
M-x e p a C-g M-x t o g SPC d SPC SPC SPC e SPC <return> 
M-x e p a SPC e n SPC r SPC <return> <down> <down> 
<down> <down> <down> <down> <down> m <return> <up> 
<up> <up> <up> <tab> <return> <up> <up> <up> <up> <up> 
<up> <up> <up> C-SPC C-n C-n C-n C-n C-n C-n C-n C-n 
M-w <down-mouse-1> <mouse-1> M-x r e p o r SPC e m 
SPC b SPC <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Quit
Making completion list...
Debug on Error enabled globally
widget-button-press: Buffer is read-only: #<buffer *Keys*>
Click here or C-M-c to finish
Encrypting...0% (10/0)
Entering debugger...
Mark set

Load-path shadows:
/usr/local/share/emacs/site-lisp/notmuch hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch
/usr/local/share/emacs/site-lisp/notmuch-message hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-message
/usr/local/share/emacs/site-lisp/coolj hides /usr/share/emacs/23.2/site-lisp/notmuch/coolj
/usr/local/share/emacs/site-lisp/notmuch-mua hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-mua
/usr/local/share/emacs/site-lisp/notmuch-query hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-query
/usr/local/share/emacs/site-lisp/notmuch-wash hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-wash
/usr/local/share/emacs/site-lisp/notmuch-hello hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-hello
/usr/local/share/emacs/site-lisp/notmuch-show hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-show
/usr/local/share/emacs/site-lisp/notmuch-address hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-address
/usr/local/share/emacs/site-lisp/notmuch-maildir-fcc hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-maildir-fcc
/usr/local/share/emacs/site-lisp/notmuch-lib hides /usr/share/emacs/23.2/site-lisp/notmuch/notmuch-lib
/usr/share/emacs/23.2/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs/23.2/site-lisp/magit hides /usr/share/emacs/site-lisp/magit
/usr/share/emacs/23.2/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/23.2/lisp/textmodes/flyspell
/usr/share/emacs/23.2/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/23.2/lisp/textmodes/ispell
/usr/local/share/emacs/site-lisp/org-id hides /usr/share/emacs/23.2/lisp/org/org-id
/usr/local/share/emacs/site-lisp/org-xoxo hides /usr/share/emacs/23.2/lisp/org/org-xoxo
/usr/local/share/emacs/site-lisp/org-rmail hides /usr/share/emacs/23.2/lisp/org/org-rmail
/usr/local/share/emacs/site-lisp/org-inlinetask hides /usr/share/emacs/23.2/lisp/org/org-inlinetask
/usr/local/share/emacs/site-lisp/org-bbdb hides /usr/share/emacs/23.2/lisp/org/org-bbdb
/usr/local/share/emacs/site-lisp/org-install hides /usr/share/emacs/23.2/lisp/org/org-install
/usr/local/share/emacs/site-lisp/org-plot hides /usr/share/emacs/23.2/lisp/org/org-plot
/usr/local/share/emacs/site-lisp/org-w3m hides /usr/share/emacs/23.2/lisp/org/org-w3m
/usr/local/share/emacs/site-lisp/org-mhe hides /usr/share/emacs/23.2/lisp/org/org-mhe
/usr/local/share/emacs/site-lisp/org-publish hides /usr/share/emacs/23.2/lisp/org/org-publish
/usr/local/share/emacs/site-lisp/org-mew hides /usr/share/emacs/23.2/lisp/org/org-mew
/usr/local/share/emacs/site-lisp/org-list hides /usr/share/emacs/23.2/lisp/org/org-list
/usr/local/share/emacs/site-lisp/org-latex hides /usr/share/emacs/23.2/lisp/org/org-latex
/usr/local/share/emacs/site-lisp/org-bibtex hides /usr/share/emacs/23.2/lisp/org/org-bibtex
/usr/local/share/emacs/site-lisp/org-gnus hides /usr/share/emacs/23.2/lisp/org/org-gnus
/usr/local/share/emacs/site-lisp/org-protocol hides /usr/share/emacs/23.2/lisp/org/org-protocol
/usr/local/share/emacs/site-lisp/org-clock hides /usr/share/emacs/23.2/lisp/org/org-clock
/usr/local/share/emacs/site-lisp/org-macs hides /usr/share/emacs/23.2/lisp/org/org-macs
/usr/local/share/emacs/site-lisp/org-faces hides /usr/share/emacs/23.2/lisp/org/org-faces
/usr/local/share/emacs/site-lisp/org-compat hides /usr/share/emacs/23.2/lisp/org/org-compat
/usr/local/share/emacs/site-lisp/org-mobile hides /usr/share/emacs/23.2/lisp/org/org-mobile
/usr/local/share/emacs/site-lisp/org-remember hides /usr/share/emacs/23.2/lisp/org/org-remember
/usr/local/share/emacs/site-lisp/org-agenda hides /usr/share/emacs/23.2/lisp/org/org-agenda
/usr/local/share/emacs/site-lisp/org-ascii hides /usr/share/emacs/23.2/lisp/org/org-ascii
/usr/local/share/emacs/site-lisp/org-info hides /usr/share/emacs/23.2/lisp/org/org-info
/usr/local/share/emacs/site-lisp/org-archive hides /usr/share/emacs/23.2/lisp/org/org-archive
/usr/local/share/emacs/site-lisp/org-jsinfo hides /usr/share/emacs/23.2/lisp/org/org-jsinfo
/usr/local/share/emacs/site-lisp/org-footnote hides /usr/share/emacs/23.2/lisp/org/org-footnote
/usr/local/share/emacs/site-lisp/org-habit hides /usr/share/emacs/23.2/lisp/org/org-habit
/usr/local/share/emacs/site-lisp/org-src hides /usr/share/emacs/23.2/lisp/org/org-src
/usr/local/share/emacs/site-lisp/org-timer hides /usr/share/emacs/23.2/lisp/org/org-timer
/usr/local/share/emacs/site-lisp/org-exp-blocks hides /usr/share/emacs/23.2/lisp/org/org-exp-blocks
/usr/local/share/emacs/site-lisp/org-datetree hides /usr/share/emacs/23.2/lisp/org/org-datetree
/usr/local/share/emacs/site-lisp/org-irc hides /usr/share/emacs/23.2/lisp/org/org-irc
/usr/local/share/emacs/site-lisp/org-icalendar hides /usr/share/emacs/23.2/lisp/org/org-icalendar
/usr/local/share/emacs/site-lisp/org-html hides /usr/share/emacs/23.2/lisp/org/org-html
/usr/local/share/emacs/site-lisp/org hides /usr/share/emacs/23.2/lisp/org/org
/usr/local/share/emacs/site-lisp/org-freemind hides /usr/share/emacs/23.2/lisp/org/org-freemind
/usr/local/share/emacs/site-lisp/org-exp hides /usr/share/emacs/23.2/lisp/org/org-exp
/usr/local/share/emacs/site-lisp/org-mouse hides /usr/share/emacs/23.2/lisp/org/org-mouse
/usr/local/share/emacs/site-lisp/org-docbook hides /usr/share/emacs/23.2/lisp/org/org-docbook
/usr/local/share/emacs/site-lisp/org-crypt hides /usr/share/emacs/23.2/lisp/org/org-crypt
/usr/local/share/emacs/site-lisp/org-indent hides /usr/share/emacs/23.2/lisp/org/org-indent
/usr/local/share/emacs/site-lisp/org-mac-message hides /usr/share/emacs/23.2/lisp/org/org-mac-message
/usr/local/share/emacs/site-lisp/org-colview hides /usr/share/emacs/23.2/lisp/org/org-colview
/usr/local/share/emacs/site-lisp/org-feed hides /usr/share/emacs/23.2/lisp/org/org-feed
/usr/local/share/emacs/site-lisp/org-wl hides /usr/share/emacs/23.2/lisp/org/org-wl
/usr/local/share/emacs/site-lisp/org-vm hides /usr/share/emacs/23.2/lisp/org/org-vm
/usr/local/share/emacs/site-lisp/org-attach hides /usr/share/emacs/23.2/lisp/org/org-attach
/usr/local/share/emacs/site-lisp/org-table hides /usr/share/emacs/23.2/lisp/org/org-table

Features:
(shadow sort mail-extr message sendmail regexp-opt ecomplete rfc822 mml
mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse
rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util
netrc time-date mm-util mail-prsvr gmm-utils mailheader canlock sha1
hex-util hashcash mail-utils emacsbug debug wid-edit epa derived epg
epg-config cus-start cus-load help-mode easymenu view tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind system-font-setting font-render-setting
gtk x-toolkit x multi-tty emacs)

[Message part 2 (application/pgp-signature, inline)]

Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7931; Package emacs. (Sat, 29 Jan 2011 11:09:02 GMT) Full text and rfc822 format available.

Message #8 received at 7931 <at> debbugs.gnu.org (full text, mbox):

From: Daiki Ueno <ueno <at> unixuser.org>
To: David Bremner <bremner <at> debian.org>
Cc: 7931 <at> debbugs.gnu.org
Subject: Re: bug#7931: 23.2;
	easypg encryption fails when multiple encryption subkeys exist, and
	one is expired
Date: Sat, 29 Jan 2011 20:16:19 +0900
David Bremner <bremner <at> debian.org> writes:

> 3) run epa-encrypt region, and select a GPG key with multiple encryption
>    subkeys, one of which has expired.  At the moment, you can use
>    762B57BB784206AD 
>
> ----------------------------------------------------------------------
> Backtrace:
>
> Debugger entered--Lisp error: (error "Encrypt failed: ((key-expired (expiration-time 19586 . 10626)) (key-expired (expiration-time 19586 . 10626)))")

Thank you for the report with detail analysis!  It should be fixed now
with r103020.  I'll merge it into emacs-23 soon unless it breaks
anything.

Regards,
-- 
Daiki Ueno




Reply sent to Daiki Ueno <ueno <at> unixuser.org>:
You have taken responsibility. (Wed, 02 Feb 2011 07:49:02 GMT) Full text and rfc822 format available.

Notification sent to David Bremner <bremner <at> debian.org>:
bug acknowledged by developer. (Wed, 02 Feb 2011 07:49:02 GMT) Full text and rfc822 format available.

Message #13 received at 7931-done <at> debbugs.gnu.org (full text, mbox):

From: Daiki Ueno <ueno <at> unixuser.org>
To: 7931-done <at> debbugs.gnu.org
Subject: closing
Date: Wed, 02 Feb 2011 16:57:10 +0900



bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Mar 2011 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 191 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.