Hi Jiri,
Thank you for your report. We've looked it over and there does
seem to be a problem in the timer code. We're trying to figure
out how it got triggered and how serious it is. Currently we think
it is most likely a configuration issue and so wouldn't be a good
DOS vector.
While we look into this we were hoping you might be able to
do some tests and gather some information as well.
Do you know if John tried this with other versions of the code?
Specifically any of the 4.1x versions?
Can the test be run with at least two more values for the lease times
instead of "infinite"? The two sets of values that would be interesting
to us are a large number but less than 2^^31 - 1 and a number between
2^^31 and 2^^32 - 1.
In the pcap you sent us the client is receiving a lease time value of
80000, but I don't see anything in the configuration file that would
lead to that value. Does that value ring any bells for you or John
(perhaps an older config file? or something leftover from the client?)
While I wouldn't expect it to show much it would be interesting to get
a copy of the lease file to see what the server was trying to record at
the time of failure.
As normal the fix looks like a good start, we may need to modify it
for other compilers (as I recall that's why we included the & DHCP_SEC_MAX
in the previous patch and after we review it some more.