 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			236 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			236 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #	$NetBSD: README,v 1.2 1998/01/09 04:11:52 perry Exp $
 | |
| 
 | |
| RPCSRC 4.0 7/11/89
 | |
| 
 | |
| This distribution contains Sun Microsystem's implementation of the
 | |
| RPC and XDR protocols and is compatible with 4.2BSD and 4.3BSD.  Also
 | |
| included is complete documentation, utilities, RPC service
 | |
| specification files, and demonstration services in the format used by
 | |
| the RPC protocol compiler (rpcgen).  See WHAT'S NEW below for
 | |
| details.
 | |
| 
 | |
| NOTE ABOUT SECURE RPC:
 | |
| 
 | |
| This release of RPCSRC contains most of the code needed to implement
 | |
| Secure RPC (see "DES Authentication" in the RPC Protocol Specification,
 | |
| doc/rpc.rfc.ms).  Due to legal considerations, we are unable to
 | |
| distribute an implementation of DES, the Data Encryption Standard, which
 | |
| Secure RPC requires.  For this reason, all of the files, documentation, and
 | |
| programs associated with Secure RPC have been placed into a separate
 | |
| directory, secure_rpc.  The RPC library contained in the main body of this
 | |
| release *DOES NOT* support Secure RPC.  See secure_rpc/README for more
 | |
| details.  (A DES library was posted in Volume 18 of comp.sources.unix.)
 | |
| 
 | |
| If you wish to report bugs found in this release, send mail to:
 | |
| 
 | |
| Portable ONC/NFS
 | |
| Sun Microsystems, Inc
 | |
| MS 12-33
 | |
| 2550 Garcia Avenue
 | |
| Mountain View, CA  94043
 | |
| 
 | |
| or send Email to nfsnet@sun.com (the Internet) or sun!nfsnet (Usenet).
 | |
| 
 | |
| ROADMAP
 | |
| 
 | |
| The directory hierarchy is as follows:
 | |
| 
 | |
|     demo/       Various demonstration services
 | |
|     demo/dir        Remote directory lister
 | |
|     demo/msg        Remote console message delivery service
 | |
|     demo/sort       Remote sort service
 | |
| 
 | |
|     doc/        Documentation for RPC, XDR and NFS in "-ms" format.
 | |
| 
 | |
|     etc/        Utilities (rpcinfo and portmap).  portmap must be
 | |
|                 started by root before any other RPC network services are
 | |
|                 used.  SEE BELOW FOR BUGFIX TO 4.3BSD COMPILER.
 | |
| 
 | |
|     man/        Manual pages for RPC library, rpcgen, and utilities.
 | |
| 
 | |
|     rpc/        The RPC and XDR library.  SEE BELOW
 | |
|                 FOR BUGFIX TO 4.2BSD COMPILER.
 | |
| 
 | |
|     rpcgen/     The RPC Language compiler (for .x files)
 | |
| 
 | |
|     rpcsvc/     Service definition files for various services and the
 | |
|                 server and client code for the Remote Status service.
 | |
| 
 | |
|     secure_rpc/ The files in this directory are used to build a version of
 | |
|                 the RPC library with DES Authentication.  See the README
 | |
|                 file in that directory for more details.
 | |
| 
 | |
| BUILD INSTRUCTIONS
 | |
| 
 | |
| Makefiles can be found in all directories except for man.  The
 | |
| Makefile in the top directory will cause these others to be invoked
 | |
| (except for in the doc, man and demo directories), in turn building the
 | |
| entire release.
 | |
| 
 | |
| WARNING!  THE DEFAULT INSTALLATION PROCEDURES WILL INSTALL FILES
 | |
| IN /usr/include, /usr/lib, /usr/bin and /etc.
 | |
| 
 | |
| The master RPC include file, rpc/rpc.h, is used by all programs and
 | |
| routines that use RPC.  It includes other RPC and system include files
 | |
| needed by the RPC system.  PLEASE NOTE: If your system has NFS, it
 | |
| may have been based on Sun's NFS Source.  The include files installed
 | |
| by this package may duplicate include files you will find on your NFS
 | |
| system.  The RPCSRC 4.0 include files are upwardly compatible to all
 | |
| NFS Source include files as of the date of this distribution (not
 | |
| including any new definitions or declarations added by your system
 | |
| vendor).  HOWEVER: Please read the comments towards the end of
 | |
