diff options
-rw-r--r-- | aclocal/libtirpc.m4 | 6 | ||||
-rw-r--r-- | support/include/nfslib.h | 3 | ||||
-rw-r--r-- | utils/gssd/gssd.c | 7 | ||||
-rw-r--r-- | utils/gssd/svcgssd.c | 7 |
4 files changed, 23 insertions, 0 deletions
diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4 index b7de636..27368ff 100644 --- a/aclocal/libtirpc.m4 +++ b/aclocal/libtirpc.m4 @@ -20,6 +20,12 @@ AC_DEFUN([AC_LIBTIRPC], [ [Define to 1 if your rpcsec library provides authgss_free_private_data])],, [${LIBS}])]) + AS_IF([test -n "${LIBTIRPC}"], + [AC_CHECK_LIB([tirpc], [libtirpc_set_debug], + [AC_DEFINE([HAVE_LIBTIRPC_SET_DEBUG], [1], + [Define to 1 if your tirpc library provides libtirpc_set_debug])],, + [${LIBS}])]) + AC_SUBST([AM_CPPFLAGS]) AC_SUBST(LIBTIRPC) diff --git a/support/include/nfslib.h b/support/include/nfslib.h index c9a13cb..ddd71ac 100644 --- a/support/include/nfslib.h +++ b/support/include/nfslib.h @@ -176,6 +176,9 @@ size_t strlcpy(char *, const char *, size_t); ssize_t atomicio(ssize_t (*f) (int, void*, size_t), int, void *, size_t); +#ifdef HAVE_LIBTIRPC_SET_DEBUG +void libtirpc_set_debug(char *name, int level, int use_stderr); +#endif #define UNUSED(x) UNUSED_ ## x __attribute__((unused)) diff --git a/utils/gssd/gssd.c b/utils/gssd/gssd.c index e480349..078e558 100644 --- a/utils/gssd/gssd.c +++ b/utils/gssd/gssd.c @@ -869,6 +869,13 @@ main(int argc, char *argv[]) if (verbosity && rpc_verbosity == 0) rpc_verbosity = verbosity; authgss_set_debug_level(rpc_verbosity); +#elif HAVE_LIBTIRPC_SET_DEBUG + /* + * Only set the libtirpc debug level if explicitly requested via -r... + * gssd is chatty enough as it is. + */ + if (rpc_verbosity > 0) + libtirpc_set_debug(progname, rpc_verbosity, fg); #else if (rpc_verbosity > 0) printerr(0, "Warning: rpcsec_gss library does not " diff --git a/utils/gssd/svcgssd.c b/utils/gssd/svcgssd.c index f1b4347..0fe7c6d 100644 --- a/utils/gssd/svcgssd.c +++ b/utils/gssd/svcgssd.c @@ -135,6 +135,13 @@ main(int argc, char *argv[]) if (verbosity && rpc_verbosity == 0) rpc_verbosity = verbosity; authgss_set_debug_level(rpc_verbosity); +#elif HAVE_LIBTIRPC_SET_DEBUG + /* + * Only set the libtirpc debug level if explicitly requested via -r... + * svcgssd is chatty enough as it is. + */ + if (rpc_verbosity > 0) + libtirpc_set_debug(progname, rpc_verbosity, fg); #else if (rpc_verbosity > 0) printerr(0, "Warning: rpcsec_gss library does not " |