packages icon



 GN(8)                                                                 GN(8)
                                 1993 Sept 7



 NAME
      gn - A server for the internet gopher protocol and Hyper Text Transfer
      Protocol

 SYNOPSIS
      gn [-a | -A] [-L logfile | -S] [-k uid# | -K gid#] [-c cache] [-t
      http_root_title] [rootdir]

 DESCRIPTION
      GN is a server for the internet gopher protocol and HTTP (gopher is a
      registered trademark of the University of Minnesota).

      GN Options

      The following optional arguments are accepted by gn:

      rootdir
           The complete path name of the directory which is the root of the
           hierarchy of data files.  A default value is set in the source
           file config.h.

      The following options are accepted by gn:

      -a   Limit access to the server to those clients with an IP address,
           subnet address, or host domain name listed in the file .access in
           the root data directory.  The format of the .access file is one
           address per line, each line consisting of an IP address like
           129.111.222.123, a subnet address like 129.111.222 or 129.111 or
           a domain name that can include wildcards like nwu.edu or
           *.cc.nwu.edu.  In case a subnet address is listed, any client
           with an IP address beginning with that subnet address will be
           allowed access.  If a simple host name is used like math.nwu.edu
           then only the machine math.nwu.edu is allowed access.  If a
           wildcard such as *.math.nwu.edu then only machines in the
           math.nwu.edu domain are allowed access but not the cc.nwu.edu
           machine if one exists.  Hosts or domains can be disallowed by
           prefixing their name with '!'.  Thus a line containing !*.nwu.edu
           would prevent access from any host in the nwu.edu domain.

      -A   This option is similar to the -a option except access is allowed
           on a per directory basis.  Each client request is processed by
           first looking for a .access file in the directory containing the
           requested item and comparing the IP address of the client with
           the addresses in this file.  If no .access file exists in this
           directory, one is sought in the parent directory and then if
           necessary the parent of the parent, etc., up to the root data
           directory.  If no .access file is found by this process access is
           allowed to all clients provided the item requested exists in a
           .cache file.  Menu items corresponding to directories for which a
           host does not have access are not shown to that host.




                                    - 1 -         Formatted:  April 25, 2024






 GN(8)                                                                 GN(8)
                                 1993 Sept 7



      -c cachefile
           Use cachefile, instead of the default, .cache, as the name of the
           file in each directory of the data hierarchy containing the
           cached list of menu items, their paths, hosts and ports.  No file
           is sent by gn to a client unless it is listed in one of these
           cache files or is itself one of these cache files. These files
           are produced by the companion program mkcache or .cache files
           produced by the University of Minnesota gopherd server can be
           used.

      -k user_id | -K group_id
           With these options the server will check the user or group id of
           a cachefile and if it is not the same as that specified the
           documents listed in that cachefile will not be served.  See the
           Security Guide.

      -L logfile | -S
           If the -L option is used logging is turned on and the file
           logfile is used as the file in which to record gn transactions.
           If the -S option is used then the UNIX system logging daemon,
           syslogd, will be used.  You may need to edit your
           /etc/syslog.conf file for this to work (see your local manual).
           The facility used is DAEMON, and the level is INFO.  If neither
           of these options are used, no logging will take place.

      -t http_root_title
           Use http_root_title as the title and heading of the root menu
           when doing an HTTP transaction instead of the value set in
           config.h via a #define.  If the empty string "" is used as the
           value then no title or heading will be used and and these can be
           set in the menu file of the root menu.  This option only affects
           HTTP transactions.  There is no mechanism in the gopher protocol
           for sending a root menu title.


      GN only runs under inetd. This means that to use it you need to enter
      it in two files - /etc/services and /etc/inetd.conf. The entries in
      these files look something like this:

           gn  70/tcp
      for /etc/services and

           gn  stream tcp nowait    nobody    /path/gn gn -L /path/gn.log
      for /etc/inetd.conf. See the man page inetd.conf(5).

 SETTING UP A ``SEARCH ALL MENUS''
      A builtin feature of gn is the ability to have a menu item which when
      selected prompts the user for a search term and returns a ``virtual
      menu'' of all menu items which contain that term.  In fact such an
      item can occur at any level and return either all matches from all
      menus on that server or all matches at or below some chosen level.



                                    - 2 -         Formatted:  April 25, 2024






 GN(8)                                                                 GN(8)
                                 1993 Sept 7



      Here's how to set it up.  Create an entry like this in the menu file
      where you want the search item to occur:

           Name=Search all menus on this server
           Type=7
           Path=7c/.cache
           Host=your.gn.host.edu
           Port=70
      (If you want the search to cover only those items in directory
      /foo/bar, then the path line should be Path=7c/foo/bar/.cache) Then
      run mkcache to translate the new menu file to a .cache file and you
      are done.  When you change any of the menus in your server and remake
      the .cache files gn will automatically reflect this in menu searches.
      There is a maximum depth which gn will search into the gn hierarchy.
      Its value can be changed by editing the config.h file and re-
      compiling.

 UNRESTRICTIONS
      GN is free; anyone may redistribute copies to anyone under the terms
      stated in the Free Software Foundation's General Public License, a
      copy of which accompanies the gn software package.

      The author encourages you to improve and extend gn.

 AUTHOR
      GN

      was written by John Franks, Dept. of Mathematics, Northwestern
      University (john@math.nwu.edu).  Contributions have been made by a
      number of people including Earle Ake, Henry Cejtin, Paul DuBois,
      Jishnu Mukerji, Marko Nordberg, Jim Rees, Stephen Trier, Ed Vielmetti,
      and Rico Tudor.






















                                    - 3 -         Formatted:  April 25, 2024