svn commit: r183813 - in stable/6/sys: . netinet/libalias
Christian S.J. Peron
csjp at FreeBSD.org
Sun Oct 12 23:47:06 UTC 2008
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)
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;
}
More information about the svn-src-all
mailing list