[PATCH v2 04/11] nfs: shorten and simplify rpc_add_credentials a bit

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Feb 8 01:51:28 EST 2014


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

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
> 



More information about the barebox mailing list