Не подскажете, как решить данную задачу.
Нужно сделать в предобработке изменение атрибутов с type="ipaddr":
С обработкой типов "string" и "int" разобрался, а вот как обработать "ipaddr" не понятно.
На основании атрибута "Framed-IP-Address", добавить два новых (type="ipaddr"), а сам "Framed-IP-Address" убить.
1) получение "Framed-IP-Address":
Код:
String FramedIP = request.getAttribute( -1, 8, null );
2) нужно скопировать "Framed-IP-Address" в новый атрибут:
Код:
request.addAttribute( new RadiusAttribute.RadiusAttributeIpAddr( -1, X, FramedIP) );
Здесь засада - несовпадение типов.
3) на основании "Framed-IP-Address" , например X.X.X.X, вычислить такой X.X.X.1 и создать новый атрибут:
Код:
вычисление X.X.X.1
request.addAttribute( new RadiusAttribute.RadiusAttributeIpAddr( -1, Y, new_attr) );
4) удаление "Framed-IP-Address" - самое простое и уже рабочее.
Код:
response.removeAttributes( -1, 8 );