From a85d27278eaf0214cdb2f6c4f3b764f2392f068b Mon Sep 17 00:00:00 2001 From: Alex McGrath Date: Tue, 29 Jun 2021 12:06:22 +0100 Subject: [PATCH] Send CAP END after authentication has been successful --- lisp/net/rcirc.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index 0feafd708ab..d1b87abb62b 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -657,8 +657,6 @@ that are joined after authentication." (or server-alias server) nil server port-number :type (or encryption 'plain)))) ;; set up process - (when use-sasl - (setq-local rcirc-finished-sasl nil)) (set-process-coding-system process 'raw-text 'raw-text) (switch-to-buffer (rcirc-generate-new-buffer-name process nil)) (set-process-buffer process (current-buffer)) @@ -682,6 +680,8 @@ that are joined after authentication." (add-hook 'auto-save-hook 'rcirc-log-write) + (when use-sasl + (setq-local rcirc-finished-sasl nil)) ;; identify (dolist (cap rcirc-implemented-capabilities) (rcirc-send-string process "CAP" "REQ" : cap) @@ -3509,9 +3509,14 @@ PROCESS is the process object for the current connection." (base64-encode-string ;; use connection user-name (concat "\0" (nth 3 rcirc-connection-info) - "\0" (rcirc-get-server-password rcirc-server)))) - (setq-local rcirc-finished-sasl t) - (rcirc-send-string process "CAP" "END")) + "\0" (rcirc-get-server-password rcirc-server))))) + +(defun rcirc-handler-900 (process sender args _text) + "Respond to a successful authentication response" + (rcirc-handler-generic process "900" sender args nil) + (when (not rcirc-finished-sasl) + (setq-local rcirc-finished-sasl t) + (rcirc-send-string process "CAP" "END"))) (defgroup rcirc-faces nil -- 2.39.2