pgg-pgp* bug
Takanori Saneto
sanewo @ ba2.so-net.ne.jp
2000年 10月 19日 (木) 22:15:53 JST
remi_14 branch を使っていますが、pgp を使ってみようとしたところ、
decrypt はできるのに、signature の verify ができない(lookup-key が nil
を返す)という現象に遭遇しました。
呼ばれる pgp コマンドに wrapper をかけて引数や環境変数を調べてみると、
どうやら PGPPASSFD が定義されているのが悪いようです。ソースを見てみる
と、(setenv "PGPPASSFD" "0") などとしていますが、これは decript や
sign の時だけです。が、よく考えると、setenv は process-environment の
中身を書き換えてしまうため、これがそのあとに呼ばれる lookup-key など
に影響してしまっているようです。
というわけで、以下のようなパッチをあてたら、ちゃんと動くようになりまし
た。ちなみに、mime-mc.el でも setenv を使っていますが、ここではすでに
同様の処置がされているようです。
2000-10-19 Takanori Saneto <sanewo @ ba2.so-net.ne.jp>
* pgg-pgp.el (pgg-pgp-process-region): bind process-environment
locally so that setenv's effect won't last forever.
pgg-pgp5.el (pgg-pgp5-process-region): Ditto.
Index: pgg-pgp.el
===================================================================
RCS file: /cvs/root/semi/Attic/pgg-pgp.el,v
retrieving revision 1.1.4.4
diff -u -r1.1.4.4 pgg-pgp.el
--- pgg-pgp.el 2000/02/23 14:17:52 1.1.4.4
+++ pgg-pgp.el 2000/10/19 12:44:51
@@ -76,6 +76,7 @@
(list (concat "2>" errors-file-name))))
(shell-file-name pgg-pgp-shell-file-name)
(shell-command-switch pgg-pgp-shell-command-switch)
+ (process-environment process-environment)
(output-buffer pgg-output-buffer)
(errors-buffer pgg-errors-buffer)
(process-connection-type nil)
Index: pgg-pgp5.el
===================================================================
RCS file: /cvs/root/semi/Attic/pgg-pgp5.el,v
retrieving revision 1.1.4.4
diff -u -r1.1.4.4 pgg-pgp5.el
--- pgg-pgp5.el 2000/02/23 14:17:52 1.1.4.4
+++ pgg-pgp5.el 2000/10/19 12:44:51
@@ -91,6 +91,7 @@
(list (concat "2>" errors-file-name))))
(shell-file-name pgg-pgp5-shell-file-name)
(shell-command-switch pgg-pgp5-shell-command-switch)
+ (process-environment process-environment)
(output-buffer pgg-output-buffer)
(errors-buffer pgg-errors-buffer)
(process-connection-type nil)
--
さねを <URL:mailto:sanewo @ ba2.so-net.ne.jp>
More information about the Emacs-mime-ja
mailing list