www.delorie.com/gnu/docs/emacs/gnus_144.html   search  
 
Buy the book!


Gnus Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2.1 NNTP

Subscribing to a foreign group from an NNTP server is rather easy. You just specify nntp as method and the address of the NNTP server as the, uhm, address.

If the NNTP server is located at a non-standard port, setting the third element of the select method to this port number should allow you to connect to the right port. You'll have to edit the group info for that (see section 2.9 Foreign Groups).

The name of the foreign group can be the same as a native group. In fact, you can subscribe to the same group from as many different servers you feel like. There will be no name collisions.

The following variables can be used to create a virtual nntp server:

nntp-server-opened-hook
is run after a connection has been made. It can be used to send commands to the NNTP server after it has been contacted. By default it sends the command MODE READER to the server with the nntp-send-mode-reader function. This function should always be present in this hook.

nntp-authinfo-function
This function will be used to send `AUTHINFO' to the NNTP server. The default function is nntp-send-authinfo, which looks through your `~/.authinfo' (or whatever you've set the nntp-authinfo-file variable to) for applicable entries. If none are found, it will prompt you for a login name and a password. The format of the `~/.authinfo' file is (almost) the same as the ftp `~/.netrc' file, which is defined in the ftp manual page, but here are the salient facts:

  1. The file contains one or more line, each of which define one server.

  2. Each line may contain an arbitrary number of token/value pairs.

    The valid tokens include `machine', `login', `password', `default'. In addition Gnus introduces two new tokens, not present in the original `.netrc'/ftp syntax, namely `port' and `force'. (This is the only way the `.authinfo' file format deviates from the `.netrc' file format.) `port' is used to indicate what port on the server the credentials apply to and `force' is explained below.

Here's an example file:

 
machine news.uio.no login larsi password geheimnis
machine nntp.ifi.uio.no login larsi force yes

The token/value pairs may appear in any order; `machine' doesn't have to be first, for instance.

In this example, both login name and password have been supplied for the former server, while the latter has only the login name listed, and the user will be prompted for the password. The latter also has the `force' tag, which means that the authinfo will be sent to the nntp server upon connection; the default (i.e., when there is not `force' tag) is to not send authinfo to the nntp server until the nntp server asks for it.

You can also add `default' lines that will apply to all servers that don't have matching `machine' lines.

 
default force yes

This will force sending `AUTHINFO' commands to all servers not previously mentioned.

Remember to not leave the `~/.authinfo' file world-readable.

nntp-server-action-alist
This is a list of regexps to match on server types and actions to be taken when matches are made. For instance, if you want Gnus to beep every time you connect to innd, you could say something like:

 
(setq nntp-server-action-alist
      '(("innd" (ding))))

You probably don't want to do that, though.

The default value is

 
'(("nntpd 1\\.5\\.11t"
   (remove-hook 'nntp-server-opened-hook 
                'nntp-send-mode-reader)))

This ensures that Gnus doesn't send the MODE READER command to nntpd 1.5.11t, since that command chokes that server, I've been told.

nntp-maximum-request
If the NNTP server doesn't support NOV headers, this back end will collect headers by sending a series of head commands. To speed things up, the back end sends lots of these commands without waiting for reply, and then reads all the replies. This is controlled by the nntp-maximum-request variable, and is 400 by default. If your network is buggy, you should set this to 1.

nntp-connection-timeout
If you have lots of foreign nntp groups that you connect to regularly, you're sure to have problems with NNTP servers not responding properly, or being too loaded to reply within reasonable time. This is can lead to awkward problems, which can be helped somewhat by setting nntp-connection-timeout. This is an integer that says how many seconds the nntp back end should wait for a connection before giving up. If it is nil, which is the default, no timeouts are done.

nntp-server-hook
This hook is run as the last step when connecting to an NNTP server.

nntp-open-connection-function
This function is used to connect to the remote system. Four pre-made functions are supplied:

nntp-open-network-stream
This is the default, and simply connects to some port or other on the remote system.

nntp-open-rlogin
Does an `rlogin' on the remote system, and then does a `telnet' to the NNTP server available there.

nntp-open-rlogin-related variables:

nntp-rlogin-program
Program used to log in on remote machines. The default is `rsh', but `ssh' is a popular alternative.

nntp-rlogin-parameters
This list will be used as the parameter list given to rsh.

nntp-rlogin-user-name
User name on the remote system.

nntp-open-telnet
Does a `telnet' to the remote system and then another `telnet' to get to the NNTP server.

nntp-open-telnet-related variables:

nntp-telnet-command
Command used to start telnet.

nntp-telnet-switches
List of strings to be used as the switches to the telnet command.

nntp-telnet-user-name
User name for log in on the remote system.

nntp-telnet-passwd
Password to use when logging in.

nntp-telnet-parameters
A list of strings executed as a command after logging in via telnet.

nntp-telnet-shell-prompt
Regexp matching the shell prompt on the remote machine. The default is `bash\\|\$ *\r?$\\|> *\r?'.

nntp-open-telnet-envuser
If non-nil, the telnet session (client and server both) will support the ENVIRON option and not prompt for login name. This works for Solaris telnet, for instance.

nntp-open-ssl-stream
Opens a connection to a server over a secure channel. To use this you must have SSLay installed (ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL, and you also need `ssl.el' (from the W3 distribution, for instance). You then define a server as follows:

 
;; Type `C-c C-c' after you've finished editing.
;;
;; "snews" is port 563 and is predefined 
;; in our /etc/services
;;
(nntp "snews.bar.com"
      (nntp-open-connection-function 
        nntp-open-ssl-stream)
      (nntp-port-number "snews")
      (nntp-address "snews.bar.com"))

nntp-end-of-line
String to use as end-of-line marker when talking to the NNTP server. This is `\r\n' by default, but should be `\n' when using rlogin to talk to the server.

nntp-rlogin-user-name
User name on the remote system when using the rlogin connect function.

nntp-address
The address of the remote system running the NNTP server.

nntp-port-number
Port number to connect to when using the nntp-open-network-stream connect function.

nntp-buggy-select
Set this to non-nil if your select routine is buggy.

nntp-nov-is-evil
If the NNTP server does not support NOV, you could set this variable to t, but nntp usually checks automatically whether NOV can be used.

nntp-xover-commands
List of strings used as commands to fetch NOV lines from a server. The default value of this variable is ("XOVER" "XOVERVIEW").

nntp-nov-gap
nntp normally sends just one big request for NOV lines to the server. The server responds with one huge list of lines. However, if you have read articles 2-5000 in the group, and only want to read article 1 and 5001, that means that nntp will fetch 4999 NOV lines that you will not need. This variable says how big a gap between two consecutive articles is allowed to be before the XOVER request is split into several request. Note that if your network is fast, setting this variable to a really small number means that fetching will probably be slower. If this variable is nil, nntp will never split requests. The default is 5.

nntp-prepare-server-hook
A hook run before attempting to connect to an NNTP server.

nntp-warn-about-losing-connection
If this variable is non-nil, some noise will be made when a server closes connection.

nntp-record-commands
If non-nil, nntp will log all commands it sends to the NNTP server (along with a timestamp) in the `*nntp-log*' buffer. This is useful if you are debugging a Gnus/NNTP connection that doesn't seem to work.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003