From owner-freebsd-current@FreeBSD.ORG Sat Sep 1 14:42:16 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B508A106566B; Sat, 1 Sep 2012 14:42:16 +0000 (UTC) (envelope-from lists@c0mplx.org) Received: from home.opsec.eu (home.opsec.eu [IPv6:2001:14f8:200::1]) by mx1.freebsd.org (Postfix) with ESMTP id 60F0B8FC0C; Sat, 1 Sep 2012 14:42:16 +0000 (UTC) Received: from pi by home.opsec.eu with local (Exim 4.77 (FreeBSD)) (envelope-from ) id 1T7otp-00075y-Ma; Sat, 01 Sep 2012 16:42:13 +0200 Date: Sat, 1 Sep 2012 16:42:13 +0200 From: Kurt Jaeger To: Scot Hetzel Message-ID: <20120901144213.GF3324@home.opsec.eu> References: <50407056.3000606@passap.ru> <50407912.60809@passap.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Cc: "freebsd-rc@FreeBSD.org" , Garrett Cooper , Maxim Konovalov , freebsd-current@freebsd.org, matteo@freebsd.org, bsam@passap.ru Subject: Re: rpcbind does not honor -h flag X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Sep 2012 14:42:16 -0000 Hi! > >>>> Please file a PR against rc ASAP. > >> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/117711 > Looks like Matteo Riondato had created a patch for the problem in 2008: > > http://people.freebsd.org/~matteo/diff/117711rpcbind.diff > > but he never received any feedback from Carlos Eduardo Monti to see if > the patch fixed the problem. > I don't know if the patch will apply to the current FreeBSD rpcbind > code, give it a try and submit a follow up to the PR. In the current form the patch fails in rpcbind.c on 9.1-RC1. There are two problems with the current rpcbind.c. 1) It seems to be that even if some -h is given, the rpcbind code uses some SUN-RPC trickery around the /etc/netconfig file to open sockets for localhost in v4 and v6. Is it required to bind to localhost according to the RPC spec ? 2) And it opens some dynamic ports for other uses -- anybody has an idea why this is necessary ? Is there an requirement for this in the spec ? Below is an example of both issues. root rpcbind 2134 4 udp6 *:* *:* root rpcbind 2134 5 stream /var/run/rpcbind.sock root rpcbind 2134 6 udp6 *:111 *:* root rpcbind 2134 7 udp6 *:924 *:* root rpcbind 2134 8 tcp6 *:111 *:* root rpcbind 2134 9 udp4 *:111 *:* root rpcbind 2134 10 udp4 *:645 *:* root rpcbind 2134 11 tcp4 *:111 *:* Here's rpcbind started with -h : root rpcbind 2195 4 udp6 *:* *:* root rpcbind 2195 5 stream /var/run/rpcbind.sock root rpcbind 2195 6 udp6 ::1:111 *:* root rpcbind 2195 7 udp6 *:1013 *:* root rpcbind 2195 8 tcp6 ::1:111 *:* root rpcbind 2195 9 udp4 127.0.0.1:111 *:* root rpcbind 2195 10 udp4 :111 *:* root rpcbind 2195 11 udp4 *:634 *:* root rpcbind 2195 12 tcp4 127.0.0.1:111 *:* root rpcbind 2195 13 tcp4 :111 *:* One can see two dynamic udp ports opened (one v4, one v6). I might be naive, but from what I understand, it should not open that many sockets, but only like this: root rpcbind 2195 10 udp4 :111 *:* root rpcbind 2195 13 tcp4 :111 *:* If this naive 'spec' is correct, would a patch to do just this and nothing more be OK ? -- pi@opsec.eu +49 171 3101372 8 years to go !