PHPCon Poland 2024

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() のほうがより便利です。 というのも、こちらのほうはバイナリセーフだからです。

注意:

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

属性の値。 これはヌル終端であることが期待されています。つまり、このパラメータはバイナリセーフではないということです。

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.

変更履歴

バージョン 説明
PECL radius 1.3.0 options および tag が追加されました。

戻り値

成功した場合に true を、失敗した場合に false を返します。

参考

add a note

User Contributed Notes 2 notes

up
6
sebastian at sebsoft dot nl
15 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
3
Horol
4 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