]> git.eshelyaron.com Git - emacs.git/commitdiff
Check rcirc-server for auto authentication (Bug#10162)
authorSteve Scott <steve@stevescott.ca>
Mon, 3 Jun 2019 00:55:34 +0000 (21:55 -0300)
committerNoam Postavsky <npostavs@gmail.com>
Thu, 6 Jun 2019 00:30:23 +0000 (20:30 -0400)
Since the hostname returned by irc.freenode.net can be something other
than irc.freenode.net, e.g. niven.freenode.net, the entries for
rcirc-authinfo and rcirc-server-alist will not match.
* lisp/net/rcirc.el (rcirc-handler-001): Check rcirc-server (the
hostname connected to) instead of rcirc-server-name (the hostname
returned), this corresponds with what rcirc-authenticate does.
Moreover, if rcirc-auto-authenticate-flag is set, check the
corresponding rcirc-authinfo, regardless of whether the
rcirc-authenticate-before-join must happen.

Copyright-paperwork-exempt: yes

lisp/net/rcirc.el

index 9c3828caf565442cf0ed64642c1bb8978cd3a6ba..dae372f96eb8853b8b1229a33308f48af9ff7e63 100644 (file)
@@ -2545,16 +2545,15 @@ If ARG is given, opens the URL in a new browser window."
     (setq rcirc-server-name sender)
     (setq rcirc-nick (car args))
     (rcirc-update-prompt)
-    (if rcirc-auto-authenticate-flag
-        (if (and rcirc-authenticate-before-join
-                ;; We have to ensure that there's an authentication
-                ;; entry for that server.  Else,
-                ;; rcirc-authenticated-hook won't be triggered, and
-                ;; autojoin won't happen at all.
-                (let (auth-required)
-                  (dolist (s rcirc-authinfo auth-required)
-                    (when (string-match (car s) rcirc-server-name)
-                      (setq auth-required t)))))
+    (if (and rcirc-auto-authenticate-flag
+             ;; We have to ensure that there's an authentication
+             ;; entry for that server.  Otherwise,
+             ;; there's no point in calling authenticate.
+             (let (auth-required)
+               (dolist (s rcirc-authinfo auth-required)
+                 (when (string-match (car s) rcirc-server)
+                   (setq auth-required t)))))
+        (if rcirc-authenticate-before-join
             (progn
              (add-hook 'rcirc-authenticated-hook 'rcirc-join-channels-post-auth t t)
               (rcirc-authenticate))