Variable: erc-sasl-mode

erc-sasl-mode is a buffer-local variable defined in erc-sasl.el.gz.

Documentation

Non-nil if Erc-Sasl mode is enabled.

Use the command erc-sasl-mode(var)/erc-sasl-mode(fun) to change this variable.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-sasl.el.gz
(define-erc-module sasl nil
  "Non-IRCv3 SASL support for ERC.
This local module only enables its minor mode in server buffers, and it
doesn't currently solicit or validate supported mechanisms."
  ((if erc--target
       (erc-sasl-mode -1)
     (setq erc-sasl--state (make-erc-sasl--state))
     ;; If the previous attempt failed during registration, this may be
     ;; non-nil and contain erroneous values, but how can we detect that?
     ;; What if the server dropped the connection for some other reason?
     (erc--restore-initialize-priors erc-sasl-mode
       erc-sasl--options `((user . ,erc-sasl-user)
                           (password . ,erc-sasl-password)
                           (mechanism . ,erc-sasl-mechanism)
                           (authfn . ,erc-sasl-auth-source-function)
                           (authzid . ,erc-sasl-authzid)))
     (let* ((mech (alist-get 'mechanism erc-sasl--options))
            (client (erc-sasl--create-client mech)))
       (unless client
         (erc-display-error-notice
          nil (format "Unknown or unsupported SASL mechanism: `%s'" mech))
         (error "Unknown or unsupported SASL mechanism: `%s'" mech))
       (setf (erc-sasl--state-client erc-sasl--state) client))))
  ((kill-local-variable 'erc-sasl--state)
   (kill-local-variable 'erc-sasl--options))
  localp)