From owner-freebsd-bugs Sun Mar 25 11:10: 6 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 1D3DF37B719 for ; Sun, 25 Mar 2001 11:10:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f2PJA2F40572; Sun, 25 Mar 2001 11:10:02 -0800 (PST) (envelope-from gnats) Received: from fuchur.lan.attic.ch (fuchur.lan.attic.ch [194.235.47.21]) by hub.freebsd.org (Postfix) with ESMTP id 5004F37B718 for ; Sun, 25 Mar 2001 11:08:28 -0800 (PST) (envelope-from mblapp@fuchur.lan.attic.ch) Received: (from root@localhost) by fuchur.lan.attic.ch (8.11.3/8.11.3) id f2PJ93760837; Sun, 25 Mar 2001 21:09:03 +0200 (CEST) (envelope-from mblapp) Message-Id: <200103251909.f2PJ93760837@fuchur.lan.attic.ch> Date: Sun, 25 Mar 2001 21:09:03 +0200 (CEST) From: mb@imp.ch Reply-To: mb@imp.ch To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: bin/26080: [PATCH] various RPC fixes Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 26080 >Category: bin >Synopsis: [PATCH] various RPC fixes >Confidential: no >Severity: non-critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Mar 25 11:10:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Martin Blapp >Release: FreeBSD 5.0-CURRENT i386 >Organization: Improware AG >Environment: System: FreeBSD fuchur.lan.attic.ch 5.0-CURRENT FreeBSD 5.0-CURRENT #8: Tue Mar 20 14:39:22 CET 2001 root@fuchur.lan.attic.ch:/usr/src/sys/compile/MARTIN i386 >Description: rpc_lib (rpc_soc.c, clnt.h, svc.h): - Adding compatibility functions for af_unix sockets. The new functions are slightly different from the old ones, so it's a good thing to have compat stups. - Also readd CLGET_LOCAL_ADDR which is needed by the compat code. cfs: (/usr/ports/security/cfs) Use rpcbind calls instead of portmappers. clnt_generic.c: Adding a temporary fix for the af_unix rpc connections what we had previously in our old rpc code. This makes secure rpc client programms working again, cause they are using an authentificated unix channel. Rpcbind has been hacked by the netbsd people directly, so they have not seen the breakage. The current code should normally work, but it doesn't. I've investigated a lot of time. One thing is, that for af_unix sockets it is wrong to call getaddrinfo() which fails. Anyway, this fix does it's job and so we can investigate some time to provide the real fix. key_call.c: This modification is needed to get client programms be able to speak to keyserv again. For some strange reason, clnt_create seems not be able in stock tirpc to create a af_unix connection (clnt_tp_create). You have to use clnt_vc_create for this. Anyway, this modification made keyserv running again. /var/run/keyservsock is hardcoded as in previos rpc we had. This should be changes IMHO. keyserv: Fix broken keyserv and register the unix sockets properly. mount_nfs: Re-add the functionality I removed by misstake. We support connections to nfsd ports, without using portmapper. This fixes the cfs port. mountd: Deal with cases where in /etc/netconfig there are commented out ipv6 entries or kernels which only provide IPv4 functionality. We should always test both cases, netconfig and ipv6 support. Also replace pmap_unset() with rpcb_unset() which fixes the unregistering. nfsd: Deal with cases where in /etc/netconfig there are commented out ipv6 entries or kernels which only provide IPv4 functionality. We should always test both cases, netconfig and ipv6 support. rpcdatabase: Add cfs (crypted file system) and keycrypt (used by keyserv) to our rpc database file. >How-To-Repeat: >Fix: There are several fixes: http://home.teleport.ch/freebsd/mountd.c.diff http://home.teleport.ch/freebsd/af_unix.diff http://home.teleport.ch/freebsd/cfs.diff http://home.teleport.ch/freebsd/clnt_generic.c.diff http://home.teleport.ch/freebsd/key_call.c.diff http://home.teleport.ch/freebsd/keyserv.diff http://home.teleport.ch/freebsd/mount_nfs.c.diff http://home.teleport.ch/freebsd/mountd.c.diff http://home.teleport.ch/freebsd/nfsd.c.diff http://home.teleport.ch/freebsd/rpcdatabase.diff Testers are welcome. Martin >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message