PHP 8.4.2 Released!

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_stringПрисоединяет строковый атрибут, зависящий от поставщика

Описание

radius_put_vendor_string(
    resource $radius_handle,
    int $vendor,
    int $type,
    string $value,
    int $options = 0,
    int $tag = ?
): bool

Присоединяет к текущему запросу RADIUS строковый атрибут, зависящий от поставщика. В общем, radius_put_vendor_attr() - более полезная функция для присоединения строковых атрибутов, поскольку она бинарно безопасна.

Замечание:

Перед вызовом этой функции необходимо создать запрос с помощью функции radius_create_request().

Список параметров

radius_handle

Ресурс RADIUS.

vendor

ID производителя (vendor).

type

Тип атрибута.

value

Значение атрибута. Базовая библиотека ожидает, что это значение будет иметь нулевой символ в конце, поэтому этот параметр небезопасен для двоичного кода.

options

Битовая маска опций атрибута. В качестве значений можно использовать RADIUS_OPTION_TAGGED и RADIUS_OPTION_SALT.

tag

Тег атрибута. Этот параметр будет проигнорирован, если не установлена опция RADIUS_OPTION_TAGGED.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
PECL radius 1.3.0 Добавлены параметры options и tag.

Смотрите также

  • radius_put_vendor_int() - Присоединяет целочисленный атрибут, зависящий от поставщика

Добавить

Примечания пользователей 2 notes

up
4
sebastian at sebsoft dot nl
16 years ago
In the PECL sources, a certain vendor specific string is included for Microsoft systems.
However, if you just want to pass something entirely different, like Cisco specifics, that's possible.
The fact that this isn't included in the sources of the PECL doesn't mean you can't use them.

Better said, everything there is in the dictionary of your Radius server can be put in as string.

Like the following example to write a h323-gw-id:
<?php
$res
= radius_acct_open ();
radius_add_server($res,'127.0.0.1', 1813, 'mysecret', 10, 2);
radius_create_request($res, RADIUS_ACCOUNTING_REQUEST);
radius_put_vendor_string($res,9,33 ,"h323-gw-id=123456");

$result = radius_send_request($res);
?>
up
1
Horol
5 years ago
When vendor specific string is not included, you can define it and use in your code:
<?php
define
('RADIUS_VENDOR_CISCO', 9);
define('RADIUS_PROXY_STATE', 33);
radius_put_vendor_string($res, RADIUS_VENDOR_CISCO, RADIUS_PROXY_STATE, "h323-gw-id=123456");
?>

List of RADIUS Attribute Types:
https://www.iana.org/assignments/radius-types/radius-types.xhtml#radius-types-2

List of Vendor ID's:
https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
To Top