Server Work to be done
----------------------
1) Implement tracking of locks
2) Add new packet for saving and restoring states
3) Implement freeing of locks when a session is lost
4) Implement freeing of phoney locks
5) Add full security
6) Implement new 2.0 packets
7) Protect against / up too many levels...
8) Implement pseudolocks for handlers...
9) Determine method of handling requesters for df0: when running from workbench
10) Implement interactive lock management by creating a message port.

Method of handling security:
Assume the existance of a logical assign
   net_exports:
Underneath this directory we will have several files and directories:

  icons/        - contains all icons for high level names.  There will be two
                  special names:
                     __DEFAULT__.info    which will be used for any directory
                                         that does not have a default icon.  If
                                         this does not exist then we will assume
                                         that no icons are to be returned.  These
                                         should all be of type drawer.
                     __NODE__.info       This is the icon to be utilized for the
                                         node.  It should be of type drawer.
                                         
                                        
  access/       - contains the default access rules for all file systems to be
                  exported.  These files will be in the form:
                     Default: (Include|Readonly|Shared|Exclude)
                     Password: <password>
                     <assign>: [(Include|Shared|Readonly|Exclude)] [Assign name]
                  The Default: and Password: lines MUST be the first two lines in
                  that order.   On each subsequent line will be those logical assigns
                  that are to be treated as other than the default.  If no other
                  assigns to be treated specially then the file may consist of only
                  two lines.  The Password keyword is used to validate access to the
                  network.  If no password is given, access is available to anyone.
                  Default may be one of 4 selections:
                      DEFAULT: INCLUDE  -  Indicates that all top level nodes are to
                                           included in the root file system.  Access
                                           to the nodes is in a shared R/W mode
                      DEFAULT: SHARED   -  Same as DEFAULT: INCLUDE
                      DEFAULT: READONLY -  Indicates that all top level nodes are to
                                           be included in the root file system but in
                                           a read-only mode.
                      DEFAULT: EXCLUDE  -  Indicate the no nodes are to be included in
                                           the root file system.
                  These same keywords may be used on any assign that appears on a
                  subsequent line.  It may also have the keyword ASSIGN name which
                  indicates that the assigned name to appear is not really an existing
                  assign, but a local assign to be made to the given directory.  Note
                  that when this type of assign is used, no access to anywhere above
                  in the directory tree is to be allowed.
                - Any line that starts with a pound sign (#) or a semicolon (;)
                  will be treated as a comment and ignored.
                - The default access file will be called __DEFAULT__. if it is not
                  present, then a default file consisting of the commands:
                     DEFAULT: SHARED
                     PASSWORD:
                  will be assumed allowing complete access to all entries and no
                  password access required.
                - Additional files will be present in the directory corresponding to
                  users who are to be granted access.  This allows different users
                  to have different levels of access.
  server-config - Contains the configuration information about which devices to be
                  listened to.  This file will consist of individual lines in the
                  form:
                     <method> [<unit> [<device> [<config1> [<config2>] ] ] ]
                  Where method is the name of the network handler to be utilized.
                  Currently we support:
                     INET   - Commodore's Ethernet implementation of TCPIP
                     DNET   - Matt Dillon's Dnet link protocol for serial port
                     PNET   - ParNet for communications over the parallel port
                     SNET   - Simple serial line communicatoins
                     TSSNET - Syndesis's DecNet implementation
                     APTALK - Appletalk card
                     LANROVER - ASDG's LAN Rover Ethernet Card
                     HYDRA  - Hydra Systems Ethernet board
                  <unit> is the optional unit number.  Each method has its own
                         default value.
                  <device> is the optional default device to be used.  Each method
                           has its own default.
                  <config1> is the optional numeric device specific value.  For DNET
                            and SNET it is the serial baud rate to be used.  For the
                            others it is currently parsed but ignored.
                  <config2> is the second optional numeric device specific value.
                            It is parsed but currently ignored by all methods.
                  The method is not limited to the above list.  The server will
                  simply take the method and open a library of the name:
                       NET-<method>.library
                  and call access routines in the library to perform the operations.
                  The parameters to this library are detailed below.
                  Note that if the server fails to open a library it will put up a
                  requester indicating so and then ignore the entry.  If after
                  processing all entries it has not encountered a valid entry, the
                  server will immediately terminate.
                - Any line that starts with a pound sign (#) or a semicolon (;)
                  will be treated as a comment and ignored.

