Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Sep 2012 10:49:09 +0400
From:      =?UTF-8?B?0JHQvtGA0LjRgSDQodCw0LzQvtGA0L7QtNC+0LI=?= <bsam@passap.ru>
To:        freebsd-current@freebsd.org
Subject:   Re: rpcbind does not honor -h flag
Message-ID:  <504452E5.5040508@passap.ru>
In-Reply-To: <20120901144213.GF3324@home.opsec.eu>
References:  <50407056.3000606@passap.ru> <CAGH67wThx5oveWc8h4RE9ya9=KT_VPnP4x-jQvA690b-7=tEww@mail.gmail.com> <CAGH67wTNNvuGEZB2m40Vbj6hT8KBgCXCoyqngy1yXO-wAxy4LQ@mail.gmail.com> <alpine.BSF.2.00.1208311234040.97131@mp2.macomnet.net> <50407912.60809@passap.ru> <CACdU%2Bf_YrXjmwE_byWPnft5Ha%2B8P3shJz=RA9%2BVCWxusHCv34Q@mail.gmail.com> <20120901144213.GF3324@home.opsec.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
01.09.2012 18:42, Kurt Jaeger пишет:
> 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 <myip>:
>
> 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   <myip>:111            *:*
> root     rpcbind    2195  11 udp4   *:634                 *:*
> root     rpcbind    2195  12 tcp4   127.0.0.1:111         *:*
> root     rpcbind    2195  13 tcp4   <myip>: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   <myip>:111            *:*
> root     rpcbind    2195  13 tcp4   <myip>:111            *:*
>
> If this naive 'spec' is correct, would a patch to do just this and
> nothing more be OK ?

Patches are always welcome. But please read RPCBIND(8) first.

Thanks for your time!
-- 
WBR, Boris Samorodov (bsam)
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?504452E5.5040508>