svn commit: r183812 - in stable/7/sys: . netinet/libalias
Christian S.J. Peron
csjp at FreeBSD.org
Sun Oct 12 23:19:24 UTC 2008
Author: csjp
Date: Sun Oct 12 23:19:23 2008
New Revision: 183812
URL: http://svn.freebsd.org/changeset/base/183812
Log:
MFC revision 183744
Improve entropy in source port generation for libalias consumers.
Approved by: re (kib)
Modified:
stable/7/sys/ (props changed)
stable/7/sys/netinet/libalias/alias_db.c
Modified: stable/7/sys/netinet/libalias/alias_db.c
==============================================================================
--- stable/7/sys/netinet/libalias/alias_db.c Sun Oct 12 21:46:11 2008 (r183811)
+++ stable/7/sys/netinet/libalias/alias_db.c Sun Oct 12 23:19:23 2008 (r183812)
@@ -606,7 +606,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);
}
@@ -657,7 +657,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);
}
@@ -772,9 +772,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;
}
@@ -796,9 +796,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-stable-7
mailing list