home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / UNIX / ARCHIE / CLIENTS / NEXTARCH.TAR / NeXTArchie / include / psite.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-07-24  |  10.9 KB  |  307 lines

  1. /*
  2.  * Copyright (c) 1989, 1990, 1991 by the University of Washington
  3.  *
  4.  * For copying and distribution information, please see the file
  5.  * <uw-copyright.h>.
  6.  */
  7.  
  8. #include <uw-copyright.h>
  9.  
  10. /*
  11.  * psite.h - site selected parameters for Prospero
  12.  *
  13.  * This file contains local definitions for the Prospero utilities.
  14.  * It is expected that it will be different on different systems.
  15.  */
  16.  
  17. /*
  18.  * P_BINARIES defines the name of the directory in which
  19.  * Prospero binaries will be installed.
  20.  */
  21. #define P_BINARIES            "/usr/pfs/bin"
  22.  
  23. /*
  24.  * Distribution options.  By default, these options are supported.
  25.  * if your distribution does not include support for filters
  26.  * define P_NO_FILTERS.  If your distribution does not include
  27.  * the compatability library define P_NO_PCOMPAT.
  28.  *
  29.  * #define P_NO_FILTERS
  30.  * #define P_NO_PCOMPAT
  31.  */
  32. #define P_NO_FILTERS
  33.  
  34. /*
  35.  * P_AFS is the name of the directory under which AFS files are found.
  36.  * If should be set only if your system supports the Andrew File System.  
  37.  *
  38.  * #define P_AFS "/afs"  
  39.  */
  40.  
  41. /*
  42.  * If NFS is supported P_NFS should be defined.  If set, NFS may
  43.  * be used to retrieve files from remote systems.  
  44.  *
  45.  * #define P_NFS
  46.  */
  47.  
  48. /*
  49.  * Section 1: System Definitions for the Prospero Server
  50.  *
  51.  * This section contains definitions that will vary from system to system.
  52.  * They are used only on systems that are running the Prospero server.
  53.  */
  54.  
  55. /*
  56.  * PROSPERO_CONTACT specifies the e-mail address of the individual
  57.  * or individuals responsible for running the Prospero server on the 
  58.  * local system.  If specified, this string will appear in responses to 
  59.  * status requests.  This definition is optional.
  60.  *
  61.  * #define PROSPERO_CONTACT "yourname@site"
  62.  */
  63.  
  64. /* 
  65.  * PSRV_HOSTNAME specifies the name of the host on which the server 
  66.  * will run.  It only needs to be defined if gethostbyname does not 
  67.  * return the name of the host as a fully qualified domain name.
  68.  *
  69.  * #define PSRV_HOSTNAME          "JUNE.CS.WASHINGTON.EDU"
  70.  *
  71.  */
  72.  
  73. /* 
  74.  * P_USER_ID and P_GROUP_ID specify the user and group names under which
  75.  * the Prospero server will run.
  76.  */
  77. #define P_USER_ID             "pfs"
  78. #define P_GROUP_ID            "pfs"
  79.  
  80. /* 
  81.  * P_RUNDIR is the name of the directory under which the Prospero
  82.  * server will run.  If left out, it defaults to /tmp.
  83.  *
  84.  * #define P_RUNDIR          "/tmp"
  85.  */
  86.  
  87. /*
  88.  * PSRV_ROOT defines that part of the system's directory tree for which
  89.  * directory information will be readable over the network.  Directory
  90.  * information will also be available for files under AFTPDIRECTORY and
  91.  * AFSDIRECTORY if these access methods are supported.
  92.  *
  93.  * If PSRV_ROOT is not defined, then directory information will only be
  94.  * available for those files under AFTPDIRECTORY or AFSDIRECTORY.
  95.  *
  96.  * Note: PSRV_ROOT must be the true name for the directory after
  97.  *       all symbolic links have been expanded.
  98.  *
  99.  * #define PSRV_ROOT        "/"
  100.  */
  101.  
  102. /*
  103.  * PSRV_READ_ONLY specifies that the server is only to accept
  104.  * operations that read the directory structure. No changes to virtual
  105.  * directories stored on this system will be allowed.  NODOTDOT is used to
  106.  * disallow the use of path names that include "..".  If you are
  107.  * restricting the part of the directory tree which will be accessible
  108.  * (i.e. if PSRV_ROOT is other than "/"), NODOTDOT should be set.
  109.  *
  110.  * #define PSRV_READ_ONLY
  111.  * #define NODOTDOT
  112.  */
  113. #define PSRV_READ_ONLY
  114. #define NODOTDOT
  115.  
  116. /*
  117.  * P_SHADOW is the name of the shadow hierarchy that will contain additional 
  118.  * information about Prospero files.  P_STORAGE is the name of the directory
  119.  * under which new files can be created, if that option is supported by
  120.  * your distribution.  Both names are relative to the home directory for the
  121.  * user ID specified by P_USER_ID.  
  122.  */
  123. #define P_SHADOW              "shadow"
  124. #define P_STORAGE             "pfsdat"
  125.  
  126. /*
  127.  * If P_UNDER_UDIR is defined, pstart calculates the full path names of
  128.  * of the directories corresponding to P_SHADOW and P_STORAGE by
  129.  * finding the home directory for the Prospero user ID, then appending
  130.  * P_SHADOW or P_STORAGE.
  131.  *
  132.  * If P_UNDER_UDIR is not defined, or if dirsrv is called directly,
  133.  * the full path names are taken from P_FSHADOW and P_FSTORAGE.  These
  134.  * should be stable names for those directories.  They may be aliases
  135.  * (symbolic links) if the directories move around.  If they are symbolic
  136.  * links, the links should be updated whenever the directories move.
  137.  *
  138.  * Note that if P_UNDER_UDIR is set, the full path names are calculated 
  139.  * only when the Prospero server is started by pstart.  If you expect
  140.  * to start the server by hand (for example, when debugging), P_FSHADOW 
  141.  * and P_FSTORAGE should also be defined.
  142.  */
  143. #define P_UNDER_UDIR
  144.  
  145. #define P_FSHADOW          "/usr/pfs/shadow"
  146. #define P_FSTORAGE          "/usr/pfs/pfsdat"
  147.  
  148. /*
  149.  * AFTPDIRECTORY contains the name of the root directory as seen through
  150.  * anonymous FTP.  It is used to determine which files may be accessed
  151.  * using the anonymous FTP access mechanism, and to determine the file name
  152.  * that must be used when doing so.  It also adds to the set of files about 
  153.  * which directory information is available.
  154.  *
  155.  * Note: AFTPDIRECTORY should be a stable name for the FTP directory.
  156.  *       It may be an alias (symbolic link) if the FTP directory
  157.  *       moves around.  If it is a symbolic link, that symbolic link should
  158.  *       be updated whenever the directory moves.
  159.  */
  160. #define AFTPDIRECTORY           "/usr/ftp"
  161.  
  162. /*
  163.  * AFTPUSER contains the name of the anonymous FTP user (usually ftp)
  164.  * If defined, pstart will look up the home directory for this user
  165.  * and use it instead of AFTPDIRECTORY.  If it fails, the value of
  166.  * AFTPDIRECTORY (defined above) will be used.  
  167.  *
  168.  * Note that if AFTPUSER is set, the path name of the FTP directory is
  169.  * calculated only when the Prospero server is started by pstart. 
  170.  * If you expect to start the server by hand (for example, when
  171.  * debugging), AFTPDIRECTORY should also be defined.
  172.  *
  173.  * Also note that when started by pstart, if AFTPUSER is defined, the
  174.  * path taken from the password file will override that specified by
  175.  * AFTPDIRECTORY.  If AFTPDIRECTORY is a stable path, do not define 
  176.  * AFTPUSER.
  177.  *
  178.  * #define AFTPUSER         "ftp"
  179.  */
  180.  
  181. /*
  182.  * NFS_EXPORT should be defined if your system allows others to 
  183.  * access files using NFS.  If defined, you will have to modify
  184.  * lib/psrv/check_nfs.c so that the directory server is aware of 
  185.  * your system's policy for NFS mounts (this is necessary so that 
  186.  * the directory server will not tell the client to use NFS when
  187.  * such access is not supported).
  188.  *
  189.  * #define NFS_EXPORT
  190.  */
  191.  
  192. /*
  193.  * AFSDIRECTORY contains the name of the root of the AFS directory
  194.  * hierarchy.  It should only be defined if your host supports AFS
  195.  * and you are willing to make information about AFS files available
  196.  * through your server.  AFSDIRECTORY is used to to determine which files
  197.  * may be accessed using the AFS access mechanism.  It also adds to
  198.  * the set of files about which directory information is available.
  199.  *
  200.  * Note: AFSDIRECTORY must be the true name for the directory
  201.  *       after all symbolic links have been expanded.
  202.  *
  203.  * #define AFSDIRECTORY           "/afs"
  204.  */
  205.  
  206. /*
  207.  * DATABASE_PREFIX contains the name of the prefix to be used for directory
  208.  * names when the Prospero server is to provide information from sources 
  209.  * other than the file system.  On most systems this option will not be
  210.  * supported.
  211.  *
  212.  * #define DATABASE_PREFIX           "DATABASE"
  213.  */
  214.  
  215. /*
  216.  * DEFAULT_ACL, SYSTEM_ACL, and OVERRIDE_ACL are access control lists used 
  217.  * to control access to Prospero directories.  DEFAULT_ACL applies
  218.  * to those directories for which no individual access control list
  219.  * has been specified.  All access control lists initially include
  220.  * SYSTEM_ACL, but the entry may be explicitly removed by the administrator
  221.  * of a directory or link.  OVERRIDE_ACL grants rights to a directory 
  222.  * regardless of the contents of any other access control list.  Up to
  223.  * two entries for each of these lists may be specified in this include 
  224.  * file.  If more are needed, see the initialize_defaults routine in *
  225.  * lib/psrv/check_acl.c.
  226.  */
  227. #define DEFAULT_ACL_1  {ACL_ANY, NULL, "Yvlr", NULL}
  228. #define DEFAULT_ACL_2  {ACL_ASRTHOST, NULL, "YIvlrmd", "*@%.%.%.*"}
  229. #define SYSTEM_ACL_1   {ACL_ASRTHOST, NULL, "ALRMDI", \
  230.             "vfs@128.95.1.* prospero@128.9.*.*"}
  231. #define OVERRIDE_ACL_1 {ACL_OWNER, NULL, "A", NULL}
  232. #define OVERRIDE_ACL_2 {ACL_TRSTHOST, NULL, "A", "root@%.%.%.%"}
  233.  
  234. /*
  235.  * PFS_LOGFILE is the name of the file in which events are logged.  
  236.  * By default Prospero logs all requests.  If you would like to
  237.  * change the list of events that are logged, or if you would
  238.  * like to use syslog for logging, edit the file plog.h.
  239.  */
  240. #define PFS_LOGFILE        "/usr/pfs/pfs.log"
  241.  
  242. /*
  243.  * DSHADOW and DCONTENTS are the names of the file in the shadow
  244.  * directory used to store information about directories.  There
  245.  * should be no need to change them.
  246.  */
  247. #define DSHADOW            ".directory#shadow"
  248. #define DCONTENTS        ".directory#contents"
  249.  
  250. /*
  251.  * Section 2: Site Definitions for the Prospero Applications
  252.  *
  253.  * The definitions in the following section define the Prospero site.
  254.  * They will not change from system to system.  These definitions
  255.  * should only be changed if you are setting up your own prospero
  256.  * site.  Setting up a site is different than installing the software
  257.  * on a new system.  Unless your site supports storage of new virtual
  258.  * systems, do not change these definitions. 
  259.  */
  260.  
  261. /*
  262.  * P_SITE_HOST and DIRECTORY define the system level name of the
  263.  * virtual directory under which site data and meta-data are stored. 
  264.  * It will vary from site to site.
  265.  */
  266. #define P_SITE_HOST           "JUNE.CS.WASHINGTON.EDU"
  267. #define P_SITE_DIRECTORY      "/u1/vfs/pfsdat"
  268.  
  269. /*
  270.  * P_SITE_MASTER_VSLIST is the name of the virtual directory (relative
  271.  * to P_SITE) under which reference to local virtual systems can be
  272.  * found.  When setting up a new site, choose a one component name
  273.  * that seems appropriate.
  274.  */
  275. #define P_SITE_MASTER_VSLIST  "vs_root_uw-guest"
  276.  
  277. /*
  278.  * P_MASTER_VS is the name (relative to MASTER_VSLIST) of the virtual
  279.  * system to be used when creating new virtual systems with newvs.
  280.  * There should be no need to change these definitions.
  281.  */
  282. #define P_MASTER_VS           "master"
  283. #define P_PROTOTYPE_VS        "prototype"
  284.  
  285. /* 
  286.  * P_SITE_STORAGE is the name (relative to master) of a directory
  287.  * with references to the storage areas of the individual systems that 
  288.  * compose a site. There should be no need to change this
  289.  * definitions.
  290.  */
  291. #define P_SITE_STORAGE        "pfs_storage"
  292.  
  293. /*
  294.  * P_VS_STORAGE is the name (relative to the directories named in
  295.  * P_SITE_STORAGE) of the directory under which new virtual systems
  296.  * may be stored.  There should be no need to change this definition.
  297.  */
  298. #define P_VS_STORAGE          "local_vsystems"
  299.  
  300. /*
  301.  * P_GLOBALE_VS_ROOT* is a reference to the global root for the
  302.  * underlying ugly-names of virtual systems.  These definitions must not
  303.  * be changed.
  304.  */
  305. #define P_GLOBAL_VS_ROOT_HOST "JUNE.CS.WASHINGTON.EDU"
  306. #define P_GLOBAL_VS_ROOT_FILE "/u1/vfs/pfsdat/vs_root_g"
  307.