Make rpcbind_getaddr() work with all versions of rpcbind protocol
For now rpcbind_getaddr() works with RPCBIND version 3 protocol only.
If server doesn't support version 3 and especially if it supports old PORTMAP protocol only (see RFC1833 section 3), the caller of rpcbind_getaddr() won't get
the port of remote program because of versions incompatibility.
For example, it doesn't work with old linux machines having portmap (instead of rpcbind) on the board.
It'd be better to make rpcbind_getaddr() semantically equal to its user-space counterpart - rpcb_getaddr() which
have an ability work with all available versions of RPCBIND and PORTMAP protocols.
rpcbind_getaddr() should try to get the port of a remote program using PORTMAP version 2 (possible only for IPv4) at first.
If it fails it should try to use RPCBIND protocol version 4 then. Finally, if version 4 call fails, it should try RPCBINDv3.
Updated by Eric Schrock over 9 years ago
- Status changed from New to Resolved
user: Dan Kruchinin <firstname.lastname@example.org>
date: Mon Jan 23 07:43:36 2012 -0800
1982 Make rpcbind_getaddr() work with all versions of rpcbind protocol
Reviewed by: Gordon Ross <email@example.com>
Reviewed by: Dan McDonald <firstname.lastname@example.org>
Approved by: Eric Schrock <Eric.Schrock@delphix.com>