略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: radius_put_vendor_string

2024-11-13

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_stringAttaches a vendor specific string attribute

说明

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

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.

注意:

A request must be created via radius_create_request() before this function can be called.

参数

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute 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

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
PECL radius 1.3.0 The options and tag parameters were added.

参见

add a noteadd a note

User Contributed Notes 2 notes

up
4
sebastian at sebsoft dot nl
13 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
2 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

官方地址:https://www.php.net/manual/en/function.radius-put-vendor-string.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3