MyNNTP - Extensions to RFC977+2980

MyNews is using a set of special commands for communication between identical programs. Here is a preliminary explanation (not formally correct):


MyNNTP

Extensions to RFC977 & 2980 for MyNews <-> MyNews Transport

These extensions are ONLY used if both sides identified themselves as MyNews hosts.
Usenet-NNTP-Servers and Usenet clients are not affected.

These extensions have been implemented to support special features of MyNews and allow better operation.

FIRST CONNECT MESSAGE

Normal Usenet hosts send a 200 xxxxxxx posting ok at the start of communication.
MyNews hosts are sending: 200 MyNews <MyName> ver1060 Posting OK.
The '<>' brackets are sent ! They are NOT syntax characters here!

This first connection message indicates a client that this is a MyNews host.
It then identifies itself as a MyNews client with the MODE MYNEWS command.
This handshake enables the extented function of MyNNTP.

Command: mode MYNEWS MyName

Response: 200 OK.

This indicates that the client (which issues the command) is a MyNews host. The client will send this command ONLY if the host has identified itself as MyNews.

The "MyName" is used for identification - authentication - and the dynamic hostlist on the hosts side. (The client becomes an additional host for the host). The host checks also if the client has changed its IP-address.

Command: IDLE

Response: none.

Purpose: This command indicates the host that the client has finished the download and is idle now. This is useful for slow connections. The owner of the host can terminatethe connection easily if all clients are idle.

This command allows also REVERSE use of the same channel. So a bidirectional Up/Download can be realised with using just one TCP-connection.


The following commands are http-compatible. This allows running them also on a HTTP-demon!

Command: get /login/MYNAME/#.#.#.#:####/login/COMMUNITY/ CR LF

This is a login into a mynews root server.
That root server maintains a hostlist.
The entry is stored in this list.
The already defined list is delivered to the client.
(if there are any matching communities).

Command: get /logout/MYNAME/#.#.#.#:###/logout/ CR LF

This is the logout from a mynews root server.
It indicates that the client leaves the network.
The actual hostlist is updated - that client is removed.

Command: get /upload/MYNAME/#.#.#.#:###/upload/ CR LF

This is a request for data transmission from the client MyNews to the host MyNews.
The client asks the hosts to start a download from it.

The host can now either start a download (sometimes delayed) or reject the wish.


Home