bad IP length header error misformats number
When I start up my kea-dhcp4-server, I see in my logs a misprinted error message like so:
ERROR [kea-dhcp4.packets] DHCP4_BUFFER_RECEIVE_FAIL error on attempt to receive packet: Value of the length of the IP header must not be lower than 5 words. The length of the received header is
The number at the end of the message is not printed. This bug is for the failure of the log message to include its intended content.
I believe the problem is at protocol_util.cc:91. The header length is written into the error message as a uint8_t, which would get the overload for appending a byte as opposed to appending the decimal-formatted numeric value.
To Reproduce
I have not diagnosed why I'm getting the error message in the first place, so I regret I do not have good instructions for you to reproduce the problem. My hope is that the problem I identify above is sufficiently clear on code inspection alone that full reproduction is not crucial. One could temporarily hack the code to log the message even when there is no error, and the resulting log message should still be misformated.
Expected behavior
I expect at least to see an error message like "... The length of the received header is 0."
Environment:
I'm trying out kea on Debian Stretch. As kea has not made it into Debian Buster before freeze, I'm currently running a crude informal backport from the current Debian Sid code, which is a slightly patched kea-1.5.0. I can provide more detail on request, but I don't think its likely to be important.