| rpc/rpc.h regarding rpc/netdb.h.  You may need to uncomment the
 | |
| inclusion of that file if the structures it defines are already
 | |
| defined by your system's include files.
 | |
| 
 | |
| After making any compiler fixes that are needed (see below), at
 | |
| the top directory, type:
 | |
| 
 | |
|     make install
 | |
| 
 | |
| For all installations, the Makefile macro DESTDIR is prepended to the
 | |
| installation path.  It is defined to be null in the Makefiles, so
 | |
| installations are relative to root.  (You will probably need root
 | |
| privileges for installing the files under the default path.)  To
 | |
| install the files under some other tree (e.g., /usr/local), use the
 | |
| command:
 | |
| 
 | |
|     make install DESTDIR=/usr/local
 | |
| 
 | |
| This will place the include files in /usr/local/usr/include, the RPC
 | |
| library in /usr/local/usr/lib, rpcgen in /usr/local/usr/bin, and the
 | |
| utilities in /usr/local/etc.  You'll have to edit the Makefiles or
 | |
| install the files by hand if you want to do anything other than this
 | |
| kind of relocation of the installation tree.
 | |
| 
 | |
| The RPC library will be built and installed first.  By default it is
 | |
| installed in /usr/lib as "librpclib.a".  The directory
 | |
| /usr/include/rpc will also be created, and several header files will
 | |
| be installed there.  ALL RPC SERVICES INCLUDE THESE HEADER FILES.
 | |
| 
 | |
| The programs in etc/ link in routines from librpclib.a.  If you change
 | |
| where it is installed, be sure to edit etc/'s Makefile to reflect this.
 | |
| These programs are installed in /etc.  PORTMAP MUST BE RUNNING ON
 | |
| YOUR SYSTEM BEFORE YOU START ANY OTHER RPC SERVICE.
 | |
| 
 | |
| rpcgen is installed in /usr/bin.  This program is required to build
 | |
| the demonstration services in demo and the rstat client and server in
 | |
| rpcsvc/.
 | |
| 
 | |
| The rpcsvc/ directory will install its files in the directory
 | |
| /usr/include/rpcsvc.  The Remote Status service (rstat_svc) will be
 | |
| compiled and installed in /etc.  If you wish to make this service
 | |
| available, you should either start this service when needed or have
 | |
| it started at boot time by invoking it in your /etc/rc.local script.
 | |
| (Be sure that portmap is started first!)  Sun has modified its
 | |
