PHP 8.4.0 RC4 available for testing

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_stringAttaches a vendor specific string attribute

Beschreibung

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.

Hinweis:

Bevor diese Funktion aufgerufen werden kann, muss mittels radius_create_request() eine Anfrage erstellt werden.

Parameter-Liste

radius_handle

Die RADIUS-Ressource.

vendor

Die Anbieter-ID.

type

Der Typ des Attributs.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

Eine Bitmaske der Attribut-Optionen; zur Verfügung stehen die Optionen RADIUS_OPTION_TAGGED und RADIUS_OPTION_SALT.

tag

Das Attribut-Tag. Dieser Parameter wird nur berücksichtigt, wenn die Option RADIUS_OPTION_TAGGED gesetzt ist.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
PECL radius 1.3.0 The options and tag parameters were added.

Siehe auch

add a note

User Contributed Notes 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