From owner-freebsd-hackers Sat Jan 6 12:32: 1 2001 From owner-freebsd-hackers@FreeBSD.ORG Sat Jan 6 12:31:58 2001 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mail.imp.ch (mail.imp.ch [157.161.1.2]) by hub.freebsd.org (Postfix) with ESMTP id 590AA37B400; Sat, 6 Jan 2001 12:31:57 -0800 (PST) Received: from levais.imp.ch (levais.imp.ch [157.161.4.66]) by mail.imp.ch (8.11.1/8.11.1) with ESMTP id f06KVo447875; Sat, 6 Jan 2001 21:31:50 +0100 (CET) (envelope-from Martin.Blapp@imp.ch) Date: Sat, 6 Jan 2001 21:37:30 +0100 (CET) From: Martin Blapp To: freebsd-hackers@freebsd.org Cc: wpaul@freebsd.org Subject: Re: [PATCH available] TI-RPC and NetBSD's rpc.lockd In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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