Linux NFS development
 help / color / mirror / Atom feed
* [PATCH 1/1] libtirpc: Add detection for new rpc_gss_sec members
@ 2023-10-25 18:01 Petr Vorel
  2023-11-13 17:05 ` Steve Dickson
  0 siblings, 1 reply; 4+ messages in thread
From: Petr Vorel @ 2023-10-25 18:01 UTC (permalink / raw)
  To: linux-nfs; +Cc: Petr Vorel, Olga Kornievskaia, Steve Dickson, Petr Vorel

From: Petr Vorel <petr.vorel@gmail.com>

4b272471 started to use struct rpc_gss_sec member minor_status, which
was added in new libtirpc 1.3.4. Add check for the member to prevent
failure on older libtirpc headers.

Fixes: 4b272471 ("gssd: handle KRB5_AP_ERR_BAD_INTEGRITY for machine credentials")
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 aclocal/libtirpc.m4 | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
index bddae022..dd351722 100644
--- a/aclocal/libtirpc.m4
+++ b/aclocal/libtirpc.m4
@@ -25,6 +25,10 @@ AC_DEFUN([AC_LIBTIRPC], [
                          [AC_DEFINE([HAVE_LIBTIRPC_SET_DEBUG], [1],
                                     [Define to 1 if your tirpc library provides libtirpc_set_debug])],,
                          [${LIBS}])])
+     AS_IF([test "$enable_gss" = "yes"],
+           [AC_CHECK_MEMBER(struct rpc_gss_sec.minor_status,,
+                         [AC_MSG_ERROR([Missing rpc_gss_sec.minor_status in <rpc/auth_gss.h>, update libtirpc or run with --disable-gss])],
+                         [#include <rpc/auth_gss.h>])])
 
   AC_SUBST([AM_CPPFLAGS])
   AC_SUBST(LIBTIRPC)
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] libtirpc: Add detection for new rpc_gss_sec members
  2023-10-25 18:01 [PATCH 1/1] libtirpc: Add detection for new rpc_gss_sec members Petr Vorel
@ 2023-11-13 17:05 ` Steve Dickson
  2023-11-13 18:30   ` Petr Vorel
  0 siblings, 1 reply; 4+ messages in thread
From: Steve Dickson @ 2023-11-13 17:05 UTC (permalink / raw)
  To: Petr Vorel, linux-nfs; +Cc: Petr Vorel, Olga Kornievskaia

Hello,

On 10/25/23 2:01 PM, Petr Vorel wrote:
> From: Petr Vorel<petr.vorel@gmail.com>
> 
> 4b272471 started to use struct rpc_gss_sec member minor_status, which
> was added in new libtirpc 1.3.4. Add check for the member to prevent
> failure on older libtirpc headers.
> 
> Fixes: 4b272471 ("gssd: handle KRB5_AP_ERR_BAD_INTEGRITY for machine credentials")
> Signed-off-by: Petr Vorel<pvorel@suse.cz>
> ---
>   aclocal/libtirpc.m4 | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
> index bddae022..dd351722 100644
> --- a/aclocal/libtirpc.m4
> +++ b/aclocal/libtirpc.m4
> @@ -25,6 +25,10 @@ AC_DEFUN([AC_LIBTIRPC], [
>                            [AC_DEFINE([HAVE_LIBTIRPC_SET_DEBUG], [1],
>                                       [Define to 1 if your tirpc library provides libtirpc_set_debug])],,
>                            [${LIBS}])])
> +     AS_IF([test "$enable_gss" = "yes"],
> +           [AC_CHECK_MEMBER(struct rpc_gss_sec.minor_status,,
> +                         [AC_MSG_ERROR([Missing rpc_gss_sec.minor_status in <rpc/auth_gss.h>, update libtirpc or run with --disable-gss])],
> +                         [#include <rpc/auth_gss.h>])])
>   
>     AC_SUBST([AM_CPPFLAGS])
>     AC_SUBST(LIBTIRPC)
> -- 2.42.0
> 
This does not work... since it is looking at that gssrpc/auth_gss.h
instead of the tirpc/rpc/auth_gss.h so the check fails

I like the idea of having the check, but I'm not sure on
how to point it in the right direction.

steved.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] libtirpc: Add detection for new rpc_gss_sec members
  2023-11-13 17:05 ` Steve Dickson
@ 2023-11-13 18:30   ` Petr Vorel
  2023-11-13 18:48     ` Steve Dickson
  0 siblings, 1 reply; 4+ messages in thread
From: Petr Vorel @ 2023-11-13 18:30 UTC (permalink / raw)
  To: Steve Dickson; +Cc: linux-nfs, Petr Vorel, Olga Kornievskaia

Hi Steve,

Thanks for having a look.

> Hello,

> On 10/25/23 2:01 PM, Petr Vorel wrote:
> > From: Petr Vorel<petr.vorel@gmail.com>

> > 4b272471 started to use struct rpc_gss_sec member minor_status, which
> > was added in new libtirpc 1.3.4. Add check for the member to prevent
> > failure on older libtirpc headers.

> > Fixes: 4b272471 ("gssd: handle KRB5_AP_ERR_BAD_INTEGRITY for machine credentials")
> > Signed-off-by: Petr Vorel<pvorel@suse.cz>
> > ---
> >   aclocal/libtirpc.m4 | 4 ++++
> >   1 file changed, 4 insertions(+)

> > diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
> > index bddae022..dd351722 100644
> > --- a/aclocal/libtirpc.m4
> > +++ b/aclocal/libtirpc.m4
> > @@ -25,6 +25,10 @@ AC_DEFUN([AC_LIBTIRPC], [
> >                            [AC_DEFINE([HAVE_LIBTIRPC_SET_DEBUG], [1],
> >                                       [Define to 1 if your tirpc library provides libtirpc_set_debug])],,
> >                            [${LIBS}])])
> > +     AS_IF([test "$enable_gss" = "yes"],
> > +           [AC_CHECK_MEMBER(struct rpc_gss_sec.minor_status,,
> > +                         [AC_MSG_ERROR([Missing rpc_gss_sec.minor_status in <rpc/auth_gss.h>, update libtirpc or run with --disable-gss])],
> > +                         [#include <rpc/auth_gss.h>])])
> >     AC_SUBST([AM_CPPFLAGS])
> >     AC_SUBST(LIBTIRPC)
> > -- 2.42.0

> This does not work... since it is looking at that gssrpc/auth_gss.h
> instead of the tirpc/rpc/auth_gss.h so the check fails
Is it? There is no <gssrpc/auth_gss.h>. I suppose you test on some recent
Fedora, I'll retest it.

I tested it on openSUSE Tumbleweed, where libtirpc-devel is
installed into /usr/include/rpc/, thus /usr/include/rpc/auth_gss.h exists.
But on Debian (and likely on RHEL/Fedora as you noticed it) is on
/usr/include/tirpc/rpc/auth_gss.h.

I hoped that this is handled elsewhere via -I/usr/include/tirpc.
So, I'm really confused why would have look at <gssrpc/auth_gss.h>.

Kind regards,
Petr

> I like the idea of having the check, but I'm not sure on
> how to point it in the right direction.

> steved.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/1] libtirpc: Add detection for new rpc_gss_sec members
  2023-11-13 18:30   ` Petr Vorel
@ 2023-11-13 18:48     ` Steve Dickson
  0 siblings, 0 replies; 4+ messages in thread
From: Steve Dickson @ 2023-11-13 18:48 UTC (permalink / raw)
  To: Petr Vorel; +Cc: linux-nfs, Petr Vorel, Olga Kornievskaia



On 11/13/23 1:30 PM, Petr Vorel wrote:
> Hi Steve,
> 
> Thanks for having a look.
> 
>> Hello,
> 
>> On 10/25/23 2:01 PM, Petr Vorel wrote:
>>> From: Petr Vorel<petr.vorel@gmail.com>
> 
>>> 4b272471 started to use struct rpc_gss_sec member minor_status, which
>>> was added in new libtirpc 1.3.4. Add check for the member to prevent
>>> failure on older libtirpc headers.
> 
>>> Fixes: 4b272471 ("gssd: handle KRB5_AP_ERR_BAD_INTEGRITY for machine credentials")
>>> Signed-off-by: Petr Vorel<pvorel@suse.cz>
>>> ---
>>>    aclocal/libtirpc.m4 | 4 ++++
>>>    1 file changed, 4 insertions(+)
> 
>>> diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
>>> index bddae022..dd351722 100644
>>> --- a/aclocal/libtirpc.m4
>>> +++ b/aclocal/libtirpc.m4
>>> @@ -25,6 +25,10 @@ AC_DEFUN([AC_LIBTIRPC], [
>>>                             [AC_DEFINE([HAVE_LIBTIRPC_SET_DEBUG], [1],
>>>                                        [Define to 1 if your tirpc library provides libtirpc_set_debug])],,
>>>                             [${LIBS}])])
>>> +     AS_IF([test "$enable_gss" = "yes"],
>>> +           [AC_CHECK_MEMBER(struct rpc_gss_sec.minor_status,,
>>> +                         [AC_MSG_ERROR([Missing rpc_gss_sec.minor_status in <rpc/auth_gss.h>, update libtirpc or run with --disable-gss])],
>>> +                         [#include <rpc/auth_gss.h>])])
>>>      AC_SUBST([AM_CPPFLAGS])
>>>      AC_SUBST(LIBTIRPC)
>>> -- 2.42.0
> 
>> This does not work... since it is looking at that gssrpc/auth_gss.h
>> instead of the tirpc/rpc/auth_gss.h so the check fails
> Is it? There is no <gssrpc/auth_gss.h>. I suppose you test on some recent
> Fedora, I'll retest it.
Yes... this is both an
/usr/include/tirpc/rpc/auth_gss.h owned by krb5-devel
and
/usr/include/tirpc/rpc/auth_gss.h owned by libtirpc-devel

> 
> I tested it on openSUSE Tumbleweed, where libtirpc-devel is
> installed into /usr/include/rpc/, thus /usr/include/rpc/auth_gss.h exists.
> But on Debian (and likely on RHEL/Fedora as you noticed it) is on
> /usr/include/tirpc/rpc/auth_gss.h.
Maybe krb5-devel was not installed??

> 
> I hoped that this is handled elsewhere via -I/usr/include/tirpc.
> So, I'm really confused why would have look at <gssrpc/auth_gss.h>.
True, but I think -I only works during compilation, not configuration.

steved.

> 
> Kind regards,
> Petr
> 
>> I like the idea of having the check, but I'm not sure on
>> how to point it in the right direction.
> 
>> steved.
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-13 18:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-25 18:01 [PATCH 1/1] libtirpc: Add detection for new rpc_gss_sec members Petr Vorel
2023-11-13 17:05 ` Steve Dickson
2023-11-13 18:30   ` Petr Vorel
2023-11-13 18:48     ` Steve Dickson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox