annotate lisp/password-cache.el @ 107427:ecbe0edc4f69

Stop message.el from loading about 40 libraries it doesn't always need. The general approach is to autoload rather than require, and to require in the specific functions rather than the file. (Bug#5642) * url/url.el: Move mailcap require earlier in the file. * gnus/gmm-utils.el: Don't require wid-edit. (widget-create-child-value, widget-convert, widget-default-get): Autoload. * gnus/gnus-util.el: Don't require time-date, netrc. (message-fetch-field, gnus-group-name-decode): Declare rather than autoloading. (gnus-fetch-field): Require message. (gnus-decode-newsgroups): Require gnus-group. * gnus/ietf-drums.el: Don't require time-date. * gnus/message.el: Don't require hashcash, canlock, ecomplete. Do require mail-utils. Require nnheader only when compiling. (smtpmail-default-smtp-server): Remove declaration. (message-send-mail-function): Check smtpmail-default-smtp-server is bound rather than requiring smtpmail. (message-auto-save-directory, message-insert-signature): Use expand-file-name rather than nnheader-concat. (nnheader-insert-file-contents): Autoload. (hashcash-wait-async): Declare. (message-send-mail): Only call gnus-setup-posting-charset if gnus-group-posting-charset-alist is bound. Require hashcash if needed. (message-send-mail-with-sendmail): Require sendmail. (canlock-password, canlock-password-for-verify): Declare. (message-canlock-password): Require canlock. (nnheader-get-report): Autoload. (gnus-setup-posting-charset): Declare. (message-send-news): Require gnus-msg. (message-make-references, message-make-in-reply-to): Use mail-header-id rather than the alias mail-header-message-id. (ecomplete-add-item, ecomplete-save): Declare. (message-put-addresses-in-ecomplete): Require ecomplete. (ecomplete-display-matches): Autoload. * gnus/mm-decode.el: Don't require mailcap, gnus-util. (gnus-map-function, gnus-replace-in-string, gnus-read-shell-command) (message-fetch-field, mailcap-parse-mailcaps, mailcap-mime-info): Autoload. (mailcap-mime-extensions): Declare. * gnus/mm-encode.el: Don't require mailcap. (mailcap-extension-to-mime): Autoload. * gnus/mml-sec.el: Don't require password-cache. * gnus/mml.el (gnus-setup-posting-charset): Declare rather than autoload. (mailcap-parse-mimetypes, mailcap-mime-types): Declare. (mml-minibuffer-read-type): Require mailcap. (mml-preview): Require gnus-msg. * gnus/mml1991.el: Require password-cache. (password-cache-expiry): Remove declaration. * gnus/mml2015.el: Require password-cache. (password-cache-expiry): Remove declaration. * gnus/nneething.el (mailcap): Require mailcap. * gnus/nnheader.el: (declare-function): Add compatibility stub. (message-remove-header): Declare rather than autoload. (nnheader-replace-header): Require message. * gnus/nnimap.el (declare-function): Add compatibility stub. (netrc-parse, netrc-machine-user-or-password): Declare. (nnimap-open-connection): Require netrc. * gnus/nntp.el (declare-function): Add compatibility stub. (netrc-parse, netrc-machine, netrc-get): Declare. (nntp-send-authinfo): Require netrc. * gnus/rfc2047.el: Don't require qp. (quoted-printable-encode-region, quoted-printable-decode-string): Autoload. * gnus/sieve-mode.el: Don't require easymenu. (easy-menu-add-item): Autoload it. * gnus/spam-stat.el (time-to-number-of-days): Autoload it. * password-cache.el (password-cache, password-cache-expiry): Autoload.
author Glenn Morris <rgm@gnu.org>
date Thu, 18 Mar 2010 19:55:37 -0700
parents 1d1d5d9bd884
children acad6349cba4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
1 ;;; password-cache.el --- Read passwords, possibly using a password cache.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
2
107427
ecbe0edc4f69 Stop message.el from loading about 40 libraries it doesn't always need.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
3 ;; Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
ecbe0edc4f69 Stop message.el from loading about 40 libraries it doesn't always need.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
4 ;; 2010 Free Software Foundation, Inc.
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
5
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
6 ;; Author: Simon Josefsson <simon@josefsson.org>
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
7 ;; Created: 2003-12-21
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
8 ;; Keywords: password cache passphrase key
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
9
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
11
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
12 ;; GNU Emacs is free software: you can redistribute it and/or modify
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
14 ;; the Free Software Foundation, either version 3 of the License, or
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
15 ;; (at your option) any later version.
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
16
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
20 ;; GNU General Public License for more details.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
21
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
24
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
25 ;;; Commentary:
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
26
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
27 ;; Greatly influenced by pgg.el written by Daiki Ueno, with timer
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
28 ;; fixes for XEmacs by Katsumi Yamaoka. In fact, this is mostly just
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
29 ;; a rip-off.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
30 ;;
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
31 ;; (password-read "Password? " "test")
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
32 ;; ;; Minibuffer prompt for password.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
33 ;; => "foo"
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
34 ;;
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
35 ;; (password-cache-add "test" "foo")
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
36 ;; => nil
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
37
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
38 ;; (password-read "Password? " "test")
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
39 ;; ;; No minibuffer prompt
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
40 ;; => "foo"
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
41 ;;
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
42 ;; (password-read "Password? " "test")
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
43 ;; ;; No minibuffer prompt
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
44 ;; => "foo"
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
45 ;;
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
46 ;; ;; Wait `password-cache-expiry' seconds.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
47 ;;
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
48 ;; (password-read "Password? " "test")
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
49 ;; ;; Minibuffer prompt for password is back.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
50 ;; => "foo"
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
51
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
52 ;;; Code:
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
53
107427
ecbe0edc4f69 Stop message.el from loading about 40 libraries it doesn't always need.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
54 ;; Options are autoloaded since they are used by eg mml-sec.el.
ecbe0edc4f69 Stop message.el from loading about 40 libraries it doesn't always need.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
55
ecbe0edc4f69 Stop message.el from loading about 40 libraries it doesn't always need.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
56 ;;;###autoload
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
57 (defcustom password-cache t
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
58 "Whether to cache passwords."
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
59 :group 'password
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
60 :type 'boolean)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
61
107427
ecbe0edc4f69 Stop message.el from loading about 40 libraries it doesn't always need.
Glenn Morris <rgm@gnu.org>
parents: 106815
diff changeset
62 ;;;###autoload
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
63 (defcustom password-cache-expiry 16
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
64 "How many seconds passwords are cached, or nil to disable expiring.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
65 Whether passwords are cached at all is controlled by `password-cache'."
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
66 :group 'password
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
67 :type '(choice (const :tag "Never" nil)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
68 (integer :tag "Seconds")))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
69
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
70 (defvar password-data (make-vector 7 0))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
71
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
72 (defun password-read-from-cache (key)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
73 "Obtain passphrase for KEY from time-limited passphrase cache.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
74 Custom variables `password-cache' and `password-cache-expiry'
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
75 regulate cache behavior."
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
76 (and password-cache
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
77 key
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
78 (symbol-value (intern-soft key password-data))))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
79
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
80 (defun password-read (prompt &optional key)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
81 "Read password, for use with KEY, from user, or from cache if wanted.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
82 KEY indicate the purpose of the password, so the cache can
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
83 separate passwords. The cache is not used if KEY is nil. It is
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
84 typically a string.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
85 The variable `password-cache' control whether the cache is used."
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
86 (or (password-read-from-cache key)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
87 (read-passwd prompt)))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
88
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
89 (defun password-read-and-add (prompt &optional key)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
90 "Read password, for use with KEY, from user, or from cache if wanted.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
91 Then store the password in the cache. Uses `password-read' and
87037
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
92 `password-cache-add'. Custom variables `password-cache' and
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
93 `password-cache-expiry' regulate cache behavior.
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
94
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
95 Warning: the password is cached without checking that it is
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
96 correct. It is better to check the password before caching. If
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
97 you must use this function, take care to check passwords and
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
98 remove incorrect ones from the cache."
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
99 (let ((password (password-read prompt key)))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
100 (when (and password key)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
101 (password-cache-add key password))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
102 password))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
103
87037
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
104 (make-obsolete 'password-read-and-add 'password-read "23.1")
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
105
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
106 (defun password-cache-remove (key)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
107 "Remove password indexed by KEY from password cache.
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
108 This is typically run be a timer setup from `password-cache-add',
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
109 but can be invoked at any time to forcefully remove passwords
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
110 from the cache. This may be useful when it has been detected
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
111 that a password is invalid, so that `password-read' query the
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
112 user again."
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
113 (let ((password (symbol-value (intern-soft key password-data))))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
114 (when password
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
115 (if (fboundp 'clear-string)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
116 (clear-string password)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
117 (fillarray password ?_))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
118 (unintern key password-data))))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
119
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
120 (defun password-cache-add (key password)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
121 "Add password to cache.
87037
f2417ea1baac (top-level): Don't require cl when compiling.
Glenn Morris <rgm@gnu.org>
parents: 87036
diff changeset
122 The password is removed by a timer after `password-cache-expiry' seconds."
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
123 (when (and password-cache-expiry (null (intern-soft key password-data)))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
124 (run-at-time password-cache-expiry nil
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
125 #'password-cache-remove
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
126 key))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
127 (set (intern key password-data) password)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
128 nil)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
129
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
130 (defun password-reset ()
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
131 "Clear the password cache."
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
132 (interactive)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
133 (fillarray password-data 0))
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
134
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
135 (provide 'password-cache)
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
136
93975
1e3a407766b9 Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 87665
diff changeset
137 ;; arch-tag: ab160494-16c8-4c68-a4a1-73eebf6686e5
87036
fcc71de0dc1c Move to here from gnus/password.el.
Glenn Morris <rgm@gnu.org>
parents:
diff changeset
138 ;;; password-cache.el ends here