Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Jan 2001 21:37:30 +0100 (CET)
From:      Martin Blapp <mb@imp.ch>
To:        freebsd-hackers@freebsd.org
Cc:        wpaul@freebsd.org
Subject:   Re: [PATCH available] TI-RPC and NetBSD's rpc.lockd
Message-ID:  <Pine.BSF.4.21.0101062125000.40401-100000@levais.imp.ch>
In-Reply-To: <Pine.BSF.4.21.0012260143060.2643-100000@levais.imp.ch>

next in thread | previous in thread | raw e-mail | index | archive | help

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 majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101062125000.40401-100000>