Alister Winfield <alister.winfield (AT) uk (DOT) easynet.netwrote:
I have found a potential bug in the way rlm_file or valuepair does the
xlat of %{var} items. These are supposedly dynamic, being based on a
per-packet replacement. The following example can be done a different
way but its the simplest example I can think of ;-)
Yeah, it's a bug. The "users" file originally didn't have variable
expansion, and once we added it, things like this happen.
Am I missing something here and if not I'll be back soon with a complete
patch (Currently I just save the old check_item and put it back which is
fine in a single thread but not so clever in a threaded system).
Rather, if flags.xlat is set, do:
VALUE_PAIR *new_check = rad_malloc(sizeof(*new_check));
memcpy(new_check, check, sizeof(*new_check));
new_check->next = NULL
paircmp( new_check)
pairfree(&new_check);
Alan DeKok.
-
List info/subscribe/unsubscribe? See