4.4BSD/usr/src/sys/tests/nfs/billboard/README

Product Description:
-------------------
    	The BillBoard is an RPC service program which maintains
    	the information about testsuite completions.  There are 2 parts to the
  	program, the client and the server.  The client provides an interface
	with which the user may update or view testsuite completions.  The
	server maintains all data input by the client.
	In order for a client to access or modify any data on the server
	it must be supplied with an identifier.  The server uses this
	identifier as a key for data access.  The identifiers will be assigned
	by Sun and will be issued at Connectathon.  For the purpose of testing
	the billboard programs on your machine, you use the identifiers
	which you specify in the bb_data.company file.  An example data file
	is provided for you and includes a description of the file.  A
	password may be set for each identifier to provide some measure of
	security.

	There are 2 versions of the program:  
	billboard and bb are the client and server program respectively for 
			 the NFS testsuites. 

	xbillboard and xbb are the client and server program respectively for 
			   the X testsuites. 


Usage:
-----
	Client:
	------
	1) Set the environment variable BB_SERVER to the hostname of the
	   machine running the billboard server,
	   eg. If we are using the billboard programs for the NFS testsuites 
	       and the host running bb server is "holy_cow", then you may
	       do this
			%setenv BB_SERVER holy_cow

	2) Run the client program:
	   for the NFS testsuites:
	 	billboard [-s|-u client_identifier server_identifier]
           		  [-a|-b client_identifier]
           		  [-c|-d server_identifier]
			  [-p identifier]

	   for the X testsuites:
	 	xbillboard [-s|-u client_identifier server_identifier]
           		   [-a|-b client_identifier]
           		   [-c|-d server_identifier]
			   [-p identifier]

	   options:
 		-s client_identifier server_identifier>
 		   	is to set test between client_identifier and 
 		   	server_identifier as successfully tested
 		-u client_identifier server_identifier
 		   	to set test between client_identifier and 
 		   	server_identifier as NOT successfully tested
 		-a client_identifier
 			to list server implementations that are successfully
 			tested against client client_identifier
 		-b client_identifier
 			to list server implementations that are NOT 
			successfully tested against client client_identifier
 		-c server_identifier
 			to list client implementations that are successfully
 			tested against server server_identifier
 		-d server_identifier
 			to list client implementations that are NOT 
 			successfully tested against server server_identifier
 		-p identifier
 			to change the password of the identifier implementation.
   			There is a password for each implementation.
 		   
 		where 
		    	client_identifier and server_identifier are
 		      	identifiers of the client and server implementation
 		      	respectively.
 
		If no option is specified, the program is in interactive mode.
 		Whereby the user is presented with a list of options 
		(same as the features described above) to choose from.  
		User will be prompted for any additional data.

    	Server:  
	-------
	1) In order to use the billboard server you must edit the file
    	   named bb_data.company.  This file contains entries for each 
	   implementation to be tested.  The file itself contains information 
	   about it's structure and syntax.  

	2) Start the billboard server from the same directory where the 
	   bb_data.company file exists.  The name of the executable is bb for
	   NFS testsuite server, and xbb for X testsuite server.


Porting	Note:
------------
The current implementation runs on all Sun platforms.
You will need to port the client programs, (i.e. billboard if you are testing 
NFS at Connectathon, and xbillboard if you are testing X).
Though, you do need to port the servers to your machine to test the client 
programs, both servers will be provided and run on a Sun machine at 
Connectathon.

All sources are in the src/ directory.
Sources for client program uses "billboard" as prefix, and  server use
"bb" as prefix.  The Makefile contains compilation instructions for both
client and servers.  protocol.x is the the protocol to be used with rpcgen.

To compile:
	%cd src
	%make		makes client and server executables, OR
	%make debug	makes with -g option

What can be modified:
--------------------
1) At Connectathon the billboard servers will be run ONLY on a Sun machine,
   hence, only the client program may be modified to your liking.

2) The password encryption algorithm can be modified in _bb_get_passwd() 
   (billboard.c).  The algorithm used is UNIX DES with a fixed salt key, you
   are welcome to implement your own.