* [PATCH] rcirc - support servers that require a PASS command
@ 2009-02-15 20:20 Jonathan Rockway
2010-06-07 21:22 ` Stefan Monnier
0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Rockway @ 2009-02-15 20:20 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 137 bytes --]
My irc proxy (irssi-proxy) wants a password before allowing connections,
so I added support for this to rcirc. The patch is attached.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: rcirc-PASS.patch --]
[-- Type: text/x-diff, Size: 3199 bytes --]
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index f63237f..ec1d777 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -80,6 +80,11 @@ VALUE must be a number or string. If absent,
VALUE must be a string. If absent, `rcirc-default-user-name' is
used.
+`:password'
+
+VALUE must be a string. If absent, no PASS command will be sent
+to the server.
+
`:full-name'
VALUE must be a string. If absent, `rcirc-default-full-name' is
@@ -94,6 +99,7 @@ connected to automatically."
:value-type (plist :options ((:nick string)
(:port integer)
(:user-name string)
+ (:password string)
(:full-name string)
(:channels (repeat string)))))
:group 'rcirc)
@@ -380,6 +386,8 @@ If ARG is non-nil, instead prompt for connection parameters."
(nick (read-string "IRC Nick: "
(or (plist-get server-plist 'nick)
rcirc-default-nick)))
+ (password (read-passwd "IRC Password: "
+ (plist-get server-plist 'password)))
(channels (split-string
(read-string "IRC Channels: "
(mapconcat 'identity
@@ -387,9 +395,13 @@ If ARG is non-nil, instead prompt for connection parameters."
'channels)
" "))
"[, ]+" t)))
+
+ (when (= 0 (length password))
+ (setq password nil))
+
(rcirc-connect server port nick rcirc-default-user-name
rcirc-default-full-name
- channels))
+ channels password))
;; connect to servers in `rcirc-server-alist'
(let (connected-servers)
(dolist (c rcirc-server-alist)
@@ -400,7 +412,8 @@ If ARG is non-nil, instead prompt for connection parameters."
rcirc-default-user-name))
(full-name (or (plist-get (cdr c) :full-name)
rcirc-default-full-name))
- (channels (plist-get (cdr c) :channels)))
+ (channels (plist-get (cdr c) :channels))
+ (password (plist-get (cdr c) :password)))
(when server
(let (connected)
(dolist (p (rcirc-process-list))
@@ -409,7 +422,7 @@ If ARG is non-nil, instead prompt for connection parameters."
(if (not connected)
(condition-case e
(rcirc-connect server port nick user-name
- full-name channels)
+ full-name channels password)
(quit (message "Quit connecting to %s" server)))
(with-current-buffer (process-buffer connected)
(setq connected-servers
@@ -441,7 +454,7 @@ If ARG is non-nil, instead prompt for connection parameters."
;;;###autoload
(defun rcirc-connect (server &optional port nick user-name full-name
- startup-channels)
+ startup-channels password)
(save-excursion
(message "Connecting to %s..." server)
(let* ((inhibit-eol-conversion)
@@ -490,6 +503,8 @@ If ARG is non-nil, instead prompt for connection parameters."
(add-hook 'auto-save-hook 'rcirc-log-write)
;; identify
+ (when password
+ (rcirc-send-string process (concat "PASS " password)))
(rcirc-send-string process (concat "NICK " nick))
(rcirc-send-string process (concat "USER " user-name
" hostname servername :"
[-- Attachment #3: Type: text/plain, Size: 84 bytes --]
Regards,
Jonathan Rockway
--
print just => another => perl => hacker => if $,=$"
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] rcirc - support servers that require a PASS command
2009-02-15 20:20 [PATCH] rcirc - support servers that require a PASS command Jonathan Rockway
@ 2010-06-07 21:22 ` Stefan Monnier
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2010-06-07 21:22 UTC (permalink / raw)
To: Jonathan Rockway; +Cc: emacs-devel
> My irc proxy (irssi-proxy) wants a password before allowing connections,
> so I added support for this to rcirc. The patch is attached.
Thank you, installed for Emacs-23.3 with the following ChangeLog comment
(please provide such a thing next time):
2010-06-07 Jonathan Rockway <jon@jrock.us>
* net/rcirc.el: Add support for password authentication.
(rcirc-server-alist): Add :password keyword.
(rcirc): Ask for a password, or get it from the server's alist.
(rcirc-connect): Add password argument. Pass it to server.
-- Stefan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-06-07 21:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-15 20:20 [PATCH] rcirc - support servers that require a PASS command Jonathan Rockway
2010-06-07 21:22 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.