#include <mount.h>
#include <unistd.h>
+#include "nfsrpc.h"
+
#define TIMEOUT_UDP 3
#define TIMEOUT_TCP 10
#define TOTAL_TIMEOUT 20
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,
}
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);
}
total_timeout);
if (clnt_stat != RPC_SUCCESS) {
clnt_perror(mclient, "rpc mount export");
+ clnt_destroy(mclient);
exit(1);
}
if (headers)
printf("\n");
exportlist = exportlist->ex_next;
}
+ clnt_destroy(mclient);
exit(0);
}
total_timeout);
if (clnt_stat != RPC_SUCCESS) {
clnt_perror(mclient, "rpc mount dump");
+ clnt_destroy(mclient);
exit(1);
}
+ clnt_destroy(mclient);
n = 0;
for (list = dumplist; list; list = list->ml_next)