[mew-dist 27358] Re: マスターパスワード
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2006年 10月 10日 (火) 19:37:44 JST
白井です。
# 遅ればせながら、いろんな機能を使っているところ。
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 26991] マスターパスワード
Message-ID: <20060523.164252.122215468.kazu at example.com>
Date: Tue, 23 May 2006 16:42:52 +0900 (JST)
> マスターパスワードを実装しました。
> 以下のようにすると、使えます。
>
> (setq mew-use-master-passwd t)
> * Mew の起動時に、~/Mail/.mew-passwd.gpg がある場合は、マスターパスワー
> ドを訊かれ、それを使って .mew-passwd.gpg を復号化し、メモリー中にキャッ
> シュします。
ですが、マスタパスワードを聞かれるのを Mew の立ち上がり時ではな
くて、実際にパスワードを使うときにしたいのです。
ぼくは、良く Emacs を
% emacs -f mew -f xxx -f yyy
な感じで起動するのですが、ふと気づくと Mew で止まっちゃっていて、
xxx, yyy が動いていないのでした。ちなみに mew-auto-get => nil で
使っています。
検討よろしくです (__)
--
白井秀行 (mailto:shirai at example.com)
Index: mew-passwd.el
===================================================================
RCS file: /cvsmew/mew/mew-passwd.el,v
retrieving revision 1.9
diff -u -r1.9 mew-passwd.el
--- mew-passwd.el 9 Jul 2006 06:13:52 -0000 1.9
+++ mew-passwd.el 10 Oct 2006 10:31:07 -0000
@@ -64,7 +64,12 @@
(if mew-passwd-timer-id (cancel-timer mew-passwd-timer-id))
(setq mew-passwd-timer-id
(mew-timer (* mew-passwd-timer-unit 60) 'mew-passwd-timer)))
- (when (and mew-use-master-passwd (eq mew-pgp-ver 3))
+ (when (and (eq mew-use-master-passwd t) (eq mew-pgp-ver 3))
+ (mew-passwd-setup-master)))
+
+(defun mew-passwd-setup-master ()
+ (when (and (not mew-passwd-master)
+ mew-use-master-passwd (eq mew-pgp-ver 3))
(let ((file (expand-file-name mew-passwd-file mew-conf-path)))
(if (file-exists-p file)
(setq mew-passwd-alist (mew-passwd-load))
@@ -105,15 +110,17 @@
(defun mew-input-passwd (prompt key)
(if (and key (or mew-use-cached-passwd mew-use-master-passwd))
- (if (mew-passwd-get-passwd key)
- (progn
- (mew-timing)
- (if mew-passwd-reset-timer (mew-passwd-set-counter key 0))
- (mew-passwd-get-passwd key))
- (let ((pass (mew-read-passwd prompt)))
- (mew-passwd-set-passwd key pass)
- (mew-passwd-set-counter key 0)
- pass))
+ (progn
+ (mew-passwd-setup-master)
+ (if (mew-passwd-get-passwd key)
+ (progn
+ (mew-timing)
+ (if mew-passwd-reset-timer (mew-passwd-set-counter key 0))
+ (mew-passwd-get-passwd key))
+ (let ((pass (mew-read-passwd prompt)))
+ (mew-passwd-set-passwd key pass)
+ (mew-passwd-set-counter key 0)
+ pass)))
(mew-read-passwd prompt)))
(defun mew-read-passwd (prompt)
Index: mew-vars.el
===================================================================
RCS file: /cvsmew/mew/mew-vars.el,v
retrieving revision 1.295
diff -u -r1.295 mew-vars.el
--- mew-vars.el 4 Oct 2006 04:31:46 -0000 1.295
+++ mew-vars.el 10 Oct 2006 10:31:07 -0000
@@ -1625,7 +1625,9 @@
(defcustom mew-use-master-passwd nil
"*if non-nil, a master password is used."
:group 'mew-privacy
- :type 'boolean)
+ :type '(choice (const :tag "Use master password, asked initializing" t)
+ (const :tag "Use master password, asked first used" firsttime)
+ (const :tag "No use master password" nil)))
(defcustom mew-use-8bit nil
"*If non-nil, the 8bit-clean charset mechanism is used for 8bit
Mew-dist メーリングリストの案内