2024 年 PHP 日本大会

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string附加特定厂商的字符串属性

描述

radius_put_vendor_string(
    资源 $radius_handle,
    整数 $vendor,
    整数 $type,
    字符串 $value,
    整数 $options = 0,
    整数 $tag = ?
): 布尔值

将特定厂商的字符串属性附加到当前 RADIUS 请求。通常,radius_put_vendor_attr() 是附加字符串属性的更有用的函数,因为它对二进制数据安全。

注意:

必须通过 radius_create_request() 创建请求后才能调用此函数。

参数

radius_handle

RADIUS 资源。

vendor

厂商 ID。

type

属性类型。

value

属性值。底层库期望此值为以 null 结尾的字符串,因此此参数不是二进制安全的。

options

属性选项的位掩码。可用的选项包括 RADIUS_OPTION_TAGGEDRADIUS_OPTION_SALT

tag

属性标签。除非设置了 RADIUS_OPTION_TAGGED 选项,否则忽略此参数。

返回值

成功时返回 true,失败时返回 false

变更日志

版本 描述
PECL radius 1.3.0 添加了 optionstag 参数。

参见

添加注释

用户贡献的注释 2 条注释

sebastian at sebsoft dot nl
16 年前
在 PECL 源代码中,包含了特定厂商的字符串用于 Microsoft 系统。
但是,如果您只想传递完全不同的内容,例如 Cisco 的特定内容,这是可能的。
PECL 的源代码中不包含这一点并不意味着您不能使用它们。

说得更好些,Radius 服务器字典中的所有内容都可以作为字符串放入。

例如,以下示例用于写入 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);
?>
Horol
5 年前
当不包含特定厂商的字符串时,您可以定义它并在代码中使用
<?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");
?>

RADIUS 属性类型列表
https://www.iana.org/assignments/radius-types/radius-types.xhtml#radius-types-2

厂商 ID 列表
https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
To Top