From: Magnus H. <leg...@us...> - 2007-08-28 16:28:34
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17:/tmp/cvs-serv12240 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-395 Creator: Magnus Henoch <ma...@fr...> Allow disconnection in all states Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- jabber-core.el 24 Aug 2007 02:43:50 -0000 1.61 +++ jabber-core.el 28 Aug 2007 16:28:29 -0000 1.62 @@ -361,7 +361,12 @@ ;; XXX: note encryptedness of connection. (list :connected state-data) (message "STARTTLS negotiation failed") - (list nil state-data))))) + (list nil state-data))) + + (:do-disconnect + (jabber-send-string fsm "</stream:stream>") + (list nil (plist-put state-data + :disconnection-expected t))))) (define-enter-state jabber-connection :register-account (fsm state-data) @@ -419,6 +424,11 @@ (:authentication-failure ;; jabber-logon has already displayed a message (list nil (plist-put state-data + :disconnection-expected t))) + + (:do-disconnect + (jabber-send-string fsm "</stream:stream>") + (list nil (plist-put state-data :disconnection-expected t))))) (define-enter-state jabber-connection :sasl-auth @@ -460,6 +470,11 @@ (:authentication-failure ;; jabber-sasl has already displayed a message (list nil (plist-put state-data + :disconnection-expected t))) + + (:do-disconnect + (jabber-send-string fsm "</stream:stream>") + (list nil (plist-put state-data :disconnection-expected t))))) (define-enter-state jabber-connection :bind @@ -546,7 +561,12 @@ (message "Session establishing failed: %s" (jabber-parse-error (jabber-iq-error (cadr event)))) - (list nil state-data)))) + (list nil state-data)) + + (:do-disconnect + (jabber-send-string fsm "</stream:stream>") + (list nil (plist-put state-data + :disconnection-expected t))))) (define-enter-state jabber-connection :session-established (fsm state-data) |