svn commit: r183837 - in releng/6.4/sys: . netinet/libalias
Christian S.J. Peron
csjp at FreeBSD.org
Mon Oct 13 18:45:00 UTC 2008
Author: csjp
Date: Mon Oct 13 18:44:59 2008
New Revision: 183837
URL: http://svn.freebsd.org/changeset/base/183837
Log:
MFC change 182488
Improve entropy in source port generation for libalias consumers.
Approved by: re (kib)
Modified:
releng/6.4/sys/ (props changed)
releng/6.4/sys/netinet/libalias/alias_db.c
Modified: releng/6.4/sys/netinet/libalias/alias_db.c
==============================================================================
--- releng/6.4/sys/netinet/libalias/alias_db.c Mon Oct 13 18:42:25 2008 (r183836)
+++ releng/6.4/sys/netinet/libalias/alias_db.c Mon Oct 13 18:44:59 2008 (r183837)
@@ -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