From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Moving files from lisp/gnus/ to lisp/net/? Date: Fri, 02 Nov 2007 11:02:36 -0400 Message-ID: References: <2366.81.51.30.174.1098020712.squirrel@yxa.extundo.com> Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1194015844 16489 80.91.229.12 (2 Nov 2007 15:04:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 2 Nov 2007 15:04:04 +0000 (UTC) Cc: emacs-devel@gnu.org To: Simon Josefsson Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 02 16:04:06 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Iny46-0002up-GP for ged-emacs-devel@m.gmane.org; Fri, 02 Nov 2007 16:04:06 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Iny3w-0001gF-Lc for ged-emacs-devel@m.gmane.org; Fri, 02 Nov 2007 11:03:56 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Iny2i-0008F7-HU for emacs-devel@gnu.org; Fri, 02 Nov 2007 11:02:40 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Iny2h-0008EF-6z for emacs-devel@gnu.org; Fri, 02 Nov 2007 11:02:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Iny2h-0008Ds-4D for emacs-devel@gnu.org; Fri, 02 Nov 2007 11:02:39 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Iny2g-0005Df-C7 for emacs-devel@gnu.org; Fri, 02 Nov 2007 11:02:38 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.60) (envelope-from ) id 1Iny2e-0003Ix-Pb; Fri, 02 Nov 2007 11:02:36 -0400 In-reply-to: (message from Simon Josefsson on Mon, 25 Oct 2004 16:13:56 +0200) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:82357 Archived-At: Here's what I said about read-passwd and password.el in 2004. Setting aside what I said about the short term, the main issue seems to be whether to cache passwords. Simon, what do you think about this now? What do others think? First message: It occurs to me that paranoid people might be worried about saving passwords in a cache like this. What do people know about that issue? The text added to the manual is clear enough. I have some issues about the substance: -- Function: read-passwd prompt &optional confirm default This function reads a password, prompting with PROMPT. It does not echo the password as the user types it; instead, it echoes `.' for each character in the password. This ought to use the cache now, but the text does not say so. (Later): It looks like all you did was move read-passwd into password.el without changing it. What I suggested was to integrate read-passwd into this file--which means, make it use the cache. There is no sense in moving read-passwd into the new file without making it use the new file's facilities. That change only causes password.el to be loaded for programs that don't use the cache. It provides no benefit. So if its definition is to remain unchanged, it should stay in subr.el where it is preloaded. But I would rather see it move to password.el and *take advantage of the facilities of password.el*. Can this be done? -- Function: password-read prompt key Read a password from the user, using `read-passwd', prompting with PROMPT. If a password has been stored in the password cache, using `password-cache-add' on the same KEY, it is returned directly, without querying the user. Once read-passwd uses the cache, won't password-read be obsolete? Why have both password-read and password-read-and-add? Why not always add? Is the idea that for some purposes it is ok to cache, but for others it is too risky? Second message: Other applications typically ask the user whether they want to remember the password in memory. If read-passwd is changed to cache passwords (however, to use the cache, callers of read-passwd must be updated, to provide the "key" into the hash table), it could ask the user this. Opinions on this welcome. Having it always ask would be too annoying, I think. So that would need to be a new argument, which means the feature is no benefit unless we change the callers. That is the wrong thing to do at present. So I think we should put read-passwd back where it was and remove the new file for now. Looking ahead to the future, > Why have both password-read and password-read-and-add? > Why not always add? Is the idea that for some purposes > it is ok to cache, but for others it is too risky? No, the reason was this: if the user entered an incorrect password, it should not be cached. If an incorrect password is cached, the code might infloop trying the incorrect password automatically over and over again. It was considered safer to first read the password, then try to use it, and if successful then it is cached. In that case, password-read-and-add makes no sense, right? Why add a shortcut that in best practice should not be used? I'm not sure my argument is good, it may be simpler to always cache, and have the calling code invoke password-cache-remove whenever there is a password failure. That is a reasonable alternative, I guess, but then password-read should add the password and we should not have password-read-and-add as a separate entry point. But it doesn't make sense to discuss this without dealing with the question of whether caching of correct passwords is desirable.