<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>
</p>
<div class="moz-text-flowed"
style="font-family: -moz-fixed; font-size: 12px;" lang="x-unicode">Hello,
<br>
<br>
I spent quite a while chasing what turned out to be a
documentation issue with the correct use of
dhcp-client-identifier. I wanted to write to the list in the
hopes that someone in the future could be saved from the trouble I
went through.T
<br>
<br>
The documentation correctly states that DHCP clients will prepend
a zero byte to a ASCII dhcp client identifier. However, the
example given in dhcp-options.5 for how to deal with this is wrong
and will not work.
<br>
<br>
The string parser in the config file grammar, implemented in
conflex.c read_string(), expects 3 digits of octal after the
backslash escape, and it will ignore any backslash escapes with
less than this number of octal digits. So the example "\0foo"
will NOT be read as having a leading zero byte. It will instead
be read as identical to "foo". If you want to have a leading zero
byte, you must spell the string as "\000foo". The alternative is
to spell out the entire thing in colon-separated bytes, like
00:66:6F:6F. There appears to be hex escape parsing as well but
since that's not documented anywhere I saw, I won't mention it
further.
<br>
<br>
I would also ask that the docs be updated to reflect the correct
usage, but I know that the project is EOL and there might be no
capacity to do so.
<br>
<br>
All the best,
<br>
<br>
Jonah
<br>
<br>
</div>
<p><br>
</p>
</body>
</html>