Freeradius — получает данные из внешнего скрипта

я использую FreeRadius v3 для моего проекта, и я выполняю внешний скрипт php, чтобы выполнить некоторые проверки в разделе авторизации. Я пытаюсь получить несколько пар атрибут-значение из скрипта, например:

Auth-Type (контроль): значение
Ответ-сообщение (ответ): значение

Так, например, я хотел бы получить и Auth-Type = Accept плюс ответное сообщение от скрипта.

Я использовал этот пост: Атрибуты чтения FreeRadius при выполнении внешнего скрипта в качестве ссылки, и я попытался сделать, как предложено, но это не работает.

Вот некоторый код, чтобы объяснить, что я делаю:

1 — Авторизовать раздел

    authorize{
update{
control: += `/usr/bin/php -f /path/to/script/test.php '%{User-Name}'`
}
....

2 — скрипт php (эхо-раздел)

            echo "Auth-Type = Accept,\n";
echo "reply:WISPr-Redirection-URL = http://google.com,\n";
echo "reply:Reply-Message = 'hello world'\n";

3 — выход Php (как предложено из связанного поста)

Auth-Type = Accept
reply:WISPr-Redirection-URL = http://google.com
reply:Reply-Message = 'hello world'

4 — вывод Freeradius

Proxying to virtual server test-server
(0) # Executing section authorize from file /etc/freeradius/sites-enabled/test-server
(0)   authorize {
(0)     update {
(0)       Executing: /usr/bin/php -f /path/to/script/test.php '%{User-Name}':
(0)       EXPAND %{User-Name}
(0)          --> alice
(0)       ERROR: Failed parsing output from: /usr/bin/php -f /home/saiv/radius_script/test.php '%{User-Name}': Expecting operator
(0)       ERROR: Program returned code (0) and output 'Auth-Type = Accept, reply:WISPr-Redirection-URL = http://google.com, reply:Reply-Message = 'hello world''
(0)     } # update = fail
(0)   } # authorize = fail

Если я удаляю «reply: Reply-Message …» и добавляю только «Reply-Message: …», вывод принимается freeradius, но avp-сообщение Reply переходит под «control», и это неверно.

(0)       Program returned code (0) and output 'Auth-Type = Accept, WISPr-Redirection-URL = http://google.com, Reply-Message = 'hello world''
(0)       control::Auth-Type = Accept
(0)       control::WISPr-Redirection-URL = http://google.com
(0)       control::Reply-Message = hello world

Может кто-нибудь сказать мне, что мне не хватает?
Любая помощь будет оценена.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]