(elmo-passwd-alist-clear): Shred password before clear.
authorkaoru <kaoru>
Thu, 19 Feb 2004 19:26:05 +0000 (19:26 +0000)
committerkaoru <kaoru>
Thu, 19 Feb 2004 19:26:05 +0000 (19:26 +0000)
(elmo-remove-passwd): Remove all mached pair.

elmo/ChangeLog
elmo/elmo-util.el

index 50461b3..8a1e7ac 100644 (file)
@@ -1,6 +1,8 @@
 2004-02-19  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * elmo-util.el (elmo-string-partial-p): Removed unused function.
+       (elmo-passwd-alist-clear): Shred password before clear.
+       (elmo-remove-passwd): Remove all mached pair.
 
 2004-02-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
 
index e5d23fe..5a7a1bc 100644 (file)
@@ -418,6 +418,9 @@ Return value is a cons cell of (STRUCTURE . REST)"
 (defun elmo-passwd-alist-clear ()
   "Clear password cache."
   (interactive)
+  (dolist (pair elmo-passwd-alist)
+    (when (stringp (cdr-safe pair))
+      (fillarray (cdr pair) 0)))
   (setq elmo-passwd-alist nil))
 
 (defun elmo-passwd-alist-save ()
@@ -465,12 +468,11 @@ Return value is a cons cell of (STRUCTURE . REST)"
 (defun elmo-remove-passwd (key)
   "Remove password from password pool (for failure)."
   (let (pass-cons)
-    (if (setq pass-cons (assoc key elmo-passwd-alist))
-       (progn
-         (unwind-protect
-             (fillarray (cdr pass-cons) 0))
-         (setq elmo-passwd-alist
-               (delete pass-cons elmo-passwd-alist))))))
+    (while (setq pass-cons (assoc key elmo-passwd-alist))
+      (unwind-protect
+         (fillarray (cdr pass-cons) 0)
+       (setq elmo-passwd-alist
+             (delete pass-cons elmo-passwd-alist))))))
 
 (defmacro elmo-read-char-exclusive ()
   (cond ((featurep 'xemacs)