OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [librpc/] [src/] [rpc/] [README] - Blame information for rev 158

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 chris
RPCSRC 4.0 7/11/89
2
 
3
This distribution contains Sun Microsystem's implementation of the
4
RPC and XDR protocols and is compatible with 4.2BSD and 4.3BSD.  Also
5
included is complete documentation, utilities, RPC service
6
specification files, and demonstration services in the format used by
7
the RPC protocol compiler (rpcgen).  See WHAT'S NEW below for
8
details.
9
 
10
NOTE ABOUT SECURE RPC:
11
 
12
This release of RPCSRC contains most of the code needed to implement
13
Secure RPC (see "DES Authentication" in the RPC Protocol Specification,
14
doc/rpc.rfc.ms).  Due to legal considerations, we are unable to
15
distribute an implementation of DES, the Data Encryption Standard, which
16
Secure RPC requires.  For this reason, all of the files, documentation, and
17
programs associated with Secure RPC have been placed into a separate
18
directory, secure_rpc.  The RPC library contained in the main body of this
19
release *DOES NOT* support Secure RPC.  See secure_rpc/README for more
20
details.  (A DES library was posted in Volume 18 of comp.sources.unix.)
21
 
22
If you wish to report bugs found in this release, send mail to:
23
 
24
Portable ONC/NFS
25
Sun Microsystems, Inc
26
MS 12-33
27
2550 Garcia Avenue
28
Mountain View, CA  94043
29
 
30
or send Email to nfsnet@sun.com (the Internet) or sun!nfsnet (Usenet).
31
 
32
ROADMAP
33
 
34
The directory hierarchy is as follows:
35
 
36
    demo/       Various demonstration services
37
    demo/dir        Remote directory lister
38
    demo/msg        Remote console message delivery service
39
    demo/sort       Remote sort service
40
 
41
    doc/        Documentation for RPC, XDR and NFS in "-ms" format.
42
 
43
    etc/        Utilities (rpcinfo and portmap).  portmap must be
44
                started by root before any other RPC network services are
45
                used.  SEE BELOW FOR BUGFIX TO 4.3BSD COMPILER.
46
 
47
    man/        Manual pages for RPC library, rpcgen, and utilities.
48
 
49
    rpc/        The RPC and XDR library.  SEE BELOW
50
                FOR BUGFIX TO 4.2BSD COMPILER.
51
 
52
    rpcgen/     The RPC Language compiler (for .x files)
53
 
54
    rpcsvc/     Service definition files for various services and the
55
                server and client code for the Remote Status service.
56
 
57
    secure_rpc/ The files in this directory are used to build a version of
58
                the RPC library with DES Authentication.  See the README
59
                file in that directory for more details.
60
 
61
BUILD INSTRUCTIONS
62
 
63
Makefiles can be found in all directories except for man.  The
64
Makefile in the top directory will cause these others to be invoked
65
(except for in the doc, man and demo directories), in turn building the
66
entire release.
67
 
68
WARNING!  THE DEFAULT INSTALLATION PROCEDURES WILL INSTALL FILES
69
IN /usr/include, /usr/lib, /usr/bin and /etc.
70
 
71
The master RPC include file, rpc/rpc.h, is used by all programs and
72
routines that use RPC.  It includes other RPC and system include files
73
needed by the RPC system.  PLEASE NOTE: If your system has NFS, it
74
may have been based on Sun's NFS Source.  The include files installed
75
by this package may duplicate include files you will find on your NFS
76
system.  The RPCSRC 4.0 include files are upwardly compatible to all
77
NFS Source include files as of the date of this distribution (not
78
including any new definitions or declarations added by your system
79
vendor).  HOWEVER: Please read the comments towards the end of
80
rpc/rpc.h regarding rpc/netdb.h.  You may need to uncomment the
81
inclusion of that file if the structures it defines are already
82
defined by your system's include files.
83
 
84
After making any compiler fixes that are needed (see below), at
85
the top directory, type:
86
 
87
    make install
88
 
89
For all installations, the Makefile macro DESTDIR is prepended to the
90
installation path.  It is defined to be null in the Makefiles, so
91
installations are relative to root.  (You will probably need root
92
privileges for installing the files under the default path.)  To
93
install the files under some other tree (e.g., /usr/local), use the
94
command:
95
 
96
    make install DESTDIR=/usr/local
97
 
98
This will place the include files in /usr/local/usr/include, the RPC
99
library in /usr/local/usr/lib, rpcgen in /usr/local/usr/bin, and the
100
utilities in /usr/local/etc.  You'll have to edit the Makefiles or
101
install the files by hand if you want to do anything other than this
102
kind of relocation of the installation tree.
103
 
104
The RPC library will be built and installed first.  By default it is
105
installed in /usr/lib as "librpclib.a".  The directory
106
/usr/include/rpc will also be created, and several header files will
107
be installed there.  ALL RPC SERVICES INCLUDE THESE HEADER FILES.
108
 
109
The programs in etc/ link in routines from librpclib.a.  If you change
110
where it is installed, be sure to edit etc/'s Makefile to reflect this.
111
These programs are installed in /etc.  PORTMAP MUST BE RUNNING ON
112
YOUR SYSTEM BEFORE YOU START ANY OTHER RPC SERVICE.
113
 
114
rpcgen is installed in /usr/bin.  This program is required to build
115
the demonstration services in demo and the rstat client and server in
116
rpcsvc/.
117
 
