session [<session#>] [arguments]
Without arguments, displays the list of current sessions,
including session number, associated socket, the session screen-swap
mode, the session type and state, the send and receive queue sizes,
and the remote TCP or AX.25 address. An asterisk (*) is shown next to
the current session.
Entering a session number as an argument to the session command
will put you in converse mode with that session. If you have started
the TTYLINK server, and have set Attended mode, an incoming telnet con-
nect to the ttylink port will automatically create a split-screen
session and switch you to that session.
session <session#> flowmode [on | off]
<flowmode> displays or enables / disables setting of --more--
handling for <session#>. This is handy for long directory
listings coming from an ftp session, for example . Escaping to
command mode before issuing the dir command and entering "session
# flowmode on" gives a page at a time to look at. At any time
you can escape out again and switch flowmode off. Note that a
ftp session has it's own flow command now built in. See FTP
commands later in this manual.
To avoid the --more-- prompt when the output of console commands
exceeds the screen length, turn flowmode off for session 0. This
session number always exists, but is not shown in the session
listing. Some commands, such as "more" or "dir", will ignore
flowmode since they manage their own output pagination. But, these
commands will accept a 'Q' to quit (abort) further output.
Example: session 0 flowmode off
session <session#> split [on | off]
<split> displays or enables / disables the split-window capability
of session <session#>. This is useful to separate what you enter
from the keyboard (shown in a small window at the bottom of the
screen) from incoming data, which is shown in a large window at the
top of the screen. For example, a ttylink session is begun in split
mode.
session swapmode [ems | xms | memory | file]
<swapmode> displays or defines how session screens are saved when
the associated session is not current. The initial setting is
determined by the -m command-line argument value and/or compilation
options.
shell [cmd [args...]]
Suspends JNOS and executes a sub-shell ("command processor"
under MS-DOS). When the sub-shell exits, NOS resumes (under MS-DOS,
enter the exit command).
Note: see the COMSPEC environment variable.
Background activity (FTP servers, etc.) is also suspended while
the subshell executes. Note that this will fail unless there is
sufficient unused memory for the subshell and whatever command the
user tries to run. When shelled out, Mailbox Operator connects and
ttylink incoming connections are refused. A 'system unattended'
message is sent to the "connector" of that socket.
Here are some comments particular to the MSDOS system: if no
arguments are provided to the JNOS shell command, the MSDOS command
processor is invoked to process commands entered from the console.
Use the exit command to return to JNOS. If arguments are provided,
the first one is assumed to be the program name to invoke. If the
program is a batch file, you must precede it's name with /c so as
to invoke the command processor explicitly to process the batch file
commands:
shell /c ibackup.bat \spool\mail \bkup
The /c prefix is also useful to allow i/o redirection to be
interpreted by DOS:
shell /c FC /A /C autoexec.bat autoexec.sav >outfile
skick <socket#>
This is a shorthand for the various 'kick' subcommands. This one
searches the socket for correct type and kicks the transport layer.
smtp <subcommand>
These commands are used for the Simple Message Transport
Protocol service (that is, mail).
smtp batch [yes | no]
If set smtp will batch the commands into one frame. When off
only one command is sent and a response is waited for. Some old
and flaky smtp servers cannot handle more than one command at a
time. NOS can handle multiple. If you are not hindered by an
old smtp server, setting batch reduces bandwidth. However, if you
obtain bounced email containing:
>>> DATA
<<< 503 Need MAIL before RCPT
you should turn batching off!
smtp dtimeout [<hours>] Default: 0
Displays or sets the number of hours a message will remain in
the smtp mqueue before being returned to sender. Delivery attempts
are made at "smtp timer" intervals. If <hours> is zero, the message
remains in mqueue indefinitely.
smtp gateway [<hostid> | none]
Displays or sets the host to be used as a "smart" mail relay.
Any mail sent to a host not in the domain.txt file or not found
via a nameserver query, will instead be sent to the gateway for
forwarding (if #define'd). To undefine the gateway, specify "none".
smtp hopper [ON | off]
Displays or sets the flag used to enable the "hopper" feature.
This feature, available when JNOS is compiled with HOPPER #define'd,
will attempt to deliver mail to a router which serves the mail's
destination address. The router address is used even when an
'smtp gateway' is defined. This feature should not be enabled when
X1J or other routers are used which don't accept SMTP connections.
Note that if HOPPER is ##define'd, then JNOS starts with smtp hopper
enabled by default. This feature is inherently "dangerous"!
smtp kick [<hostname>]
Run through the outgoing mail queue and attempt to deliver any
pending mail to all systems, or just to <hostname> if specified.
This command allows the user to "kick" the mail system manually.
Normally, this command is periodically invoked by a timer whenever
NOS is running.
smtp kill <jobid>
Kill <jobid> and delete the message. If the job is "locked" by
the smtp client process, you will be asked to confirm the removal.
smtp list
List the current jobs in the mqueue. An "L" means locked and in progress.
It is wise to add in autoexec.bat a "del /spool/mqueue/*.lck" command,
since JNOS will not remove any pre-existing locks (it assumes other
tasks share the mqueue, and dare not remove their locks).
smtp maxclients [<count>]
Displays or sets the maximum number of simultaneous outgoing
SMTP sessions that will be allowed. The default is 10. Reduce
<count> if network congestion is a problem.
smtp maxservers [<count>]
Displays or sets the maximum number of simultaneous incoming
SMTP sessions that will be allowed. The default is 0, i.e., no
limit other than the amount of memory available.
smtp mode [queue | ROUTE]
Sets the smtp delivery mode. If 'queue', all messages are left
in /spool/rqueue for external forwarding and handling. If
'route', messages are handled and, if for local, appended to a
mailbox, or if remote they are forwarded. Default = 'route'
smtp quiet [YES | no]
Enables or disables the inclusion of a beep in the message that
new mail arrived at this system. See 'smtp trace' below, to
enable the printing of a new-mail-arrived message.
smtp t4 [<seconds>]
Displays or sets a t4 timer for smtp client (outgoing) sessions
so that they will disconnect after a period of inactivity and
prevent lockups. Default = 0, i.e., no disconnect timeout.
smtp tdisc [<seconds>]
Displays or sets a disconnect timer for smtp server (incoming)
sessions so that they will disconnect after a period of inactivity
and prevent lockups. Default = 0, i.e., no disconnect timeout.
smtp timer [<seconds>]
Displays or sets the interval, between scans of the outbound mail
queue. For example, smtp timer 600 will cause the system to
check for outgoing mail every 10 minutes and attempt to deliver
anything it finds, subject of course to the smtp maxclients
limit. Setting a value of zero disables queue scanning
altogether. This value is recommended for standalone IP
gateways that never handle mail, since it saves wear and tear on
the (floppy) disk drive. Default = 0
smtp trace [<value>]
Displays or sets the trace flag in the SMTP client, allowing you
to watch SMTP's conversations as it delivers mail. Zero (the
default) disables tracing. A trace value of 1 just enables the
"new mail for n5knx from <k5arh@w5ddl.ampr.org>". Larger values
produce more voluminous trace output.
smtp usemx [yes | NO]
Displays or sets a flag enabling or disabling MX record lookups.
This can be enabled if a domain server is available in the near
distance (reachable). It should be disabled (default) if no
domain server is in reach to satisfy the MX query. Note that
MX record handling is limited to the five highest-preference hosts.
Also, the smtp t4 timer must be set, in order to timeout on non-
responsive hosts.
socket [<socket#>]
Without an argument, displays all active sockets, giving their
index and type, the address of the associated protocol control block
and the and owner process ID and name. If the index to an active
socket is supplied, the status display for the appropriate protocol
is called. For example, if the socket refers to a TCP connection, the
display will be that given by the 'tcp status' command with the
protocol control block address.
source <script_filename>
The 'source' command runs a set of NOS commands which are in
<script_filename>. This is a very convenient way of executing a
series of commands without having to enter them individually at
the keyboard.
split <iface> <call>
Same as the 'connect' command but uses a split screen mode.
Do a 'help connect' for more info.
start <servers...>
Start the specified server. Do a 'start ?' for a list of available
servers (this won't be displayed to remote sysops).
Servers often take an argument which specifies an alternate
port number from which to listen. Example:
start callbook [port#] Default port: 1235
Default port numbers are listed in socket.h.
Exceptions:
start tip iface [modem | terminal] [timeout_secs]
starts a mailbox server which listens for connections on <iface>.
If <modem> is used, CD (carrier detect) must be asserted before a
connection is recognized. A <timeout> value specifies how many
seconds of inactivity must occur before a disconnect is initiated.
A tip about using the tip server to provide async dialup access to
JNOS: the following commands demonstrate one way to set it up.
# source this file to configure COM1 for dialup access to JNOS
attach asy 0x3f8 4 ax25 dialup 2048 256 9600
#
ifconfig dialup descrip "dialup access"
param dialup up
# Send any desired config cmds here, eg, answer phone on 1st ring
comm dialup "atz e0 s0=1"
pause 2
#start tip dialup terminal 360
start tip dialup modem 360
# If the modem obeys DTR (must be asserted to answer the phone)
# the modem might be permed with S0=1, and then the answering could
# be controlled by param dialup up, param dialup down, commands
# possibly done daily by a repeating at command...
start http [port#] [drive] [rootdir]
starts an http server. The default port is 80, the default disk drive
is C, and the default rootdir (for html file access) is /wwwroot.
See the http helpfile for more information, especially in the notes
section.
status [on|off]
The 'status' command displays general system information, attended
flag, and a table of open files (when possible). This is useful
for monitoring file transfer activity.
If STATUSWIN and STATUSWINCMD were #define'd when JNOS was
compiled, the status command can take an optional argument, which determines
whether the status window is turned on or off. The status window
must be enabled when JNOS is started (see the -u, -w and -x command-
line argument descriptions). The 'status on|off' command can then
be used to disable (via "off"), or re-enable (via "on"), the status
window at the top of the screen. When the status line state is
changed, existing sessions will have their screen cursor repositioned.
The status window can have up to 3 lines. The first line shows the
time, heap/dos available memory, number of connections to various
services, and then a list of active sessions, where sessions with data
waiting to be read are blinking. A blinking MAIL shows when the
'mbox mailfor watch' command detects unread email. When JNOS contains
a mailbox server, the next (second) line shows the users connected to
the bbs. A status symbol precedes the user's id:
none - user is idle
* - user is a bbs
@ - user is in sysop mode
! - user has gatewayed out
# - user is reading or sending mail
= - user is transferring data (up/download)
^ - user is in convers or sysop-chat mode
? - use is in none of the above, but not idle...
The final line, when present, shows data depending on the current
session. The current session number and type are always displayed.
If the session is a network connection, the remote connection name,
tx-queue (bytes for tcp, packets for ax.25), and state of the
connection are displayed, followed by the retry timer, with current
time left, and initial value. In repeat, more or look sessions, the
third line shows the command, filename or user/socket for the session.
stop <server...>
Stop the specified server, rejecting any further remote
connect requests. Existing connections are allowed to complete
normally.