Blob Blame History Raw
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(+)


--- autofs-5.0.6.orig/CHANGELOG
+++ autofs-5.0.6/CHANGELOG
@@ -41,6 +41,7 @@
 - fix dlopen() error handling in sss module.
 - fix configure string length tests for sss library.
 - fix initialization in rpc create_client().
+- fix libtirpc name clash.
 
 28/06/2011 autofs-5.0.6
 -----------------------
--- autofs-5.0.6.orig/lib/rpc_subs.c
+++ autofs-5.0.6/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"