Go to the previous, next section.
@everyfooting Author: ensley // Editor: rootd // Texinfo: ensley @| @| 3 December 1994
This interface allows users to login to an archie server directly and
interactively request searches. A login with no password will be created
on the archie server allowing people to login. The telnet interface will be the
shell (given in the /etc/passwd file) of the remote user. Since there is no
"remote site client", the telnet interface/shell must keep track of all
environment variables.
Since we are allowing the general public to login without identification
or a password, this interface is a potential security risk. Care must be taken
to make certain that users are limited to archie functionality, and cannot
break out of the archie-shell and gain unauthorized privileges. As a
minimum, the "archie-user" must not own any files (designers note: will
having different users owning different archie processes mess up our signal
passing mechanism--this must be tested and dealt with if necessary).
One telnet interface will be spawned for each remote user.
For the users convenience and pleasure, this new generation
telnet-client has emacs command-line editing and history keys built in.
Each user definable environment variable corresponds to a variable in
the source code. For example "maxhits" is a integer variable
interactively set by the user of the telnet interface. So this would
correspond to an integer variable called "maxhits" in the source code.
The following are user changeable variables, their types, and their
default values (see User Manual for in-depth description of options):
Name Type Default Value
maxhits integer 100
maxhitspm integer 0
maxmatch integer 0
autologout integer 60
compress string ""
language string "english"
mailto string ""
match-domain string ""
match-path string ""
output-format string "verbose"
search string "sub"
server string "localhost"
sortby string "none"
pager boolean 0
status boolean 1
The telnet interface is designed so that adding a new command is very
simple. Each command a user can enter has a corresponding subroutine.
Any command that takes one or more arguments will have one only one
argument in it's corresponding subroutine. This argument is a string
that contains one or more of the arguments. For example, the user types
the command "set maxhits 500". The only parsing that is needed by the
main subroutine is parsing the command, in this case "set". Then the
corresponding subroutine is called like this: set("maxhits 500").
Each subroutine is responsible for parsing it's argument into separate
strings and determining validity.
The following commands are currently supported:
prog
find
help
list
mail
manpage
domains
motd
server
set
show
site
unset
version
whatis
stty
bye
quit
Go to the previous, next section.