Hi,
I'm making progress with the code and I have also a new diff available.
http://www.attic.ch/patches/rpc.diff_01052001-05.tgz
> Issues with the code:
>
> 1.) NETBSD sets in svc_tcp.c some LOCAL_CREDS which we don't have in our
> src/sys/kern/uipc_usrreq.c. They have a FLAG which - if set -
> automatically sends the credentials on AF_UNIX sockets connections
> if we do a recvmsg(). We have to implement this to have rpcbind properly
> working. AF_UNIX socket operations are broken at the moment, but
> with compability-mode 'rpcbind -Li' rpcbind works.
Not solved yet.
Bill, can you help me with the code ? I tried to send first
a scm.type of SCM_CREDS with sendmsg(), and to recieve the Creds
after with recvmsg() but it does not work as expected. Can you
help me to resolve this problem ? I'm I doing something completly
wrong ?
I'm often on IRC, you know me as 'mbr'.
>
> 2. Maybe it's related to 1., but unregistring the rpc-services does not
> work at the moment.
>
not solved yet.
> 3.) It breaks 'make world', some rpc based programms do not find the
> symbol for a extern defined variable from rpcgen generated code. NetBSD
> has the same code generated from rpcbind, so it has to be somewhere
> defined. Can someone with a netbsd account look if they have the same
> problem ?
>
> cc -O -pipe -I. -o rpc.statd file.o sm_inter_svc.o statd.o procs.o
> -lrpcsvc
> sm_inter_svc.o: In function `sm_prog_1':
> sm_inter_svc.o(.text+0xb): undefined reference to `_rpcsvcdirty'
Fixed.
This was solved my looking a little bit closer to the NetBSd rpcgen
code which was infact a old version and completly messed. We use at
the moment the newest rpcgen code available and generate the better
code than NetBSD does (Thread-Safe, some fixes for BSD)
>
> 4.) The threaded version of the libs may not work. As I have seen
> it was untested by NetBSD people and I fixed some bugs myself. One thing
> I'm not sure about the way I changed pthread_getspecific(key) in several
> files.
>
> Some time ago this function has changed from
>
> void * pthread_getspecific(pthread_key_t key, void **value_ptr) to
> void * pthread_getspecific(pthread_key_t key);
>
> And I wonder where the **value_ptr now is. Is this the right way to do
> this ?
>
> value_ptr = (int*)pthread_getspecific(key);
>
Solved,
there is a _pthread_getspecific which has old semantics.
> 5.) The semantics of authdes_create() are not the same as in TI-RPC
> code of Sun. Can someone look a little bit at this changes ?
Fixed,
I Imported the newest version of auth_des and it should work now.
Made the code thread-safe.
Martin
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message