Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
module:rlogin [2018/07/18 18:10] – [See Also] Added link to Telgate module digital manmodule:rlogin [2018/07/18 18:44] – "mode flags" and links to telgate page digital man
Line 3: Line 3:
  
 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. 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.
 +
 +===== Protocol =====
 +Only the initial RLogin connection establishment is supported; the other RLogin protocol features ("cooked mode", out-of-band sequences, e.g. Window size) are not supported.
 +
 +==== Binary Data ====
 +Unlike Telnet, there is no "binary mode" option that can be negotiated, so some characters (e.g keystrokes) sent from the remote user will always be interpreted on the host BBS and not sent to the remote server. This means that binary data transfers (e.g. file transfers) through an RLogin gateway may not always work as expected.
  
 ===== Telgate ===== ===== 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.+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 Synchronet internal Telnet Gateway (telgate) functionality is utilized to create RLogin gateway connections as well.
  
 ===== Menu ===== ===== Menu =====
  
 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: 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+  * Disconnect from the remote server
   * Toggle local echo off/on   * Toggle local echo off/on
   * List users on the host BBS   * List users on the host BBS
   * Send a private message to another user on the host BBS   * Send a private message to another user on the host BBS
 +
 +**Note**: If the ''TG_CTRLKEYS'' mode flag is specified on the ''rlogin.js'' command-line, then the host BBS's global control key commands (e.g. ^P, ^U, ^T, etc.) will also be captured and handled by the host BBS and not sent to the remote server.
  
 ===== Usage =====  ===== Usage ===== 
-The RLogin module is normally executed via a command-line configured [[util: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 ''[[dir:exec]]/rlogin.bin'' if the ''rlogin.js'' is missing.+The RLogin module is normally executed via a command-line configured in [[util:SCFG]], often as an "External Program". By convention, JavaScript modules are executed from the Synchronet Terminal Server by starting the command-line with a question mark (''?'') symbol. An asterisk (''*'') prefix will also work, but will fallback to execute the old ''[[dir:exec]]/rlogin.bin'' if the ''rlogin.js'' file is absent.
  
 ==== Command-line ==== ==== Command-line ====
 The RLogin module accepts command-line arguments to control its behavior when invoked. The command-line syntax is: The RLogin module accepts command-line arguments to control its behavior when invoked. The command-line syntax is:
-  ?rlogin <address>[:port] [flags]+  ?rlogin <address>[:port] [mode]
  
 Where: Where:
-  * ''<address>'' is the IP address or hostname to connect to+  * ''<address>'' is the IPv4 address or host name to connect to
   * ''[:port]'' is the TCP port number to connect to (default is 513)   * ''[: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+  * ''[mode]'' is an optional set of one or more [[:module:telgate#mode|telgate mode flags]] (''TG_*'') separated by pipe (''|'') symbols
    
 ===== Connection ===== ===== 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:+The RLogin protocol allows the client to pass 3 strings to the server during connection establishment. These 3 strings defined by the protocol specification are, in order:
   - client-user-name   - client-user-name
   - server-user-name   - server-user-name
Line 39: Line 47:
   - Users' terminal type/speed (e.g. "ANSI/30000")   - 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.+If you wish to reverse the order of the first 2 strings sent, pass the ''TG_RLOGINSWAP'' mode flag on the ''rlogin.js'' command-line.
  
  
module/rlogin.txt · Last modified: 2023/03/09 17:57 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0