From c3f58a66514b2c1b0d2441c9cf37d94d64bef224 Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Fri, 3 Feb 2023 06:01:04 -0800 Subject: [PATCH] Don't casemap erc-sasl-user when set to :nick * lisp/erc/erc-sasl.el (erc-sasl-user): Fix doc string. (erc-sasl--get-user): Don't apply casemapping when the option `erc-sasl-user' is set to `:nick'. While many servers and auth-services providers perform case-folding when comparing SASL usernames, only some recognize RFC1459 mappings, which ERC previously applied blindly. Instead, ERC now behaves like other clients in leaving such preparation in the hands of the server. This bug was introduced with changes new to ERC 5.5 and Emacs 29 (bug#29108). --- lisp/erc/erc-sasl.el | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lisp/erc/erc-sasl.el b/lisp/erc/erc-sasl.el index a0b36d07613..97c7c54a517 100644 --- a/lisp/erc/erc-sasl.el +++ b/lisp/erc/erc-sasl.el @@ -67,12 +67,11 @@ Note that any value other than nil or `external' likely requires (defcustom erc-sasl-user :user "Account username to send when authenticating. -This is also referred to as the authentication identity or +This option specifies the SASL authentication identity, or \"authcid\". A value of `:user' or `:nick' indicates that the -corresponding connection parameter on file should be used. These -are most often derived from arguments provided to the `erc' and -`erc-tls' entry points. In the case of `:nick', a downcased -version is used." +corresponding connection parameter on file should be used. ERC +typically obtains these from arguments given to its entry-point +commands, `erc' and `erc-tls'." :type '(choice string (const :user) (const :nick))) (defcustom erc-sasl-password :password @@ -129,7 +128,7 @@ integration." (defun erc-sasl--get-user () (pcase (alist-get 'user erc-sasl--options) (:user erc-session-username) - (:nick (erc-downcase (erc-current-nick))) + (:nick (erc-current-nick)) (v v))) (defun erc-sasl-auth-source-password-as-host (&rest plist) -- 2.39.2