[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