[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r103527: * lisp/net/rcirc.el: Add Qua
From: |
Deniz Dogan |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r103527: * lisp/net/rcirc.el: Add QuakeNet authentication support. |
Date: |
Sat, 05 Mar 2011 16:40:50 +0100 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 103527
committer: Deniz Dogan <address@hidden>
branch nick: emacs-trunk
timestamp: Sat 2011-03-05 16:40:50 +0100
message:
* lisp/net/rcirc.el: Add QuakeNet authentication support.
(rcirc-authinfo, rcirc-check-auth-status)
(rcirc-authenticate): Support QuakeNet.
modified:
lisp/ChangeLog
lisp/net/rcirc.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-03-05 13:34:55 +0000
+++ b/lisp/ChangeLog 2011-03-05 15:40:50 +0000
@@ -1,5 +1,11 @@
2011-03-05 Deniz Dogan <address@hidden>
+ * net/rcirc.el: Add QuakeNet authentication support.
+ (rcirc-authinfo, rcirc-check-auth-status)
+ (rcirc-authenticate): Support QuakeNet.
+
+2011-03-05 Deniz Dogan <address@hidden>
+
* net/rcirc.el: Add functionality to authenticate before
autojoining channels.
(rcirc-authenticate-before-join): New option.
=== modified file 'lisp/net/rcirc.el'
--- a/lisp/net/rcirc.el 2011-03-05 13:34:55 +0000
+++ b/lisp/net/rcirc.el 2011-03-05 15:40:50 +0000
@@ -204,12 +204,14 @@
`nickserv': NICK PASSWORD [NICKSERV-NICK]
`chanserv': NICK CHANNEL PASSWORD
`bitlbee': NICK PASSWORD
+ `quakenet': ACCOUNT PASSWORD
Examples:
((\"freenode\" nickserv \"bob\" \"p455w0rd\")
(\"freenode\" chanserv \"bob\" \"#bobland\" \"passwd99\")
(\"bitlbee\" bitlbee \"robert\" \"sekrit\")
- (\"dal.net\" nickserv \"bob\" \"sekrit\" \"address@hidden"))"
+ (\"dal.net\" nickserv \"bob\" \"sekrit\" \"address@hidden")
+ (\"quakenet.org\" quakenet \"bobby\" \"sekrit\"))"
:type '(alist :key-type (string :tag "Server")
:value-type (choice (list :tag "NickServ"
(const nickserv)
@@ -223,7 +225,11 @@
(list :tag "BitlBee"
(const bitlbee)
(string :tag "Nick")
- (string :tag "Password"))))
+ (string :tag "Password"))
+ (list :tag "QuakeNet"
+ (const quakenet)
+ (string :tag "Account")
+ (string :tag "Password"))))
:group 'rcirc)
(defcustom rcirc-auto-authenticate-flag t
@@ -2506,8 +2512,10 @@
(format "You are now identified for \C-b%s\C-b."
rcirc-nick)
"Password accepted - you are now recognized."
)))
- ;; place for other methods
- )
+ (and ;; quakenet
+ (string= sender "Q")
+ (string= target rcirc-nick)
+ (string-match message "\\`You are now logged in as .+\\.\\'")))
(setq rcirc-user-authenticated t)
(run-hook-with-args 'rcirc-authenticated-hook process)
(remove-hook 'rcirc-authenticated-hook
'rcirc-join-channels-post-auth t))))))
@@ -2756,26 +2764,33 @@
(nick (caddr i))
(method (cadr i))
(args (cdddr i)))
- (when (and (string-match server rcirc-server)
- (string-match nick rcirc-nick))
- (cond ((equal method 'nickserv)
- (rcirc-send-privmsg
- process
+ (when (and (string-match server rcirc-server))
+ (if (and (memq method '(nickserv chanserv bitlbee))
+ (string-match nick rcirc-nick))
+ ;; the following methods rely on the user's nickname.
+ (case method
+ (nickserv
+ (rcirc-send-privmsg
+ process
(or (cadr args) "NickServ")
- (concat "identify " (car args))))
- ((equal method 'chanserv)
- (rcirc-send-privmsg
- process
+ (concat "IDENTIFY " (car args))))
+ (chanserv
+ (rcirc-send-privmsg
+ process
"ChanServ"
- (format "identify %s %s" (car args) (cadr args))))
- ((equal method 'bitlbee)
- (rcirc-send-privmsg
- process
+ (format "IDENTIFY %s %s" (car args) (cadr args))))
+ (bitlbee
+ (rcirc-send-privmsg
+ process
"&bitlbee"
- (concat "identify " (car args))))
- (t
- (message "No %S authentication method defined"
- method))))))))
+ (concat "IDENTIFY " (car args)))))
+ ;; quakenet authentication doesn't rely on the user's nickname.
+ ;; the variable `nick' here represents the Q account name.
+ (when (eq method 'quakenet)
+ (rcirc-send-privmsg
+ process
+ "address@hidden"
+ (format "AUTH %s %s" nick (car args))))))))))
(defun rcirc-handler-INVITE (process sender args text)
(rcirc-print process sender "INVITE" nil (mapconcat 'identity args " ") t))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r103527: * lisp/net/rcirc.el: Add QuakeNet authentication support.,
Deniz Dogan <=