Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Общие рекомендации

 

Словари

НаименованиеОписаниеСтруктураПримеры обращения к элементам
$rlm

Стандартные коды возврата модуля rlm_perl сервера FreeRADIUS:

  • REJECT — Немедленно отклонить запрос
  • FAIL В модуле возникла ошибка, ничего не отвечать на него
  • OK — Модуль успешно обработал запрос, следует передать запрос следующему модулю
  • HANDLED Модуль обработал запрос, следует прекратить обработку
  • INVALID Модуль считает запрос некорректным
  • USERLOCK — Отклонить запрос, поскольку пользователь заблокирован
  • NOTFOUND Пользователь не найден
  • NOOP Модуль успешно обработал запрос без выполнения каких-либо действий
  • UPDATED Модуль успешно обработал запрос, обновив атрибуты и значения
  • NUMCODES — Общее количество кодов возврата
{
    "REJECT":   0,
    "FAIL":     1,
    "OK":       2,
    "HANDLED":  3,
    "INVALID":  4,
    "USERLOCK": 5,
    "NOTFOUND": 6,
    "NOOP":     7,
    "UPDATED":  8,
    "NUMCODES": 9
}

$rlm.NOTFOUND

$rlm.REJECT

$var

Переменные, используемые для хранения промежуточных результатов вычислений в ходе обработки запроса.
Сохраняют своё значение на всех этапах обработки: от получения запроса до отправки ответа.

Динамически формируется в процессе обработки каждого конкретного запроса в соответствии с конфигурацией агента.

{
    "Remote-Circuit-Ids": {
        "Remote_Id": 1122,
        "Circuit_Id": 12
    },
    "Cleared-User-Name": "Ivanov-T-S"
}
$var.Remote-Circuit-Ids.Remote_Id
 
$requestАтрибуты RADIUS-запроса, полученные от модуля rlm_perl 

$request.RAD_CHECK.Auth-Type

$responseАтрибуты RADIUS-ответа, которые будут отданы модулю rlm_perl в качестве результата обработки RADIUS-запроса $response.RAD_REPLY.DHCP-MS-Classless-Static-Route
$customer_profile

Профиль абонентского оборудования, подобранный в кэше при обработке запроса

  
$provider_profileПрофиль операторского оборудования, подобранный в кэше при обработке запроса  

$bind_id

Идентификатор привязки абонентского оборудования к операторскому  
$contextВесь контекст обработки запроса, включающий в себя теги, данные запроса и ответа и все остальные словари  
$sessionСессия, подобранная в кэше при обработке пакета аккаунтинга  

Операторы

ОбозначениеОписание
or, and, notЛогические операторы: дизъюнкция, конъюнкция, отрицание
<=, <, >=, >Операторы отношения: меньше или равно, меньше, больше или равно, больше
==, !=Операторы сравнения: равно, не равно
+, -, *, /, %Арифметические операторы: сложение, вычитание, умножение, деление, целочисленное деление

Методы

Формат вызоваОписаниеПример использования
coalesce(<list_of_values>)  

empty?()

  

ends_with?(<suffix>[, <start_position>[, <end_position>]])

  

extract(<code_type>, <start_position>[, <length>])

  

format_mac([<delimeter>][, <groups>])

  

gigabytes()

  

has_field?(<field_name>)

  

has_tag?(<tag_name>)

  

in?(<list_of_values>)

  

int([<base>])

  

ip4?()

  

ip4_and(<mask_string>)

  

ip4_mask?()

  

ip4_or(<mask_string>)

  

ip4_scan()

  

join(<delimeter>)

  

like?(<pattern>)

  

lower()

  

mac?()

  

map_join(<delimeter>)

  

merge(<list_of_values>)

  

mod(<divider>)

  

normalize_mac()

  

null?()

  

pad_left(<length>, <pad_string>)

  

pad_right(<length>, <pad_string>)

  

pairs()

  

present?()

  

private_ip4?()

  

regexp_replace(<regexp>[, <replacement_template>])

  

replace(<string_to_replace>[, <replacement])

  

reverse()

  

split([<separator>[, <maxsplit>]])

  

starts_with?(<prefix>[, <start_position>[, <end_position>]])

  

strip(<chars>)

  

substring(<from_position>[, <to_position>])

  

to_date(<format>)

  

to_days()

  

to_hours()

  

to_minutes()

  

to_s([<format>])

  

to_seconds()

  

to_subnet_suffix()

  

to_subnet_mask()

  

try(<field_name>[, <default_value>])

  

unhex()

  

upper()

  
  • No labels