[PATCH v2 04/11] nfs: shorten and simplify rpc_add_credentials a bit
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Sat Feb 8 10:11:19 EST 2014
On Sat, Feb 08, 2014 at 07:51:28AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 22:28 Fri 07 Feb , Uwe Kleine-K??nig wrote:
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
>
> keep the hostname I use it on nfs for export filter
Which hostname? There is only one "used" in code that is commented out.
Best regards
Uwe
> Best Regards,
> J.
> > ---
> > fs/nfs.c | 26 +++++---------------------
> > 1 file changed, 5 insertions(+), 21 deletions(-)
> >
> > diff --git a/fs/nfs.c b/fs/nfs.c
> > index 76d8c0595db4..54dda261c0b1 100644
> > --- a/fs/nfs.c
> > +++ b/fs/nfs.c
> > @@ -224,34 +224,18 @@ out_overflow:
> > */
> > static uint32_t *rpc_add_credentials(uint32_t *p)
> > {
> > - int hl;
> > - int hostnamelen = 0;
> > -
> > /*
> > - * Here's the executive summary on authentication requirements of the
> > - * various NFS server implementations: Linux accepts both AUTH_NONE
> > - * and AUTH_UNIX authentication (also accepts an empty hostname field
> > - * in the AUTH_UNIX scheme). *BSD refuses AUTH_NONE, but accepts
> > - * AUTH_UNIX (also accepts an empty hostname field in the AUTH_UNIX
> > - * scheme). To be safe, use AUTH_UNIX and pass the hostname if we have
> > - * it (if the BOOTP/DHCP reply didn't give one, just use an empty
> > - * hostname).
> > + * *BSD refuses AUTH_NONE, so use AUTH_UNIX. An empty hostname is OK for
> > + * both Linux and *BSD.
> > */
> >
> > - hl = (hostnamelen + 3) & ~3;
> > -
> > /* Provide an AUTH_UNIX credential. */
> > *p++ = htonl(1); /* AUTH_UNIX */
> > - *p++ = htonl(hl + 20); /* auth length */
> > + *p++ = htonl(20); /* auth length: 20 + strlen(hostname) */
> > *p++ = htonl(0); /* stamp */
> > - *p++ = htonl(hostnamelen); /* hostname string */
> > -
> > - if (hostnamelen & 3)
> > - *(p + hostnamelen / 4) = 0; /* add zero padding */
> > -
> > - /* memcpy(p, hostname, hostnamelen); */ /* empty hostname */
> > + *p++ = htonl(0); /* hostname string length */
> > + /* memcpy(p, "", 0); p += 0; <- empty host name */
> >
> > - p += hl / 4;
> > *p++ = 0; /* uid */
> > *p++ = 0; /* gid */
> > *p++ = 0; /* auxiliary gid list */
> > --
> > 1.8.5.2
> >
>
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the barebox
mailing list