STPServerDoc.tioga
Rick Beach, June 17, 1985 9:39:03 am PDT
Spreitzer, September 4, 1985 5:25:00 pm PDT
Michael Plass, December 30, 1985 3:26:33 pm PST
1. STP Server Operation
Basics
An STPServer accepts certain file transfer requests from other machines. During normal operation whenever it accepts a transfer connection, an iconic viewer is created that lets you know what is going on; if you ignore the icon, it will go away when the connection closes. Alternatively, you can open the viewer to see the requests that are being made, and who is responsible.
When retrieving files through an STPServer, it is a good idea to use "copy -c"; otherwise only an attachment is made, and you are relying on the STPServer to be available when the file is actually opened.
Access Control
The STPServer uses a very simple-minded access control scheme. Any grapevine-authenticated user is allowed to list directories. Read access is controlled by the local file
[]<>STPServer.readAccess
create access is controlled by the local file
[]<>STPServer.createAccess
anyone with an RName listed in this file will be allowed to read (retrieve) files. The list may contain group names, e.g., CedarUsers^.pa.
Name Mapping
The STPServer will perform substitutions between the names it speaks to its clients and the names it speaks to FS. The STPServer keeps a list of pairs [remoteFrag, localFrag: ROPE], such that whenever a remoteFrag appears in a file name it is speaking to its client, the corresponding localFrag appears in the name it is speaking to FS. This is good for making a random Cedar workstation into one of the real servers behind some pseudo-server. The list of pairs is found in your user profile, under STPServer.NameMappings: TokenList ← NIL. For example, to make your machine a real server for directory Fubar of pseudo-server Bazola, copy []<>Fubar> ← [Bazola]<Fubar>*, and have the profile entry:
STPServer.NameMappings: <Fubar> <>Fubar>
File Translation
STPServer may be used to perform certain kinds of file translations, by asking for a file with a pseudo-name that specifies both the translation desired and the input file name. For example, suppose there were a machine named Favor that was running STPServer. To obtain a plain text rendition of a Tioga document [Indigo]<abc>xy.z, a user would retrieve the file
[Favor]<TextFromTioga>Indigo>abc>xy.z
and would get the result of doing a WritePlain on [Indigo]<abc>xy.z. For the translation services, the access control of the input file is used.
The file translation services are primarily for non-Cedar users on the network who would like to get a usable form of a file that is in a format parochial to the Cedar environment.
Since the actual file sizes cannot be known, in general, without actually doing the translation, the list operation estimates the size of the translated file by rounding the size of the untranslated file up to a multiple of 1000.
The "create" time for a translated file is invented by adding one second to the create time of the untranslated file.
Current File Translation services:
TextFromTioga — Translate Tioga file to unformatted text file.