Re: [PATCH 6/6] configure: check for rpc_gss_seccreate
From: Chuck Lever <hidden>
Date: 2023-12-07 22:27:49
On Thu, Dec 07, 2023 at 05:21:50PM -0500, Olga Kornievskaia wrote:
On Thu, Dec 7, 2023 at 9:44 AM Chuck Lever [off-list ref] wrote:quoted
On Wed, Dec 06, 2023 at 04:33:32PM -0500, Olga Kornievskaia wrote:quoted
From: Olga Kornievskaia <redacted> If we have rpc_gss_sccreate in tirpc library define HAVE_TIRPC_GSS_SECCREATE, which would allow us to handle bad_integrity errors. Signed-off-by: Olga Kornievskaia <redacted> --- aclocal/libtirpc.m4 | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4 index bddae022..ef48a2ae 100644 --- a/aclocal/libtirpc.m4 +++ b/aclocal/libtirpc.m4@@ -26,6 +26,11 @@ AC_DEFUN([AC_LIBTIRPC], [ [Define to 1 if your tirpc library provides libtirpc_set_debug])],, [${LIBS}])]) + AS_IF([test -n "${LIBTIRPC}"], + [AC_CHECK_LIB([tirpc], [rpc_gss_seccreate], + [AC_DEFINE([HAVE_TIRPC_GSS_SECCREATE], [1], + [Define to 1 if your tirpc library provides rpc_gss_seccreate])],, + [${LIBS}])]) AC_SUBST([AM_CPPFLAGS]) AC_SUBST(LIBTIRPC)It would be better for distributors if this checked that the local version of libtirpc has the rpc_gss_seccreate fix that you sent. The PKG_CHECK_MODULES macro should work for that, once you know the version number of libtirpc that will have that fix. Also, this patch should come either before "gssd: switch to using rpc_gss_seccreate()" or this change should be squashed into that patch, IMO.I can certainly re-arrange the order (if Steve wants me to re-send an ordered list). I attempted to address your comment to check for existence of the function or fallback to the old way.
A comment that I made when I thought no changes to rpc_gss_seccreate(3t) would be needed.... But you found and fixed a bug there.
I'm not sure I'm capable of producing something that depends on distro versioning (or am I supposed to be)?
I think this series truly needs to check the libtirpc version. Otherwise the build will complete successfully, gssd will use rpc_gss_seccreate(), but it will be broken. Grep for PKG_CHECK_MODULES in the other files in aclocal/ and you should find a pattern to use.
I think this goes back to me hoping that a distro would create matching set of libtirpc and nfs-utils rpms...
IME distros don't work that way. -- Chuck Lever