emacs-diffs
[Top][All Lists]
Advanced

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

feature/rcirc-update a85d272: Send CAP END after authentication has been


From: Tassilo Horn
Subject: feature/rcirc-update a85d272: Send CAP END after authentication has been successful
Date: Tue, 29 Jun 2021 07:41:49 -0400 (EDT)

branch: feature/rcirc-update
commit a85d27278eaf0214cdb2f6c4f3b764f2392f068b
Author: Alex McGrath <amk@amk.ie>
Commit: Tassilo Horn <tsdh@gnu.org>

    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 0feafd7..d1b87ab 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



reply via email to

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