AUTHINFO GENERIC is an NNTP command used when a news client connects to a news server. It is designed to allow arbitrary authentication mechanisms to be used without having to modify either the server or the client software, except in the first place to actually support AUTHINFO GENERIC.
This web page collects work I've done to support it in various newsreaders.
I wrote a Perl script called authinfo-kludge [1]. The first thing you should do is install this somewhere on your path and make it executable. Test it by executing it with the name of your news server on the command line and with NNTPAUTH set in your environment. You should get a 200 response after it authenticates; for example:
: chiark; echo $NNTPAUTH md5cookie1way richard : chiark; authinfo-kludge news.chiark.greenend.org.uk 200 Proxy NNRP service ready (posting ok)
Type "quit" to terminate the connection:
: chiark; echo $NNTPAUTH md5cookie1way richard : chiark; authinfo-kludge news.chiark.greenend.org.uk 200 Proxy NNRP service ready (posting ok) quit 205 goodbye. : chiark;
Next you should add a few lines of elisp to your .gnus (or .emacs) to enable access to it. I took this code from the Gnus sources and modified it a bit to suit my purposes. Really there should be an open-connection-function which supports running arbitrary programs.
(defun nntp-open-authinfo-kludge (buffer) "Open a connection to SERVER using authinfo-kludge." (let ((proc (start-process "nntpd" buffer "authinfo-kludge" nntp-address))) (set-buffer buffer) (nntp-wait-for-string "^\r*200") (beginning-of-line) (delete-region (point-min) (point)) proc))
Finally you must specify it in a select method. For example, here is what I use:
(setq gnus-select-method '(nntp "proxy to chiark" (nntp-address "news.chiark.greenend.org.uk") (nntp-open-connection-function nntp-open-authinfo-kludge)))
I've checked this approach with various pieces of software:
Platform | Emacs | Gnus | Status |
---|---|---|---|
Debian | Emacs 19.34.1 | 5.3 | fails |
Debian | Emacs 20.7.2 | 5.8.8 | ok |
Debian | Emacs 21.2.1 | 5.8.8 | ok |
Debian lenny | Emacs 22.2.1 | 5.11 | ok |
Debian | XEmacs 20.4 | 5.5 | ok |
Debian | XEmacs 21.1.10 | 5.8.3 | ok |
Debian | XEmacs 21.4 | Oort | ok |
2001-08-02: posting when using authinfo-kludge should now work. Emacs executes commands in a tty, which by default mangles line ending characters. authinfo-kludge now calls stty to fix this.
2003-04-13: now supports recent versions of Perl with brain-damaged default close-on-exec policy.
[1] Incidentally, I pronounce "kludge" to rhyme with "fudge" and "grudge". So there.
I have a patch against slrn 0.9.8.0 which enables AUTHINFO GENERIC support. It seems to work for me. I've mailed it to slrn-user@lists.sourceforge.net.
I'm told that tin supports AUTHINFO GENERIC (at least in 1.8.3), invoked as tin -r -A.
trn seems to support AUTHINFO GENERIC natively. I'm told that tin supports it. The authinfo-kludge script that I use with Gnus might prove useful in adapting other newsreaders.