Mark,
We found an issue under the following circumstances:
1) Using the software random sequence generator (as opposed to a hardware PRNG).
2) Multiple devices powering up at the same time on the same network, including the router (think power outage).
When this happens all the devices are asking for DHCP at around the same time using an identical XID. Thus multiple devices get the same IP address.
It appears that in fnDHCPListner()
data += IPV4_LENGTH + 216; // skip siaddr, chaddr, sname, file and get all info from the options field
the chaddr isn't being checked against the devices own MAC.
Is there any particular reason to not do this comparison? We are routinely getting two to five devices installed per location (yay for our side), and have seen this behavior several times.
Thanks,
Aaron