|
NAME.cache - description files for the GoFish gopher serverDESCRIPTIONThe GoFish gopher server uses .cache files for directory listings. A serve as a directory page. GoFish will serve *any* page that resides inside the chroot jail and has read permissions for the gopher uid/gid.However, unless the caller has prior knowledge of a file, only files specified in the .cache file will be displayed. The .cache file does not need to contain only the files in the current directory. Any file in gopherspace, and this means external as well as internal files, can be put in the .cache. FILE FORMATThe .cache file is an ascii text file. It is sent to the client as the directory listing. This means that the .cache file must match the gopher spec. Here is my take on a BNF for GoFish.<type><desc>tab[019]<path>tab<server>tab<port> tab - is the ASCII tab character as per the gopher spec
EXAMPLE0Text File 0/text.txt domain.com 70 hHTML File 0/text.html domain.com 70 9Binary File 9/binary.tgz domain.com 70 Iimage.gif 9/image.gif domain.com 70 1Directory 1/asubdir/ domain.com 70 FILE TYPESAt a basic level GoFish only understands two types of file: text (0) and binary (9). Directory specifications (1) are special in the GoFish knows to concat the .cache to the end of the specification. But it is then treated as a text file.There is a distinction between text and binary files because the gopher spec says that text files end with a period (.) on a line by itself. Binary files are sent raw. Most modern clients have no problem with sending a text file marked binary. In fact, both Netscape and IE will display the final . from a text file. However, for old clients, you should specify the text files as such. The gopher type at the start of a line can be more expressive. This tells the client what type of file it is. For example, an html file will be processed by Netscape/IE as an html file. A binary file will popup a dialog box asking if you want to save the file. An image will be displayed if possible. FILE PERMISSIONSGoFish must run as root to be able to accept connections on the privileged port 70. However, it does not need to be root to serve the files. GoFish drops to a non-privileged user while opening the file. This means you can protect special files if you want. GoFish has no checking, it will server any file that the user knows the name of.SEE ALSOgofish(1)AUTHORWritten by Sean MacLennanREPORTING BUGSReport bugs to <headgopher@seanm.ca>.COPYRIGHTCopyright © 2002 Sean MacLennanThis is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Visit the GSP FreeBSD Man Page Interface. |