emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r99498: * net/tramp.el (tramp-process


From: Michael Albinus
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r99498: * net/tramp.el (tramp-process-actions, tramp-read-passwd):
Date: Mon, 15 Feb 2010 16:04:53 +0100
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99498
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Mon 2010-02-15 16:04:53 +0100
message:
  * net/tramp.el (tramp-process-actions, tramp-read-passwd):
  * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): Use VEC
  instead of PROC for caching "first-password-request".  Otherwise,
  new processes would not profit from passwords already entered.
  
  * net/tramp-cache.el (tramp-dump-connection-properties): Don't
  save "first-password-request" property.
modified:
  lisp/ChangeLog
  lisp/net/tramp-cache.el
  lisp/net/tramp-gvfs.el
  lisp/net/tramp.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-02-14 17:28:10 +0000
+++ b/lisp/ChangeLog    2010-02-15 15:04:53 +0000
@@ -1,3 +1,13 @@
+2010-02-15  Michael Albinus  <address@hidden>
+
+       * net/tramp.el (tramp-process-actions, tramp-read-passwd):
+       * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): Use VEC
+       instead of PROC for caching "first-password-request".  Otherwise,
+       new processes would not profit from passwords already entered.
+
+       * net/tramp-cache.el (tramp-dump-connection-properties): Don't
+       save "first-password-request" property.
+
 2010-02-14  Juanma Barranquero  <address@hidden>
 
        * outline.el (outline-head-from-level):

=== modified file 'lisp/net/tramp-cache.el'
--- a/lisp/net/tramp-cache.el   2010-01-13 08:35:10 +0000
+++ b/lisp/net/tramp-cache.el   2010-02-15 15:04:53 +0000
@@ -1,7 +1,7 @@
 ;;; tramp-cache.el --- file information caching for Tramp
 
-;; Copyright (C) 2000, 2005, 2006, 2007, 2008,
-;;   2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2005, 2006, 2007, 2008, 2009,
+;;   2010 Free Software Foundation, Inc.
 
 ;; Author: Daniel Pittman <address@hidden>
 ;;         Michael Albinus <address@hidden>
@@ -295,7 +295,8 @@
              (if (and (vectorp key) (not (tramp-file-name-localname key)))
                  (progn
                    (remhash "process-name" value)
-                   (remhash "process-buffer" value))
+                   (remhash "process-buffer" value)
+                   (remhash "first-password-request" value))
                (remhash key cache)))
           cache)
          ;; Dump it.

=== modified file 'lisp/net/tramp-gvfs.el'
--- a/lisp/net/tramp-gvfs.el    2010-01-13 08:35:10 +0000
+++ b/lisp/net/tramp-gvfs.el    2010-02-15 15:04:53 +0000
@@ -1057,8 +1057,7 @@
         vec 3 "Opening connection for address@hidden using %s..." user host 
method))
 
       ;; Enable auth-sorce and password-cache.
-      (tramp-set-connection-property
-       (tramp-get-connection-process vec) "first-password-request" t)
+      (tramp-set-connection-property vec "first-password-request" t)
 
       ;; There will be a callback of "askPassword", when a password is
       ;; needed.

=== modified file 'lisp/net/tramp.el'
--- a/lisp/net/tramp.el 2010-02-04 16:25:57 +0000
+++ b/lisp/net/tramp.el 2010-02-15 15:04:53 +0000
@@ -6539,7 +6539,7 @@
 (defun tramp-process-actions (proc vec actions &optional timeout)
   "Perform actions until success or TIMEOUT."
   ;; Enable auth-source and password-cache.
-  (tramp-set-connection-property proc "first-password-request" t)
+  (tramp-set-connection-property vec "first-password-request" t)
   (let (exit)
     (while (not exit)
       (tramp-message proc 3 "Waiting for prompts from remote shell")
@@ -8320,26 +8320,27 @@
              (with-current-buffer (process-buffer proc)
                (tramp-check-for-regexp proc tramp-password-prompt-regexp)
                (format "%s for %s " (capitalize (match-string 1)) key)))))
-    (prog1
-       (or
-        ;; See if auth-sources contains something useful, if it's bound.
-        (and (boundp 'auth-sources)
-             (tramp-get-connection-property proc "first-password-request" nil)
-             ;; Try with Tramp's current method.
-             (funcall (symbol-function 'auth-source-user-or-password)
-                      "password" tramp-current-host tramp-current-method))
-        ;; Try the password cache.
-        (when (functionp 'password-read)
-          (unless (tramp-get-connection-property
-                   proc "first-password-request" nil)
-            (funcall (symbol-function 'password-cache-remove) key))
-          (let ((password
-                 (funcall (symbol-function 'password-read) pw-prompt key)))
-            (funcall (symbol-function 'password-cache-add) key password)
-            password))
-        ;; Else, get the password interactively.
-        (read-passwd pw-prompt))
-      (tramp-set-connection-property proc "first-password-request" nil))))
+    (with-parsed-tramp-file-name key nil
+      (prog1
+         (or
+          ;; See if auth-sources contains something useful, if it's bound.
+          (and (boundp 'auth-sources)
+               (tramp-get-connection-property v "first-password-request" nil)
+               ;; Try with Tramp's current method.
+               (funcall (symbol-function 'auth-source-user-or-password)
+                        "password" tramp-current-host tramp-current-method))
+          ;; Try the password cache.
+          (when (functionp 'password-read)
+            (unless (tramp-get-connection-property
+                     v "first-password-request" nil)
+              (funcall (symbol-function 'password-cache-remove) key))
+            (let ((password
+                   (funcall (symbol-function 'password-read) pw-prompt key)))
+              (funcall (symbol-function 'password-cache-add) key password)
+              password))
+          ;; Else, get the password interactively.
+          (read-passwd pw-prompt))
+       (tramp-set-connection-property v "first-password-request" nil)))))
 
 (defun tramp-clear-passwd (vec)
   "Clear password cache for connection related to VEC."
@@ -8585,7 +8586,7 @@
 ;;   rsync).
 ;; * Keep a second connection open for out-of-band methods like scp or
 ;;   rsync.
-;; * Support ptys in `tramp-handle-start-file-process'.
+;; * Support ptys in `tramp-handle-start-file-process'.  (Bug#4604)
 ;; * IMHO, it's a drawback that currently Tramp doesn't support
 ;;   Unicode in Dired file names by default.  Is it possible to
 ;;   improve Tramp to set LC_ALL to "C" only for commands where Tramp
@@ -8596,6 +8597,9 @@
 ;; * Load Tramp subpackages only when needed.  (Bug#1529, Bug#5448)
 ;; * Try telnet+curl as new method.  It might be useful for busybox,
 ;;   without built-in uuencode/uudecode.
+;; * Let `shell-dynamic-complete-*' and `comint-dynamic-complete' work
+;;   on remote hosts.
+;; * Use secrets.el for password handling.
 
 ;; Functions for file-name-handler-alist:
 ;; diff-latest-backup-file -- in diff.el


reply via email to

[Prev in Thread] Current Thread [Next in Thread]