check_dhcp: Make xid a bit more random

Don't just use the current time(2) to seed the PRNG that generates the
xid.  A DHCP server might be checked multiple times per second.
This commit is contained in:
Holger Weiss 2016-09-16 09:43:04 +02:00
parent 99f5be2992
commit 8672529b37

View file

@ -463,10 +463,9 @@ int send_dhcp_discover(int sock){
discover_packet.hlen=ETHERNET_HARDWARE_ADDRESS_LENGTH;
/*
* transaction ID is supposed to be random. We won't use the address so
* we don't care about high entropy here. time(2) is good enough.
* transaction ID is supposed to be random.
*/
srand(time(NULL));
srand(time(NULL)^getpid());
packet_xid=random();
discover_packet.xid=htonl(packet_xid);