nfs-utils: replace function-specific switches with HAVE_LIBTIRPC
authorChuck Lever <chuck.lever@oracle.com>
Mon, 16 Mar 2009 17:29:18 +0000 (13:29 -0400)
committerSteve Dickson <steved@redhat.com>
Mon, 16 Mar 2009 17:29:18 +0000 (13:29 -0400)
Instead of switching in TI-RPC-specific logic with a function-specific
switch like HAVE_CLNT_VG_CREATE, let's use the more generic
HAVE_LIBTIRPC macro everywhere.

This simplifies ./configure (always a good thing), and makes it more
clear in the source code exactly what the extra conditionally compiled
code is for.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
aclocal/libtirpc.m4
support/nfs/getport.c
support/nfs/rpc_socket.c

index 67c4012..b1f3669 100644 (file)
@@ -15,11 +15,6 @@ AC_DEFUN([AC_LIBTIRPC], [
     AC_CHECK_HEADERS([tirpc/netconfig.h], ,
                      [AC_MSG_ERROR([libtirpc headers not found.])])
 
-    dnl set up HAVE_FOO for various functions
-    AC_CHECK_FUNCS([getnetconfig \
-                    clnt_create clnt_create_timed \
-                    clnt_vc_create clnt_dg_create xdr_rpcb])
-
   fi
 
 ])dnl
index 5da1749..2255b7d 100644 (file)
@@ -40,7 +40,7 @@
 #include <rpc/rpc.h>
 #include <rpc/pmap_prot.h>
 
-#ifdef HAVE_TIRPC_NETCONFIG_H
+#ifdef HAVE_LIBTIRPC
 #include <tirpc/netconfig.h>
 #include <tirpc/rpc/rpcb_prot.h>
 #endif
  * Rpcbind's local socket service does not seem to be working.
  * Disable this logic for now.
  */
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 #undef NFS_GP_LOCAL
-#else  /* HAVE_XDR_RPCB */
+#else  /* !HAVE_LIBTIRPC */
 #undef NFS_GP_LOCAL
-#endif /* HAVE_XDR_RPCB */
+#endif /* !HAVE_LIBTIRPC */
 
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 const static rpcvers_t default_rpcb_version = RPCBVERS_4;
-#else
+#else  /* !HAVE_LIBTIRPC */
 const static rpcvers_t default_rpcb_version = PMAPVERS;
-#endif
+#endif /* !HAVE_LIBTIRPC */
 
 #ifdef HAVE_DECL_AI_ADDRCONFIG
 /*
@@ -242,7 +242,7 @@ static CLIENT *nfs_gp_get_rpcbclient(const struct sockaddr *sap,
  * Returns a '\0'-terminated string if successful; otherwise NULL.
  * rpc_createerr.cf_stat is set to reflect the error.
  */
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 static char *nfs_gp_get_netid(const sa_family_t family,
                              const unsigned short protocol)
@@ -290,7 +290,7 @@ out:
        return NULL;
 }
 
-#endif /* HAVE_XDR_RPCB */
+#endif /* HAVE_LIBTIRPC */
 
 /*
  * Extract a port number from a universal address, and terminate the
@@ -453,7 +453,7 @@ static int nfs_gp_ping(CLIENT *client, struct timeval timeout)
        return (int)(status == RPC_SUCCESS);
 }
 
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 /*
  * Initialize the rpcb argument for a GETADDR request.
@@ -565,7 +565,7 @@ static unsigned short nfs_gp_rpcb_getaddr(CLIENT *client,
        return port;
 }
 
-#endif /* HAVE_XDR_RPCB */
+#endif /* HAVE_LIBTIRPC */
 
 /*
  * Try GETPORT request via rpcbind version 2.
@@ -595,7 +595,7 @@ static unsigned long nfs_gp_pmap_getport(CLIENT *client,
        return port;
 }
 
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 static unsigned short nfs_gp_getport_rpcb(CLIENT *client,
                                          const struct sockaddr *sap,
@@ -617,7 +617,7 @@ static unsigned short nfs_gp_getport_rpcb(CLIENT *client,
        return port;
 }
 
-#endif /* HAVE_XDR_RPCB */
+#endif /* HAVE_LIBTIRPC */
 
 static unsigned long nfs_gp_getport_pmap(CLIENT *client,
                                         const rpcprog_t program,
@@ -652,11 +652,11 @@ static unsigned short nfs_gp_getport(CLIENT *client,
                                     struct timeval timeout)
 {
        switch (sap->sa_family) {
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
        case AF_INET6:
                return nfs_gp_getport_rpcb(client, sap, salen, program,
                                                version, protocol, timeout);
-#endif /* HAVE_XDR_RPCB */
+#endif /* HAVE_LIBTIRPC */
        case AF_INET:
                return nfs_gp_getport_pmap(client, program, version,
                                                        protocol, timeout);
@@ -922,7 +922,7 @@ unsigned short nfs_getlocalport(const rpcprot_t program,
  * address of the same address family.  In this way an RPC server can
  * advertise via rpcbind that it does not support AF_INET6.
  */
-#ifdef HAVE_XDR_RPCB
+#ifdef HAVE_LIBTIRPC
 
 unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
                                const socklen_t salen,
@@ -955,7 +955,7 @@ unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
        return port;
 }
 
-#else  /* HAVE_XDR_RPCB */
+#else  /* !HAVE_LIBTIRPC */
 
 unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
                                const socklen_t salen,
@@ -971,7 +971,7 @@ unsigned short nfs_rpcb_getaddr(const struct sockaddr *sap,
        return 0;
 }
 
-#endif /* HAVE_XDR_RPCB */
+#endif /* !HAVE_LIBTIRPC */
 
 /**
  * nfs_pmap_getport - query rpcbind via the portmap protocol (rpcbindv2)
index b7420d1..4b4b0be 100644 (file)
@@ -40,7 +40,7 @@
 
 #include "nfsrpc.h"
 
-#ifdef HAVE_TIRPC_NETCONFIG_H
+#ifdef HAVE_LIBTIRPC
 
 /*
  * Most of the headers under /usr/include/tirpc are currently
@@ -84,7 +84,7 @@ extern CLIENT *clnt_vc_create(const int, const struct netbuf *,
                              const rpcprog_t, const rpcvers_t,
                              u_int, u_int);
 
-#endif /* HAVE_TIRPC_NETCONFIG_H */
+#endif /* HAVE_LIBTIRPC */
 
 /*
  * If "-1" is specified in the tv_sec field, use these defaults instead.
@@ -107,14 +107,14 @@ static CLIENT *nfs_get_localclient(const struct sockaddr *sap,
                                   const rpcvers_t version,
                                   struct timeval *timeout)
 {
-#ifdef HAVE_CLNT_VC_CREATE
+#ifdef HAVE_LIBTIRPC
        struct sockaddr_storage address;
        const struct netbuf nbuf = {
                .maxlen         = sizeof(struct sockaddr_un),
                .len            = (size_t)salen,
                .buf            = &address,
        };
-#endif /* HAVE_CLNT_VC_CREATE */
+#endif /* HAVE_LIBTIRPC */
        CLIENT *client;
        int sock;
 
@@ -128,13 +128,13 @@ static CLIENT *nfs_get_localclient(const struct sockaddr *sap,
        if (timeout->tv_sec == -1)
                timeout->tv_sec = NFSRPC_TIMEOUT_TCP;
 
-#ifdef HAVE_CLNT_VC_CREATE
+#ifdef HAVE_LIBTIRPC
        memcpy(nbuf.buf, sap, (size_t)salen);
        client = clnt_vc_create(sock, &nbuf, program, version, 0, 0);
-#else  /* HAVE_CLNT_VC_CREATE */
+#else  /* !HAVE_LIBTIRPC */
        client = clntunix_create((struct sockaddr_un *)sap,
                                        program, version, &sock, 0, 0);
-#endif /* HAVE_CLNT_VC_CREATE */
+#endif /* !HAVE_LIBTIRPC */
        if (client != NULL)
                CLNT_CONTROL(client, CLSET_FD_CLOSE, NULL);
        else
@@ -261,23 +261,23 @@ static CLIENT *nfs_get_udpclient(const struct sockaddr *sap,
                                 const rpcvers_t version,
                                 struct timeval *timeout)
 {
-#ifdef HAVE_CLNT_DG_CREATE
+       CLIENT *client;
+       int ret, sock;
+#ifdef HAVE_LIBTIRPC
        struct sockaddr_storage address;
        const struct netbuf nbuf = {
                .maxlen         = salen,
                .len            = salen,
                .buf            = &address,
        };
-#endif /* HAVE_CLNT_DG_CREATE */
-       CLIENT *client;
-       int ret, sock;
 
-#ifndef HAVE_CLNT_DG_CREATE
+#else  /* !HAVE_LIBTIRPC */
+
        if (sap->sa_family != AF_INET) {
                rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
                return NULL;
        }
-#endif /* !HAVE_CLNT_DG_CREATE */
+#endif /* !HAVE_LIBTIRPC */
 
        sock = socket((int)sap->sa_family, SOCK_DGRAM, IPPROTO_UDP);
        if (sock == -1) {
@@ -305,13 +305,13 @@ static CLIENT *nfs_get_udpclient(const struct sockaddr *sap,
                return NULL;
        }
 
-#ifdef HAVE_CLNT_DG_CREATE
+#ifdef HAVE_LIBTIRPC
        memcpy(nbuf.buf, sap, (size_t)salen);
        client = clnt_dg_create(sock, &nbuf, program, version, 0, 0);
-#else  /* HAVE_CLNT_DG_CREATE */
+#else  /* !HAVE_LIBTIRPC */
        client = clntudp_create((struct sockaddr_in *)sap, program,
                                        version, *timeout, &sock);
-#endif /* HAVE_CLNT_DG_CREATE */
+#endif /* !HAVE_LIBTIRPC */
        if (client != NULL) {
                CLNT_CONTROL(client, CLSET_RETRY_TIMEOUT, (char *)timeout);
                CLNT_CONTROL(client, CLSET_FD_CLOSE, NULL);
@@ -337,23 +337,23 @@ static CLIENT *nfs_get_tcpclient(const struct sockaddr *sap,
                                 const rpcvers_t version,
                                 struct timeval *timeout)
 {
-#ifdef HAVE_CLNT_VC_CREATE
+       CLIENT *client;
+       int ret, sock;
+#ifdef HAVE_LIBTIRPC
        struct sockaddr_storage address;
        const struct netbuf nbuf = {
                .maxlen         = salen,
                .len            = salen,
                .buf            = &address,
        };
-#endif /* HAVE_CLNT_VC_CREATE */
-       CLIENT *client;
-       int ret, sock;
 
-#ifndef HAVE_CLNT_VC_CREATE
+#else  /* !HAVE_LIBTIRPC */
+
        if (sap->sa_family != AF_INET) {
                rpc_createerr.cf_stat = RPC_UNKNOWNPROTO;
                return NULL;
        }
-#endif /* !HAVE_CLNT_VC_CREATE */
+#endif /* !HAVE_LIBTIRPC */
 
        sock = socket((int)sap->sa_family, SOCK_STREAM, IPPROTO_TCP);
        if (sock == -1) {
@@ -381,13 +381,13 @@ static CLIENT *nfs_get_tcpclient(const struct sockaddr *sap,
                return NULL;
        }
 
-#ifdef HAVE_CLNT_VC_CREATE
+#ifdef HAVE_LIBTIRPC
        memcpy(nbuf.buf, sap, (size_t)salen);
        client = clnt_vc_create(sock, &nbuf, program, version, 0, 0);
-#else  /* HAVE_CLNT_VC_CREATE */
+#else  /* !HAVE_LIBTIRPC */
        client = clnttcp_create((struct sockaddr_in *)sap,
                                        program, version, &sock, 0, 0);
-#endif /* HAVE_CLNT_VC_CREATE */
+#endif /* !HAVE_LIBTIRPC */
        if (client != NULL)
                CLNT_CONTROL(client, CLSET_FD_CLOSE, NULL);
        else