Стоит FreeRadius в качестве проксирующего Radius сервера.
в модуле rlm_exec для изменения атрибутов в соответствии с результатом работы скрипта используется
if (output_pairs) pairmove(output_pairs, &answer);
в функции
static int exec_dispatch(void *instance, REQUEST *request)
но функция pairmove в valuepair.c делает только следующее
/*
* Move attributes from one list to the other
* if not already present.
*/
void pairmove(VALUE_PAIR **to, VALUE_PAIR **from)
Т.е. если такой атрибут не существует то он будет добавлен, а если уже существует, то ничего не произойдет.
В результате используя внешний скрипт мы можем только добавлять новые атрибуты, но не можем изменить значение существующих!
Как изменить User-Name во входящем Radius запросе?
Можно ли это сделать каким либо-другим простым способом без изменения модуля rlm_exec?
Дмитрий
FreeRadius rlm_exec не меняет уже существующие атрибуты
Модераторы: SLEDopit, Модераторы разделов