Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 2008 20:20:12 +0200
From:      Max Laier <max@love2party.net>
To:        "Christian S.J. Peron" <csjp@freebsd.org>
Cc:        svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-6@freebsd.org
Subject:   Re: svn commit: r183813 - in stable/6/sys: . netinet/libalias
Message-ID:  <200810132020.13577.max@love2party.net>
In-Reply-To: <200810122347.m9CNl63T058515@svn.freebsd.org>
References:  <200810122347.m9CNl63T058515@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 13 October 2008 01:47:06 Christian S.J. Peron wrote:
> Author: csjp
> Date: Sun Oct 12 23:47:06 2008
> New Revision: 183813
> URL: http://svn.freebsd.org/changeset/base/183813
>
> Log:
>   MFC revision 183744
>
>   Improve entropy in source port generation for libalias consumers.
>
>   Approved by:  re (kib)

Thanks!

>
> Modified:
>   stable/6/sys/   (props changed)
>   stable/6/sys/netinet/libalias/alias_db.c
>
> Modified: stable/6/sys/netinet/libalias/alias_db.c
> ===========================================================================
>=== --- stable/6/sys/netinet/libalias/alias_db.c	Sun Oct 12 23:19:23
> 2008	(r183812) +++ stable/6/sys/netinet/libalias/alias_db.c	Sun Oct 12
> 23:47:06 2008	(r183813) @@ -603,7 +603,7 @@ GetNewPort(struct libalias *la,
> struct a
>  			port_sys = ntohs(port_net);
>  		} else {
>  			/* First trial and all subsequent are random. */
> -			port_sys = random() & ALIAS_PORT_MASK;
> +			port_sys = arc4random() & ALIAS_PORT_MASK;
>  			port_sys += ALIAS_PORT_BASE;
>  			port_net = htons(port_sys);
>  		}
> @@ -654,7 +654,7 @@ GetNewPort(struct libalias *la, struct a
>  			}
>  #endif
>  		}
> -		port_sys = random() & ALIAS_PORT_MASK;
> +		port_sys = arc4random() & ALIAS_PORT_MASK;
>  		port_sys += ALIAS_PORT_BASE;
>  		port_net = htons(port_sys);
>  	}
> @@ -767,9 +767,9 @@ FindNewPortGroup(struct libalias *la,
>
>  		/* First trial and all subsequent are random. */
>  		if (align == FIND_EVEN_ALIAS_BASE)
> -			port_sys = random() & ALIAS_PORT_MASK_EVEN;
> +			port_sys = arc4random() & ALIAS_PORT_MASK_EVEN;
>  		else
> -			port_sys = random() & ALIAS_PORT_MASK;
> +			port_sys = arc4random() & ALIAS_PORT_MASK;
>
>  		port_sys += ALIAS_PORT_BASE;
>  	}
> @@ -791,9 +791,9 @@ FindNewPortGroup(struct libalias *la,
>
>  		/* Find a new base to try */
>  		if (align == FIND_EVEN_ALIAS_BASE)
> -			port_sys = random() & ALIAS_PORT_MASK_EVEN;
> +			port_sys = arc4random() & ALIAS_PORT_MASK_EVEN;
>  		else
> -			port_sys = random() & ALIAS_PORT_MASK;
> +			port_sys = arc4random() & ALIAS_PORT_MASK;
>
>  		port_sys += ALIAS_PORT_BASE;
>  	}

-- 
/"\  Best regards,                      | mlaier@freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810132020.13577.max>