| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Turns out both legacy RPC and TI-RPC have a clnt_create(3) API. So
there's
really no need to keep the old open-coded transport logic around.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Make sure nfs_sm_pgmtbl is not compiled if TI-RPC functions are not
available. This quiesces the following compiler warning:
showmount.c:53: warning: nfs_sm_pgmtbl defined but not used
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Introduce a version of nfs_get_mount_client() that supports AF_INET6 and
AF_INET server addresses. If the TI-RPC library is not available when
the showmount command is built, fall back to the legacy RPC user-space
API.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
In preparation to support IPv6 in the showmount command, extract the
logic that parses/acquires the target hostname and converts it into an RPC
client handle to contact the remote mountd service, and move it into its
own function.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
| |
Clean up: remove showmount.c's local getport() implementation, now that
the showmount command uses the shared one.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Have the showmount command invoke the shared nfs_getport() function
instead of its own local version. This gives the showmount command
immediate support for querying via rpcbindv3/v4 in addition to
portmapper, and sets the stage for AF_INET6 support in showmount.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Clean up: call clnt_destroy() in the showmount command as needed to
destroy the RPC client properly (and close the associated socket) before
the program exits.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up connect_nb() in the showmount command.
Sometimes it returns -1 on error, and sometimes a negative errno. On error,
it should always return one of these or the other, not both.
Similar functions in other parts of nfs-utils return -1 on error, and set
errno; so let's do that here too.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
|
|
|
|
| |
The connect_nb() routne returns zero for success and a negative
value for failure which was not being interpreted correctly
by the getport() routine. This patch fixes that problem.
Signed-off-by: Steve Dickson <steved@redhat.com>
|
|
|
|
| |
Signed-off-by: Steve Dickson <steved@redhat.com>
|
| |
|
|
|
|
|
|
|
| |
When doing a nonblocked connect, we need to select for 'write', not 'read'.
Also, when a tcp socket has been connected, we should use clnttcp_create
to make a tcp client, not clntudp_bufcreate !!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Showmount itself tries to use a short timeout but
the RPC clnttcp_create and clntudp_create calls will call portmap
internally to get the port to use if it is set to 0 in the passed
address structure. The above calls then use the internal timeouts,
basically 60 seconds, which slows things down. Also the for tcp a
blocking connect is used which can take quite a while to timeout as
well.
showmount tries tcp then udp so a fail can go through several lengthy
waits before failing.
I've grabbed some of the autofs code and put together a patch to allow
specification of the timeouts for the portmap getport and to implement a
non-blocking connect.
Signed-off-by: Neil Brown <neilb@suse.de>
|
| |
|
|
|
|
|
| |
* tools/rpcgen/rpc_cout.c (print_header): Remove unused vars.
* tools/rpcgen/rpc_parse.c (def_union): Likewise.
|
|
|
|
|
|
|
|
|
|
| |
* utils/showmount/showmount.c (main): Don't assume that strings
starting with digits are IP addresses.
* utils/nfsd/nfsd.c (main): Close all fds and reopen 0,1,2 on
/dev/null before nfssvc(). Use syslog to report nfssvc errors.
* support/misc/tcpwrapper.c, utils/mountd/mountd.man,
utils/rquotad/rquotad.man, utils/statd/statd.man: Fix comments and
man pages: We check host names *and* addresses with tcpwrappers.
|
|
|