Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


RLogin

The Synchronet RLogin module (exec/rlogin.js) is used to create an outbound proxy gateway connection between a Synchronet Terminal Server user and a remote server using the BSD Rlogin protocol (1282) over TCP (traditionally, TCP port 513). The BBS user can be connected to the host BBS using any supported terminal protocol (Telnet, RLogin, or SSH).

RLogin is often used to connect BBS users to “door game servers” because of the protocol's ability to transparently pass the login-ID of the user as part of the initial connection establishment. If the door game server recognizes the user's credentials, it can automatically authenticate the user and in some cases immediately launch a specific door game of interest.

Telgate

The RLogin module is just a thin script that calls the Synchronet JavaScript bbs.rlogin_gate method which in turn is just a thin wrapper function around the Synchronet C++ telnet_gate function. Although this function was originally created for creating proxy gateways using the Telnet protocol, it was later enhanced to also support the RLogin protocol, but was not renamed. So the internal Telnet Gateway (telgate) functionality is utilized to create RLogin gateway connections as well.

While the gateway is connected, the BBS user can use the Ctrl-] key sequence to display a host-BBS menu to perform specific functions, like:

  • Disconnect
  • Toggle local echo off/on
  • List users on the host BBS
  • Send a private message to another user on the host BBS

Usage

The RLogin module is normally executed via a command-line configured SCFG, often as an “External Program”. By convention, JavaScript modules are executed by prefixing the module name with a question mark (?) symbol. An asterisk (*) prefix will also work, but will fall back to execute the old exec/rlogin.bin if the rlogin.js is missing.

Command-line

The RLogin module accepts command-line arguments to control its behavior when invoked. The command-line syntax is:

?rlogin <address>[:port] [flags]

Where:

  • <address> is the IP address or hostname to connect to
  • [:port] is the TCP port number to connect to (default is 513)
  • [flags] is an optional set of one or more Telnet Gateway (TG_*) flags separated by pipe (|) symbols

Connection

The RLogin protocol allows the client to pass 3 strings to the server during connection establishment. These 3 strings defined by the protocol specification, in order:

  1. client-user-name
  2. server-user-name
  3. terminal-type

By default, the Synchronet telnet gateway sends the following values for the RLogin connection strings:

  1. User's alias
  2. User's real name
  3. Users' terminal type/speed (e.g. “ANSI/30000”)

If you wish to reverse the order of the first 2 strings sent, pass the TG_RLOGINSWAP flag on the rlogin.js command-line.

See Also