118
The rpcsvc/ directory will install its files in the directory
119
/usr/include/rpcsvc.  The Remote Status service (rstat_svc) will be
120
compiled and installed in /etc.  If you wish to make this service
121
available, you should either start this service when needed or have
122
it started at boot time by invoking it in your /etc/rc.local script.
123
(Be sure that portmap is started first!)  Sun has modified its
124
version of inetd to automatically start RPC services.  (Use "make
125
LIB=" when building rstat on a Sun Workstation.)  The Remote Status
126
client (rstat) will be installed in /usr/bin.  This program queries
127
the rstat_svc on a remote host and prints a system status summary
128
similar to the one printed by "uptime".
129
 
130
The documentation is not built during the "make install" command.
131
Typing "make" in the doc directory will cause all of the manuals to
132
be formatted using nroff into a single file.  We have had a report
133
that certain "troff" equivalents have trouble processing the full
134
manual.  If you have trouble, try building the manuals individually
135
(see the Makefile).
136
 
137
The demonstration services in the demo directory are not built by the
138
top-level "make install" command.  To build these, cd to the demo
139
directory and enter "make".  The three services will be built.
140
RPCGEN MUST BE INSTALLED in a path that make can find.  To run the
141
services, start the portmap program as root and invoke the service
142
(you probably will want to put it in the background).  rpcinfo can be
143
used to check that the service succeeded in getting registered with
144
portmap, and to ping the service (see rpcinfo's man page).  You can
145
then use the corresponding client program to exercise the service.
146
To build these services on a Sun workstation, you must prevent the
147
Makefile from trying to link the RPC library (as these routines are
148
already a part of Sun's libc).  Use: "make LIB=".
149
 
150
BUGFIX FOR 4.3BSD COMPILER
151
 
152
The use of a 'void *' declaration for one of the arguments in
153
the reply_proc() procedure in etc/rpcinfo.c will trigger a bug
154
in the 4.3BSD compiler.  The bug is fixed by the following change to
155
the compiler file mip/manifest.h:
156
 
157
*** manifest.h.r1.1     Thu Apr 30 13:52:25 1987
158
--- manifest.h.r1.2     Mon Nov 23 18:58:17 1987
159
***************
160
*** 21,27 ****
161
  /*
162
   * Bogus type values
163
   */
164
! #define TNULL PTR             /* pointer to UNDEF */
165
  #define TVOID FTN             /* function returning UNDEF (for void) */
166
 
167
  /*
168
--- 21,27 ----
169
  /*
170
   * Bogus type values
171
   */
172
! #define TNULL INCREF(MOETY)   /* pointer to MOETY -- impossible type */
173
  #define TVOID FTN             /* function returning UNDEF (for void) */
174
 
175
  /*
176
 
177
If you cannot fix your compiler, change the declaration in reply_proc()
178
from 'void *' to 'char *'.
179
 
180
BUGFIX FOR 4.2BSD COMPILER
181
 
182
Unpatched 4.2BSD compilers complain about valid C.  You can make old
183
compilers happy by changing some voids to ints.  However, the fix to
184
the 4.2 VAX compiler is as follows (to mip/trees.c):
185
 
186
*** trees.c.r1.1        Mon May 11 13:47:58 1987
187
--- trees.c.r1.2        Wed Jul  2 18:28:52 1986
188
***************
189
*** 1247,1253 ****
190
                if(o==CAST && mt1==0)return(TYPL+TYMATCH);
191
                if( mt12 & MDBI ) return( TYPL+LVAL+TYMATCH );
192
                else if( (mt1&MENU)||(mt2&MENU) ) return( LVAL+NCVT+TYPL+PTMATCH+PUN );
193
!               else if( mt12 == 0 ) break;
194
                else if( mt1 & MPTR ) return( LVAL+PTMATCH+PUN );
195
                else if( mt12 & MPTI ) return( TYPL+LVAL+TYMATCH+PUN );
196
                break;
197
--- 1261,1269 ----
198
                if(o==CAST && mt1==0)return(TYPL+TYMATCH);
199
                if( mt12 & MDBI ) return( TYPL+LVAL+TYMATCH );
200
                else if( (mt1&MENU)||(mt2&MENU) ) return( LVAL+NCVT+TYPL+PTMATCH+PUN );
201
!               /* if right is TVOID and looks like a CALL, is not ok */
202
!               else if (mt2 == 0 && (p->in.right->in.op == CALL || p->in.right->in.op == UNARY CALL))
203
!                       break;
204
                else if( mt1 & MPTR ) return( LVAL+PTMATCH+PUN );
205
                else if( mt12 & MPTI ) return( TYPL+LVAL+TYMATCH+PUN );
206
                break;
207
 
208
WHAT'S NEW IN THIS RELEASE: RPCSRC 4.0
209
 
210
The previous release was RPCSRC 3.9.  As with all previous releases,
211
this release is based directly on files from Sun Microsystem's
212
implementation.
213
 
214
Upgrade from RPCSRC 3.9
215
 
216
1)  RPCSRC 4.0 upgrades RPCSRC 3.9.  Improvements from SunOS 4.0 have
217
    been integrated into this release.
218
 
219
Secure RPC (in the secure_rpc/ directory)
220
 
221
2)  DES Authentication routines and programs are provided.
222
3)  A new manual, "Secure NFS" is provided, which describes Secure RPC
223
    and Secure NFS.
224
4)  Skeleton routines and manual pages are provided which describe the
225
    DES encryption procedures required by Secure RPC.  HOWEVER, NO DES
226
    ROUTINE IS PROVIDED.
227
 
228
New Functionality
229
 
230
5)  rpcinfo can now be used to de-register services from the portmapper
231
    which may have terminated abnormally.
232
6)  A new client, rstat, is provided which queries the rstat_svc and
233
    prints a status line similar to the one displayed by "uptime".

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.