[Mew-dist 04507] mew-pgp.el bug report

Minoru Matsumura matsu at example.com
1998年 5月 5日 (火) 20:40:57 JST


松村と申します。

いつもMewを愛用させて頂いております。
MewをPGP5で使用するようになって、次のような問題が生じました。

◆症状1

暗号化したメールを受取人が復号できない

◆発現環境

PGP5を使用できるversion(1.93b26とb29(im-83)で確認)
使用OS: FreeBSD 2.2.5R

◆原因

メールを送る本人の公開鍵で暗号化したセッション鍵しか付加されておらず、
受取人の公開鍵で暗号化したセッション鍵が付加されない。
(もちろん、受取人の公開鍵は所有していて)
そのため、メールを出した本人は復号できるのだが、受け取った人は
復号できない。
これは、pgpeコマンドに対するuser-idの与え方に問題があることがわかった。

■症状2

鍵を持っていないユーザー宛に出すメールを暗号化しても
No his/her public key.
と言ってくれない。

■発現環境

同上

■原因

user-idリストに一人でも鍵を持っている人がいると(この場合本人)、
pgpeコマンドは暗号化してしまう。


そんな訳で、症状1をfixするためのpatchを作ってみました。1.93b29に対する
patchです。なにしろ、e-lispなぞ書いたことのない人間が、一晩マニュアルと
首っ引きになって作ったものなので、色々と問題があるかも知れませんが、
取り敢えずは動作するようになっています。症状2は相変わらずですが、
これも解決する、より良いpatchをどなたか作成されることを望んでいます。

-- 
松村 稔 (Minoru Matsumura)		matsu at example.com
DIA Consultants Co.,Ltd.		Phone: +81-3-3986-8447
Tokyo, Japan				Fax:   +81-3-3986-5190
-------------- next part --------------
*** mew-pgp.el.orig	Tue May  5 03:15:38 1998
--- mew-pgp.el	Tue May  5 03:11:15 1998
***************
*** 206,212 ****
        (write-region (point-min) (point-max) file2  nil 'no-msg)
        (setq file3 (concat (mew-make-temp-name) mew-pgp-ascii-suffix))
        (mew-set-buffer-tmp)
!       (if mew-use-pgp5 (setq decrypters (cons "-r" decrypters)))
        (apply (function call-process) 
  	     mew-prog-pgpe nil t nil
  	     mew-prog-pgpe-arg
--- 206,222 ----
        (write-region (point-min) (point-max) file2  nil 'no-msg)
        (setq file3 (concat (mew-make-temp-name) mew-pgp-ascii-suffix))
        (mew-set-buffer-tmp)
!       (if mew-use-pgp5
!         (let (optlist N i)
!           (setq optlist ())
!           (setq N (length decrypters))
!           (setq i 0)
!           (while (< i N)
!              (setq optlist (cons "-r" (cons (nth i decrypters) optlist)))
!              (setq i (+ i 1)))
!           (setq decrypters (append optlist ()))
!         )
!       )
        (apply (function call-process) 
  	     mew-prog-pgpe nil t nil
  	     mew-prog-pgpe-arg


Mew-dist メーリングリストの案内