On Tue, Dec 12, 2017 at 10:22 PM, Matt Benjamin <mbenj...@redhat.com> wrote:

> That sounds right, I'm uncertain whether this has regressed in the
> text, or maybe in the likelihood of inlining in the new dispatch
> model.  Bill?
>
>
​It doesn't look like this code has changed recently. ​Is it possible that
some other function was used to encode XID that got removed recently?

Also I see that XID is missing in other error cases as well. Perhaps it is
better to move this up to handle all 'MSG_DENIED' cases.



> Matt
>
> On Wed, Dec 13, 2017 at 9:38 AM, Pradeep <pradeeptho...@gmail.com> wrote:
> > Hello,
> >
> > When using krb5 exports, I noticed that TIRPC does not send XID in
> response
> > - see xdr_reply_encode() for MSG_DENIED case. Looks like Linux clients
> can't
> > decode the message and go in to an infinite loop retrying the same NFS
> > operation. I tried adding XID back (like it is done for normal case) and
> it
> > seems to have fixed the problem. Is this the right thing to do?
> >
> > diff --git a/src/rpc_dplx_msg.c b/src/rpc_dplx_msg.c
> > index 01e5a5c..a585e8a 100644
> > --- a/src/rpc_dplx_msg.c
> > +++ b/src/rpc_dplx_msg.c
> > @@ -194,9 +194,12 @@ xdr_reply_encode(XDR *xdrs, struct rpc_msg *dmsg)
> >                         __warnx(TIRPC_DEBUG_FLAG_RPC_MSG,
> >                                 "%s:%u DENIED AUTH",
> >                                 __func__, __LINE__);
> > -                       buf = XDR_INLINE(xdrs, 2 * BYTES_PER_XDR_UNIT);
> > +                       buf = XDR_INLINE(xdrs, 5 * BYTES_PER_XDR_UNIT);
> >
> >                         if (buf != NULL) {
> > +                               IXDR_PUT_INT32(buf, dmsg->rm_xid);
> > +                               IXDR_PUT_ENUM(buf, dmsg->rm_direction);
> > +                               IXDR_PUT_ENUM(buf,
> dmsg->rm_reply.rp_stat);
> >                                 IXDR_PUT_ENUM(buf, rr->rj_stat);
> >                                 IXDR_PUT_ENUM(buf, rr->rj_why);
> >                         } else if (!xdr_putenum(xdrs, rr->rj_stat)) {
> >
> > ------------------------------------------------------------
> ------------------
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > _______________________________________________
> > Nfs-ganesha-devel mailing list
> > Nfs-ganesha-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
> >
>
>
>
> --
>
> Matt Benjamin
> Red Hat, Inc.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://www.redhat.com/en/technologies/storage
>
> tel.  734-821-5101
> fax.  734-769-8938
> cel.  734-216-5309
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to