forum.bitel.ru
http://forum.bitel.ru/

изменить скриптом предобработки атрибуты ответа RADIUS
http://forum.bitel.ru/viewtopic.php?f=19&t=6677
Страница 1 из 1

Автор:  Mikhail [ 09 апр 2012, 12:52 ]
Заголовок сообщения:  изменить скриптом предобработки атрибуты ответа RADIUS

Возможно ли? Делаю примерно так:

Код:
import bitel.billing.server.radius.*;
import ru.bitel.bgbilling.kernel.network.radius.*;
import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket;

if (request.getCode() == 1) {
// 1 - access_request

... some code ....
     
      if (X == 0) {

             response.setIntAttribute(9,102,0);
       }

}


не работает почему-то.. в нужном мне поле шлется абсолютно другое значение, а в script.log вообще нет обработанного ответного пакета. Причем Х стопроцентно равен 0, я проверял попадание в эту ветку. Может, я что не так делаю?
Пробовал вот так:

Код:

if (X == 0) {

             response.setCode(RadiusPacket.ACCESS_REJECT);
       }


Все равно в ответ шлется Access-Accept :(

Версия 5.1.

Автор:  skyb [ 09 апр 2012, 15:34 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

а есть же на вики пример

Автор:  Mikhail [ 09 апр 2012, 16:12 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

Так там-то для события..а я в скрипте предобработки пытаюсь все это сделать.

Автор:  Phricker [ 09 апр 2012, 16:15 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

Так это скрипт предобработки ЗАПРОСА. Ответ - через скрипты поведения, если мне не изменяет память :)

Автор:  Mikhail [ 09 апр 2012, 16:19 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

Хм.. Тогда получается, я всю логику должен в скрипт поведения перенести, на основании которой делается решение - access слать или reject? У меня-то там анализируется присланное в request username и еще пара параметров, после чего и должно либо отшить, либо разрешить))
Хотя вот тут указано, что скрипт предобработки имеет доступ к response.

Автор:  skyb [ 09 апр 2012, 16:34 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

http://wiki.bgbilling.ru/index.php/%D0% ... 0%BC%D0%B8
Это не то?

Автор:  Mikhail [ 09 апр 2012, 16:46 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

Да я тут уже сделал примерно так:

Код:
response = request.createResponse();
response.setCode(RadiusPacket.ACCESS_ACCEPT);
response.setStringAttribute(9,101,"0");   
response.setStringAttribute(9,102,"0");
response.setStringAttribute(9,103,"255");      

нужные атрибуты стали передаваться.
но пока не дошел, как установить правильный authenticator для пакета-ответа :)

Автор:  Mikhail [ 09 апр 2012, 17:48 ]
Заголовок сообщения:  Re: изменить скриптом предобработки атрибуты ответа RADIUS

Отчаялся биться с authentificator и переписал логику "отшить/разрешить" в скрипт поведения, да привязал его к нужному событию. Работает :)

p.s. работает-то работает, но смущает меня то, что в сформированном ответе поле authenticator пустое. Как бы не было проблем.
p.p.s. причем оно пустое только в логе script.log, а в radius.log виден правильный authenticator. Хотя атрибуты и там и там одинаковые... странно. Делал-то как в wiki описано:

Код:
request = event.getRequest(); // radius-запрос
response = event.getResponse(); //radius-ответ

...some code...

if ( X == 0 ) {

   response.setStringAttribute(9,101,"0");   
   response.setStringAttribute(9,102,"0");
   response.setStringAttribute(9,103,"255");      
          }

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/