From: Magnus H. <leg...@us...> - 2008-01-21 21:07:03
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv9948 Modified Files: jabber-logon.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-438 Creator: Magnus Henoch <ma...@fr...> Make sure we always send a resource in legacy authentication Index: jabber-logon.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-logon.el,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- jabber-logon.el 17 Sep 2007 20:25:44 -0000 1.18 +++ jabber-logon.el 21 Jan 2008 21:06:58 -0000 1.19 @@ -1,6 +1,6 @@ ;; jabber-logon.el - logon functions -;; Copyright (C) 2003, 2004, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... ;; This file is a part of jabber.el. @@ -54,14 +54,20 @@ ;; If auth is still nil, user cancelled process somewhere (if auth - (jabber-send-iq jc (plist-get (fsm-get-state-data jc) :server) - "set" - `(query ((xmlns . "jabber:iq:auth")) - (username () ,(plist-get (fsm-get-state-data jc) :username)) - ,auth - (resource () ,(plist-get (fsm-get-state-data jc) :resource))) - #'jabber-process-logon t - #'jabber-process-logon nil) + (progn + ;; For legacy authentication we must specify a resource. + (unless (plist-get (fsm-get-state-data jc) :resource) + ;; Yes, this is ugly. Where is my encapsulation? + (plist-put (fsm-get-state-data jc) :resource "emacs-jabber")) + + (jabber-send-iq jc (plist-get (fsm-get-state-data jc) :server) + "set" + `(query ((xmlns . "jabber:iq:auth")) + (username () ,(plist-get (fsm-get-state-data jc) :username)) + ,auth + (resource () ,(plist-get (fsm-get-state-data jc) :resource))) + #'jabber-process-logon t + #'jabber-process-logon nil)) (fsm-send jc :authentication-failure)))) (defun jabber-process-logon (jc xml-data closure-data) |