| version of inetd to automatically start RPC services.  (Use "make
 | |
| LIB=" when building rstat on a Sun Workstation.)  The Remote Status
 | |
| client (rstat) will be installed in /usr/bin.  This program queries
 | |
| the rstat_svc on a remote host and prints a system status summary
 | |
| similar to the one printed by "uptime".
 | |
| 
 | |
| The documentation is not built during the "make install" command.
 | |
| Typing "make" in the doc directory will cause all of the manuals to
 | |
| be formatted using nroff into a single file.  We have had a report
 | |
| that certain "troff" equivalents have trouble processing the full
 | |
| manual.  If you have trouble, try building the manuals individually
 | |
| (see the Makefile).
 | |
| 
 | |
| The demonstration services in the demo directory are not built by the
 | |
| top-level "make install" command.  To build these, cd to the demo
 | |
| directory and enter "make".  The three services will be built.
 | |
| RPCGEN MUST BE INSTALLED in a path that make can find.  To run the
 | |
| services, start the portmap program as root and invoke the service
 | |
| (you probably will want to put it in the background).  rpcinfo can be
 | |
| used to check that the service succeeded in getting registered with
 | |
| portmap, and to ping the service (see rpcinfo's man page).  You can
 | |
| then use the corresponding client program to exercise the service.
 | |
| To build these services on a Sun workstation, you must prevent the
 | |
| Makefile from trying to link the RPC library (as these routines are
 | |
| already a part of Sun's libc).  Use: "make LIB=".
 | |
| 
 | |
| BUGFIX FOR 4.3BSD COMPILER
 | |
| 
 | |
| The use of a 'void *' declaration for one of the arguments in
 | |
| the reply_proc() procedure in etc/rpcinfo.c will trigger a bug
 | |
| in the 4.3BSD compiler.  The bug is fixed by the following change to
 | |
| the compiler file mip/manifest.h:
 | |
| 
 | |
| *** manifest.h.r1.1	Thu Apr 30 13:52:25 1987
 | |
| --- manifest.h.r1.2	Mon Nov 23 18:58:17 1987
 | |
| ***************
 | |
| *** 21,27 ****
 | |
|   /*
 | |
|    * Bogus type values
 | |
|    */
 | |
| ! #define TNULL	PTR		/* pointer to UNDEF */
 | |
|   #define TVOID	FTN		/* function returning UNDEF (for void) */
 | |
|   
 | |
|   /*
 | |
| --- 21,27 ----
 | |
|   /*
 | |
|    * Bogus type values
 | |
|    */
 | |
| ! #define TNULL	INCREF(MOETY)	/* pointer to MOETY -- impossible type */
 | |
|   #define TVOID	FTN		/* function returning UNDEF (for void) */
 | |
|   
 | |
|   /*
 | |
| 
 | |
| If you cannot fix your compiler, change the declaration in reply_proc()
 | |
| from 'void *' to 'char *'.
 | |
| 
 | |
| BUGFIX FOR 4.2BSD COMPILER
 | |
| 
 | |
| Unpatched 4.2BSD compilers complain about valid C.  You can make old
 | |
| compilers happy by changing some voids to ints.  However, the fix to
 | |
| the 4.2 VAX compiler is as follows (to mip/trees.c):
 | |
| 
 | |
| *** trees.c.r1.1	Mon May 11 13:47:58 1987
 | |
| --- trees.c.r1.2	Wed Jul  2 18:28:52 1986
 | |
| ***************
 | |
| *** 1247,1253 ****
 | |
|   		if(o==CAST && mt1==0)return(TYPL+TYMATCH);
 | |
|   		if( mt12 & MDBI ) return( TYPL+LVAL+TYMATCH );
 | |
|   		else if( (mt1&MENU)||(mt2&MENU) ) return( LVAL+NCVT+TYPL+PTMATCH+PUN );
 | |
| ! 		else if( mt12 == 0 ) break;
 | |
|   		else if( mt1 & MPTR ) return( LVAL+PTMATCH+PUN );
 | |
|   		else if( mt12 & MPTI ) return( TYPL+LVAL+TYMATCH+PUN );
 | |
|   		break;
 | |
| --- 1261,1269 ----
 | |
|   		if(o==CAST && mt1==0)return(TYPL+TYMATCH);
 | |
|   		if( mt12 & MDBI ) return( TYPL+LVAL+TYMATCH );
 | |
|   		else if( (mt1&MENU)||(mt2&MENU) ) return( LVAL+NCVT+TYPL+PTMATCH+PUN );
 | |
| ! 		/* if right is TVOID and looks like a CALL, is not ok */
 | |
| ! 		else if (mt2 == 0 && (p->in.right->in.op == CALL || p->in.right->in.op == UNARY CALL))
 | |
| ! 			break;
 | |
|   		else if( mt1 & MPTR ) return( LVAL+PTMATCH+PUN );
 | |
|   		else if( mt12 & MPTI ) return( TYPL+LVAL+TYMATCH+PUN );
 | |
|   		break;
 | |
| 
 | |
| WHAT'S NEW IN THIS RELEASE: RPCSRC 4.0
 | |
| 
 | |
| The previous release was RPCSRC 3.9.  As with all previous releases,
 | |
| this release is based directly on files from Sun Microsystem's
 | |
| implementation.
 | |
| 
 | |
| Upgrade from RPCSRC 3.9
 | |
| 
 | |
| 1)  RPCSRC 4.0 upgrades RPCSRC 3.9.  Improvements from SunOS 4.0 have
 | |
|     been integrated into this release.
 | |
| 
 | |
| Secure RPC (in the secure_rpc/ directory)
 | |
| 
 | |
| 2)  DES Authentication routines and programs are provided.
 | |
| 3)  A new manual, "Secure NFS" is provided, which describes Secure RPC
 | |
|     and Secure NFS.
 | |
| 4)  Skeleton routines and manual pages are provided which describe the
 | |
|     DES encryption procedures required by Secure RPC.  HOWEVER, NO DES
 | |
|     ROUTINE IS PROVIDED.
 | |
| 
 | |
| New Functionality
 | |
| 
 | |
| 5)  rpcinfo can now be used to de-register services from the portmapper
 | |
|     which may have terminated abnormally.
 | |
| 6)  A new client, rstat, is provided which queries the rstat_svc and
 | |
|     prints a status line similar to the one displayed by "uptime".
 |