spurge's extensions to standard RGTP

This document lists the current and potential future differences to standard RGTP in spurge's implementation. Feedback as to whether you'd like any of them implemented would be appreciated.

HELP: current

Requests a list of available RGTP commands. This is not documented in the Protocol, but it is also present in IWJ's rgtpd.

250 These commands are available to you
The server sends a human-readable list of commands, in the standard data format (see section 2.3 of the Protocol).

MAIL [<whether>]: probable

Allows the user to request that the server send the user email notifications of all new items and replies. This state is kept associated with the user's account even once the user has logged out.

MAIL on its own returns the state of email notification.
MAIL 1 requests email notification from now on.
MAIL 0 requests that email notification be discontinued.

137 0  Email notification is off
137 1  Email notification is on
Responses to the MAIL command given with no parameters. Note the two spaces after the first digit.
237 0  Email notification is off
237 1  Email notification is on
Email notification has successfully been turned on or off. Again, note the two spaces after the first digit.
437 I shall not send you email!
This account is not associated with a valid email address. For example, using MAIL with the guest account produces this error.
531 But who are you?
You must have successfully logged in to use this command. (Note that this isn't the same as having at least access level 1; some servers give that out for free anyway.)
510 Unknown command
This server does not support email notification.

ENCO <encoding>: possible

This is more blue-sky. The idea is that each session has an encoding associated with it. At least the encodings gzip and none are defined (none is the default). ENCO is used to switch between them.

If an encoding other than none is set:

Magic cookie handling and dot-doubling are performed as normal after decoding.

ASYN: possible

Another blue-sky option.

If a client sends ASYN, and it is accepted, the server is permitted to send excerpts from the index without request. For example, if a user adds a reply to an item, then all users who are logged in and have requested ASYN will be sent the new index entry. The format is identical to the response to a successful (partial) INDX command, except that the code number is 152.

The flag affects only the current session.

INFO: maybe

This has vaguely been suggested a few times, to return information about the current server, such as its codebase, version, and the userids of people logged on.

DIFF: unlikely to be implemented

Unless I can work out why anyone would want to use it. (See section 2.2.22 of the Protocol.)

KILL/KILR: not on the cards

IWJ's rgtpd allows the use of these undocumented editor commands to terminate or restart the server process, respectively. Since spurge runs from inetd, these commands would make no sense.


[Python powered.] spurge home; freshmeat; cvs; background; installation; clients.
Best viewed with any browser.