radius_put_vendor_string
(PECL radius >= 1.1.0)
radius_put_vendor_string — Attaches a vendor specific string attribute
Описание
$radius_handle
, int $vendor
, int $type
, string $value
[, int $options
= 0
[, int $tag
]] )Attaches a vendor specific string attribute to the current RADIUS request. In general, radius_put_vendor_attr() is a more useful function for attaching string attributes, as it is binary safe.
Замечание:
Перед вызовом данной функции необходимо создать запрос с помощью функции radius_create_request().
Список параметров
-
radius_handle
-
Ресурс RADIUS.
-
vendor
-
ID производителя (vendor).
-
type
-
Тип атрибута.
-
value
-
The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.
-
options
-
Битовая маска опций атрибута. В качестве значений можно использовать
RADIUS_OPTION_TAGGED
иRADIUS_OPTION_SALT
. -
tag
-
Тег атрибута. Данный параметр игнорируется, если не установлена опция
RADIUS_OPTION_TAGGED
.
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Список изменений
Версия | Описание |
---|---|
PECL radius 1.3.0 |
The options and tag
parameters were added.
|
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Службы аутентификации
- Radius
- radius_acct_open
- radius_add_server
- radius_auth_open
- radius_close
- radius_config
- radius_create_request
- radius_cvt_addr
- radius_cvt_int
- radius_cvt_string
- radius_demangle_mppe_key
- radius_demangle
- radius_get_attr
- radius_get_tagged_attr_data
- radius_get_tagged_attr_tag
- radius_get_vendor_attr
- radius_put_addr
- radius_put_attr
- radius_put_int
- radius_put_string
- radius_put_vendor_addr
- radius_put_vendor_attr
- radius_put_vendor_int
- radius_put_vendor_string
- radius_request_authenticator
- radius_salt_encrypt_attr
- radius_send_request
- radius_server_secret
- radius_strerror
Коментарии
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);
?>
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