Update of /cvsroot/emacs-jabber/emacs-jabber
In directory sc8-pr-cvs17:/tmp/cvs-serv15888
Modified Files:
jabber-sasl.el
Log Message:
Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-421
Creator: Magnus Henoch <ma...@fr...>
Use proper password reading function for SASL mechanisms sending initial response
Index: jabber-sasl.el
===================================================================
RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-sasl.el,v
retrieving revision 2.13
retrieving revision 2.14
diff -u -d -r2.13 -r2.14
--- jabber-sasl.el 14 Sep 2007 22:08:28 -0000 2.13
+++ jabber-sasl.el 2 Nov 2007 13:25:07 -0000 2.14
@@ -71,6 +71,7 @@
(plist-get (fsm-get-state-data jc) :username)
"xmpp"
(plist-get (fsm-get-state-data jc) :server)))
+ (sasl-read-passphrase (jabber-sasl-read-passphrase-closure jc))
(step (sasl-next-step client nil)))
(jabber-send-sexp
jc
@@ -80,12 +81,16 @@
(base64-encode-string (sasl-step-data step) t))))
(cons client step))))))
+(defun jabber-sasl-read-passphrase-closure (jc)
+ "Return a lambda function suitable for `sasl-read-passphrase' for JC."
+ (lexical-let ((password (plist-get (fsm-get-state-data jc) :password))
+ (bare-jid (jabber-connection-bare-jid jc)))
+ (if password
+ (lambda (prompt) password)
+ (lambda (prompt) (jabber-read-password bare-jid)))))
+
(defun jabber-sasl-process-input (jc xml-data sasl-data)
- (let ((sasl-read-passphrase (lexical-let ((password (plist-get (fsm-get-state-data jc) :password))
- (bare-jid (jabber-connection-bare-jid jc)))
- (if password
- (lambda (prompt) password)
- (lambda (prompt) (jabber-read-password bare-jid)))))
+ (let ((sasl-read-passphrase (jabber-sasl-read-passphrase-closure jc))
(client (car sasl-data))
(step (cdr sasl-data)))
(cond
|