Thread (16 messages) 16 messages, 3 authors, 2024-01-04

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help