[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
keys are sometimes not removed from pgg's password cache
From: |
Andreas Vögele |
Subject: |
keys are sometimes not removed from pgg's password cache |
Date: |
Sat, 15 Jul 2006 21:31:39 +0200 |
Keys, e.g. email addresses, that are longer than 16 characters will
not be properly removed from pgg's password cache.
You can verify this problem by evaluating the following expressions:
(require 'pgg)
(setq pgg-cache-passphrase t
pgg-passphrase-cache-expiry 4)
(pgg-add-passphrase-to-cache "xxxxxxxx123456789" "foo")
pgg-pending-timers
; -> [0 \123456789 0 0 0 0 0]
If you check pgg-pending-timers repeatedly you'll see that the timer
won't be removed and that the password can still be retrieved from the
cache after 4 seconds:
(pgg-read-passphrase-from-cache "xxxxxxxx123456789")
; -> "foo"
The key can be deleted manually though:
(pgg-remove-passphrase-from-cache "xxxxxxxx123456789")
According to pgg.el "keys are truncated to 8 trailing characters
unless NOTRUNCATE is true". But actually the macro
pgp-truncate-key-identifier in pgg-def.el doesn't truncate keys.
Instead the first eight characters are removed from the key:
(pgg-truncate-key-identifier "xxxxxxxx123456789")
; -> "123456789"
The macro is defined as follows:
(defmacro pgg-truncate-key-identifier (key)
`(if (> (length ,key) 8) (substring ,key 8) ,key))
I think the second argument to substring should be -8 instead
of 8:
(defmacro pgg-truncate-key-identifier (key)
`(if (> (length ,key) 8) (substring ,key -8) ,key))
I don't know why keys mustn't be longer than 8 characters. But the
fix above solved my problem.
Kind regards,
Andreas
In GNU Emacs 22.0.50.2 (i386-unknown-openbsd3.9, X toolkit)
of 2006-07-09 on hermes.voegele.dyndns.org
X server distributor `The X.Org Foundation', version 11.0.60900000
configured using `configure '--localstatedir=/var' '--without-gif'
'--prefix=/usr/local' '--sysconfdir=/etc' 'CC=cc' 'CFLAGS=-O2 -pipe'
'LDFLAGS=-L/usr/local/lib''
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: nil
locale-coding-system: nil
default-enable-multibyte-characters: t
Major mode: Emacs-Lisp
Minor modes in effect:
desktop-save-mode: t
show-paren-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
Recent input:
<up> <up> C-x C-e <down> <down> $ <right> C-x C-e <down>
<down> <down> <down> <down> <down> <down> $ <right>
C-x C-e <down> C-x C-e C-x C-e M-x r e p <tab> o <tab>
r t <tab> <return>
Recent messages:
Loading dired...done
Desktop: 7 buffers restored.
For information about the GNU Project and its goals, type C-h C-p.
pgg
"123456789"
[nil 17593 14785 292644 nil pgg-remove-passphrase-from-cache ("123456789" nil)
nil]
[0 \123456789 0 0 0 0 0]
[0 \123456789 0 0 0 0 0]
Making completion list... [2 times]
Loading emacsbug...done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- keys are sometimes not removed from pgg's password cache,
Andreas Vögele <=