Subject: rpc.rusersd problems in netbsd-current?
To: None <netbsd-bugs@sun-lamp.cs.berkeley.edu>
From: Ben A. Mesander <ben@piglet.cr.usgs.gov>
List: netbsd-bugs
Date: 11/16/1993 02:13:58
Hello,
I have a network finger daemon (like GNU finger) that I wrote that
collects data from rpc.rusersd daemons. I was attempting to make it work
under NetBSD, and I think I found some problems with NetBSD.
rpc.rusersd and the rusers client under netbsd-current appear to use
the "rnusers.x" protocol description file from Sun's RPCSRC dist to
generate "rnusers.h" and "rnusers_xdr.c" files with rpcgen. However, it
appears that the usual rpc.rusersd that runs under UNIX uses a slightly
hand-hacked rnusers.h file in <rpcsvc/rusers.h>, and a slightly different
set of xdr routines. I think this protocol predates the rpcgen program,
and the "rnusers.x" file just gets one close to the proper protocol, but
not quite.
When I try to run rusers on a non-netbsd machine to a netbsd machine,
ie, "not-netbsd$ rusers -l netbsd", I get "netbsd: RPC: Can't decode result".
In addition, the structs returned from rusers xdr routines under NetBSD
are not compatible with the ones returned from xdr routines on other UNIX
machines.
I have generated rusers.h and rusersxdr.c files that I believe will work
for NetBSD from rnusers.x. I have also modified the rusers client program
to use these routines instead of the ones provided with NetBSD. I have not
had time or inclination to hack the rpc.rusersd daemon itself - my only
access to a NetBSD box is via a rather awful slip link. These can be
obtained from: brrcrftp.cr.usgs.gov:/pub/ben/rusers.tar.gz . Unfortunately,
the modified rusers client is not compatible with the NetBSD rusers daemon,
because of the protocol difference.
--Ben
ben@piglet.cr.usgs.gov
------------------------------------------------------------------------------