On 24.10.2014 22:37, Eugene Grosbein wrote:
Long story short: radiusd receives both suboptions and parses them correctly but stores only first one due to subtle bug. I fixed the problem with the following patch:
--- src/modules/proto_dhcp/dhcp.c.orig 2014-09-10 20:57:22.000000000 +0700 +++ src/modules/proto_dhcp/dhcp.c 2014-10-24 22:08:53.000000000 +0700 @@ -994,7 +994,7 @@ ssize_t fr_dhcp_decode_options(VALUE_PAI pairfree(out); return -1; } - fr_cursor_insert(&cursor, vp); + fr_cursor_merge(&cursor, vp);
for (vp = fr_cursor_current(&cursor); vp;
Oops, it seems this bug has already been fixed in the master branch a week ago with the same fix... Now I miss my nine work hours spent to make me familiar with freeradius code :-) Will wait for 3.0.5, anyway. Eugene Grosbein