summaryrefslogtreecommitdiffstats
path: root/support/nfs/rpc_socket.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2009-03-05 06:13:33 -0500
committerSteve Dickson <steved@redhat.com>2009-03-05 06:13:33 -0500
commit2f3c0dc6908f534341f4dd24c44dcfbea7c7b253 (patch)
tree9c95686e73c479b60de7f40561cbfdbf75178107 /support/nfs/rpc_socket.c
parent71cbf46e564621d4cd2af61c384a79b2c0174a36 (diff)
downloadnfs-utils-2f3c0dc6908f534341f4dd24c44dcfbea7c7b253.tar.gz
nfs-utils-2f3c0dc6908f534341f4dd24c44dcfbea7c7b253.tar.xz
nfs-utils-2f3c0dc6908f534341f4dd24c44dcfbea7c7b253.zip
nfs-utils: Replace getservbyname(3)
The getservbyname(3) function is not re-entrant, and anyway, the man page says it is obsolete. Replace it with a call to getaddrinfo(3). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'support/nfs/rpc_socket.c')
-rw-r--r--support/nfs/rpc_socket.c46
1 files changed, 0 insertions, 46 deletions
diff --git a/support/nfs/rpc_socket.c b/support/nfs/rpc_socket.c
index 82ba818..b7420d1 100644
--- a/support/nfs/rpc_socket.c
+++ b/support/nfs/rpc_socket.c
@@ -480,49 +480,3 @@ rpcprog_t nfs_getrpcbyname(const rpcprog_t program, const char *table[])
return program;
}
-
-static unsigned short nfs_tryportbyname(const char *name,
- const char *protocol)
-{
- struct servent *servp = NULL;
-
- servp = getservbyname(name, protocol);
- if (servp != NULL)
- return (unsigned short)ntohl((uint32_t)servp->s_port);
- return 0;
-}
-
-/**
- * nfs_getportbynumber - convert an RPC program number to a port
- * @program: RPC program number to look up
- * @transport: IPPROTO_ value of transport protocol to use
- *
- * Returns a non-zero port number, in host byte order, on success;
- * otherwise zero if some problem occurred.
- */
-unsigned short nfs_getportbynumber(const rpcprog_t program,
- const unsigned short transport)
-{
- char *protocol = (transport == IPPROTO_TCP) ? "tcp" : "udp";
- struct rpcent *rpcp;
- unsigned short port = 0;
-
- rpcp = getrpcbynumber((int)program);
- if (rpcp == NULL)
- return port;
-
- port = nfs_tryportbyname(rpcp->r_name, protocol);
- if (port != 0)
- return port;
-
- if (rpcp->r_aliases) {
- int i;
- for (i = 0; rpcp->r_aliases[i] != NULL; i++) {
- port = nfs_tryportbyname(rpcp->r_aliases[i], protocol);
- if (port != 0)
- break;
- }
- }
-
- return port;
-}