summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2008-11-25 08:15:51 -0500
committerSteve Dickson <steved@redhat.com>2008-11-25 08:15:51 -0500
commitbb3e50bd5c4f6bf94221ef69d4dc87e73d0e474b (patch)
tree912b251d27d2afaf17939d7f55fa515c7afefe92
parent9888a72c18c0798b0fd352f02d5985aa75637743 (diff)
downloadnfs-utils-bb3e50bd5c4f6bf94221ef69d4dc87e73d0e474b.tar.gz
nfs-utils-bb3e50bd5c4f6bf94221ef69d4dc87e73d0e474b.tar.xz
nfs-utils-bb3e50bd5c4f6bf94221ef69d4dc87e73d0e474b.zip
showmount command: call nfs_getport instead of local getport
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>
-rw-r--r--utils/showmount/showmount.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/utils/showmount/showmount.c b/utils/showmount/showmount.c
index 959229a..cbc8f1a 100644
--- a/utils/showmount/showmount.c
+++ b/utils/showmount/showmount.c
@@ -37,6 +37,8 @@
#include <mount.h>
#include <unistd.h>
+#include "nfsrpc.h"
+
#define TIMEOUT_UDP 3
#define TIMEOUT_TCP 10
#define TOTAL_TIMEOUT 20
@@ -352,9 +354,9 @@ int main(int argc, char **argv)
mclient = NULL;
msock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (msock != -1) {
- server_addr.sin_port = getport(&server_addr,
- MOUNTPROG, MOUNTVERS, IPPROTO_TCP);
- if (server_addr.sin_port) {
+ if (nfs_getport_ping((struct sockaddr *)&server_addr,
+ sizeof(server_addr), MOUNTPROG,
+ MOUNTVERS, IPPROTO_TCP)) {
ret = connect_nb(msock, &server_addr, 0);
if (ret == 0) /* success */
mclient = clnttcp_create(&server_addr,
@@ -367,9 +369,9 @@ int main(int argc, char **argv)
}
if (!mclient) {
- server_addr.sin_port = getport(&server_addr,
- MOUNTPROG, MOUNTVERS, IPPROTO_UDP);
- if (!server_addr.sin_port) {
+ if (nfs_getport_ping((struct sockaddr *)&server_addr,
+ sizeof(server_addr), MOUNTPROG,
+ MOUNTVERS, IPPROTO_UDP)) {
clnt_pcreateerror("showmount");
exit(1);
}