summaryrefslogtreecommitdiff
path: root/.emacs.d/lisp
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/lisp')
-rw-r--r--.emacs.d/lisp/erc-sasl.el95
1 files changed, 0 insertions, 95 deletions
diff --git a/.emacs.d/lisp/erc-sasl.el b/.emacs.d/lisp/erc-sasl.el
deleted file mode 100644
index 6e5c48f..0000000
--- a/.emacs.d/lisp/erc-sasl.el
+++ /dev/null
@@ -1,95 +0,0 @@
-;; erc-sasl.el -- handle SASL PLAIN authentication
-
-;; Copyright (C) 2012 Joseph Gay
-
-;; Author: Joseph Gay <[email protected]>
-;; Keywords: comm
-
-;; This file is NOT part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; This file implements SASL PLAIN authentication
-;; To activate:
-;;
-;; (require 'erc-sasl)
-;;
-;; (add-to-list 'erc-sasl-server-regexp-list "host\\.server\\.com")
-;; e.g. irc\\.freenode\\.net, or .* for any host
-;;
-;; To disable:
-;; (setq erc-sasl-use-sasl nil)
-;;
-;; NOTE: requires passing a password initially to (erc) and variants
-
-;;; Code:
-
-(eval-when-compile (require 'cl))
-
-(defvar erc-sasl-use-sasl t
- "Set to nil to disable SASL auth")
-
-(defvar erc-sasl-server-regexp-list '()
- "List of regexps matching server host names for which sasl
- should be used")
-
-(defun erc-sasl-use-sasl-p ()
- "Used internally to decide whether SASL should be used in the
-current session"
- (and erc-sasl-use-sasl
- (boundp 'erc-session-server)
- (cl-loop for re in erc-sasl-server-regexp-list
- thereis (integerp (string-match re erc-session-server)))))
-
-(define-erc-response-handler (CAP)
- "Client capability framework is used to request SASL auth, need
- to wait for ACK to begin" nil
- (let ((msg (erc-response.contents parsed)))
- (when (string-match " *sasl" msg)
- (erc-server-send "AUTHENTICATE PLAIN")
- ;; now wait for AUTHENTICATE +
- )))
-
-(define-erc-response-handler (AUTHENTICATE)
- "Handling empty server response indicating ready to receive
- authentication." nil
- (if erc-session-password
- (let ((msg (erc-response.contents parsed)))
- (when (string= "+" msg)
- ;; plain auth
- (erc-server-send
- (format "AUTHENTICATE %s"
- (base64-encode-string
- (concat "\0" (erc-current-nick)
- "\0" erc-session-password) t)))))
- (progn
- (erc-display-message
- parsed 'error
- (if erc-server-connected 'active proc)
- "You must set a password in order to use SASL authentication.")
- ;; aborting SASL auth
- (erc-server-send (erc-server-send "AUTHENTICATE *")))))
-
-(define-erc-response-handler (903)
- "Handling a successful SASL authentication." nil
- (erc-server-send "CAP END"))
-
-(provide 'erc-sasl)
-
-;; ;;; erc-sasl.el ends here
-;; ;; Local Variables:
-;; ;; indent-tabs-mode: nil
-;; ;; End: