autofs-5.0.6 - fix libtirpc name clash

From: Ian Kent <ikent@redhat.com>

The tirpc function auth_destroy() is a macro definition in tirpc/rpc/auth.h
which includes an unconditional call to a function log_debug() which clashes
with an autofs function of the same name and has a different call signature.

To fix it redefine auth_destroy() and exclude the debug log call.
---

 CHANGELOG      |    1 +
 lib/rpc_subs.c |   10 ++++++++++
 2 files changed, 11 insertions(+), 0 deletions(-)


diff --git a/CHANGELOG b/CHANGELOG
index c96e6b3..bbd3156 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -51,6 +51,7 @@
 - fix kernel verion check of version components.
 - dont retry ldap connect if not required.
 - fix initialization in rpc create_client().
+- fix libtirpc name clash.
 
 28/06/2011 autofs-5.0.6
 -----------------------
diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
index cc08f05..d33a3c4 100644
--- a/lib/rpc_subs.c
+++ b/lib/rpc_subs.c
@@ -34,6 +34,16 @@
 #include <pthread.h>
 #include <poll.h>
 
+#ifdef WITH_LIBTIRPC
+#undef auth_destroy
+#define auth_destroy(auth)                                              \
+                do {                                                    \
+                        int refs;                                       \
+                        if ((refs = auth_put((auth))) == 0)             \
+                                ((*((auth)->ah_ops->ah_destroy))(auth));\
+                } while (0)
+#endif
+
 #include "mount.h"
 #include "rpc_subs.h"
 #include "automount.h"