** Brief (and hopefully useful) description of the UCX Finger support **

  This is UCX (V2.0 and later) preliminary client and server support for
FINGER. This kit is being provided due to the extended delay in getting
FINGER V2 delivered (due to my spending the last two years working on VMS
C-Kermit). These components are "unsupported" and supplied "as-is", how-
ever I _am_ interested in bug reports.

  There are two subdirectories in this kit, [.client] and [.server]. This
kit is intended to be installed on top of the current FINGER distribution,
V51.1.29. If you have an older FINGER distribution, you should first obtain
the latest kit, either by anonymous FTP to FTP.SPC.EDU (192.107.46.27) in
the [.FINGER] subdirectory, or by sending mail with text (not subject) of
GET FINGER.PACKAGE to vmsserv@spcvxa.spc.edu or vmsserv@spcvxa.bitnet.

Client installation instructions:

The [.client] directory contains the components necessary to build a vers-
ion of the FINGER command which can make outbound connections via UCX. To
install this support:

  1) Copy the files from the [.client] directory to your FINGER source dir-
     ectory

  2) Delete any exiting FINGER.OLB file in your FINGER source directory.

  3) Insert the UCX$INETDEF.MAR definitions into the system library if you
     have not already done so:

     $ LIBR/INSERT SYS$LIBRARY:STARLET.MLB SYS$LIBRARY:UCX$INETDEF.MAR

  4) Use the new UCXTEST.COM command file to recompile the FINGER components.
     (This replaces the normal FINGER_BUILD.COM procedure).

  5) Use the existing INSTALL_FINGER.COM (and optionally INSTALL_JNET_FINGER.
     COM) to create the updated FINGER.EXE with UCX support.

Client release notes/restrictions:

  1) Currently all FINGER commands sent on the link are sent in lower case.
     As the DNS is case-insensitive, this isn't a problem for host names, but
     can be a problem for user names. Since lower case is far more common on
     Unix boxes than upper/mixed, it was felt that this would be a reasonable
     compromise. A future release (FINGER V2) will allow preserving case by
     quoting text on the command line.

  2) If pass-through routing is done, extraneous /IAM qualifiers may be passed
     through to a non-VMS host (which won't understand them).

  3) This code is really lame. It was a midnight hack when I was bored. The V2
     stuff will be much better.

  4) If you FINGER a node that has more than one type of network package (TCP,
     Jnet, and/or DECnet), the client may attempt to use a package that you do
     not have a FINGER server listening on. If this happens, simply give the
     full domain name (for TCP), or a trailing .BITNET or .DECNET (for Jnet and
     DECnet, respectively) to force the correct path to be used.

  5) The client will report the hostname as you gave it on the "[hostname]"
     line. It should report the actual inverse mapping hostname, if available.
     This is a cosmetic flaw which will be corrected in FINGER V2.

Server installation instructions:

  1) UCX V2.0 is required. No way around this.

  2) Create a UCX$FINGER account with the following UAF parameters (you may
     modify the device name and UIC, of course, to match the other UCX server
     accounts):

Username: UCX$FINGER                       Owner:  UCX$FINGER
Account:  UCX$AUX                          UIC:    [374,1000] ([UCX$AUX,UCX$FINGER])
CLI:      DCL                              Tables: DCLTABLES
Default:  SYS$SYSDEVICE:[UCX$FINGER]
LGICMD:   LOGIN
Flags:  DisCtlY DefCLI Restricted DisPwdDic DisPwdHis
Primary days:   Mon Tue Wed Thu Fri        
Secondary days:                     Sat Sun
Primary   000000000011111111112222  Secondary 000000000011111111112222
Day Hours 012345678901234567890123  Day Hours 012345678901234567890123
Network:  ##### Full access ######            ##### Full access ######
Batch:    -----  No access  ------            -----  No access  ------
Local:    -----  No access  ------            -----  No access  ------
Dialup:   -----  No access  ------            -----  No access  ------
Remote:   -----  No access  ------            -----  No access  ------
Expiration:            (none)    Pwdminimum:  6   Login Fails:     0
Pwdlifetime:        180 00:00    Pwdchange:      (pre-expired) 
Last Login:            (none) (interactive), 10-DEC-1992 22:01 (non-interactive)
Maxjobs:         0  Fillm:      1024  Bytlm:       200000
Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
Maxdetach:       0  BIOlm:       400  JTquota:       1024
Prclm:           2  DIOlm:       200  WSdef:          256
Prio:            8  ASTlm:       512  WSquo:        20000
Queprio:         0  TQElm:        10  WSextent:      4096
CPU:    0 00:20:00  Enqlm:      3000  Pgflquo:      20000
Authorized Privileges: 
  CMKRNL TMPMBX WORLD OPER NETMBX SYSPRV SYSLCK
Default Privileges: 
  CMKRNL TMPMBX WORLD OPER NETMBX SYSPRV SYSLCK

  2) Define the FINGER port to UCX, as follows:

Service: FINGER
                                       
Port:               79     Protocol:  TCP             Address:  0.0.0.0
Inactivity:          0     User_name: UCX$FINGER      Process:  UCX$FINGER
Limit:               5
 
File:         SYS$SYSDEVICE:[UCX$FINGER]UCX$FINGER_STARTUP.COM
Flags:        Listen
 
Socket Opts:  Rcheck Scheck
 Receive:         3000     Send:            3000
 
Log Opts:     None
 File:        not defined
 
Security
 Reject msg:  not defined
 Accept host: 0.0.0.0
 Accept netw: 0.0.0.0

     (Note that it is easy to generate a corrupted definition. To clear such
     a definition, say "SET NOSERVICE FINGER" and try again).

  3) Create a UCX$FINGER directory in the same tree as the other UCX server
     processes. Make sure it is owned by the UCX$FINGER server and protected
     (S:RWE,O:RWE,G:RE,W:E).

  4) Restore the files from the [.server] subdirectory to the UCX$FINGER dir-
     ectory.

  5) Copy the FINGERLIB.OLB and the JLIB.OLB files from your FINGER directory
     to the UCX$FINGER directory.

  6) Change to the UCX$FINGER directory and compile UCXDAE.FOR:

     $ FORT/NOCHECK/NODEBUG UCXDAE

  7) Insert the UCX$INETDEF.MAR definitions into the system library if you
     have not already done so:

     $ LIBR/INSERT SYS$LIBRARY:STARLET.MLB SYS$LIBRARY:UCX$INETDEF.MAR

  8) Assemble NEWMAC.MAR:

     $ MACRO NEWMAC

  9) Use the UCXDTEST.COM command file to link the FINGER daemon.

 10) Try testing your new client and server by FINGERing your own node (using
     the full domain name).

 11) You will probably want to set a reasonable version limit (I suggest 5)
     on the .LOG and .ERR files in the UCX$FINGER directory.

Server release notes/restrictions:

  1) This code is not as bad of a hack as the client.

  2) The long delay when FINGERing a UCX node is due to VMS process creation
     overhead in the UCX Auxiliary Server.

  3) Using TELNET to connect to port 79 (the FINGER port) may not display any
     useful output (just "connection closed"). This is a flaw in the UCX V2
     TELNET program, not in the FINGER server.

  4) Currently the server does not log activity. This feature is planned for
     FINGER V2.

	Terry Kennedy		Operations Manager, Academic Computing
	terry@spcvxa.bitnet	St. Peter's College, Jersey City, NJ USA
	terry@spcvxa.spc.edu	+1 201 915 9381