Documentation

Lua script context API - RADIUS sub-context

radius

RADIUS packet data.

Fields

FieldTypeDescription
requestpacketRADIUS request packet
replypacketRADIUS reply packet
dynauthpacketDynamic authorization packet
clientclient?RADIUS client info
serverserver?RADIUS server info

Packet Methods

MethodParametersReturnsDescription
attr(name, tag?)attribute name, optional tagvalue?Get first attribute value
attr_last(name, tag?)attribute name, optional tagvalue?Get last attribute value
attr_all(name, tag?)attribute name, optional tagvalues?Get all attribute values
attrs()-tableGet all attributes as table
append_attr(name, tag?, value)name, tag, value-Append attribute (reply only)
append_attrs(name, tag?, values)name, tag, values-Append multiple values (reply only)
set_attr(name, tag?, value)name, tag, value-Set attribute if not exists (reply only)
set_attrs(name, tag?, values)name, tag, values-Set multiple values (reply only)

Client Object

FieldTypeDescription
namestringClient name
ipstring?Client IP address

Server Object

FieldTypeDescription
namestringServer name
ipstringServer IP address
portnumberServer port
tlsbooleanIs TLS enabled?

Example

local context, previous = ...

local radius = context.radius

-- Read request attributes
local username = radius.request:attr("User-Name")
local nas_ip = radius.request:attr("NAS-IP-Address")

-- Add reply attributes
radius.reply:append_attr("Reply-Message", nil, "Welcome!")
radius.reply:set_attr("Session-Timeout", nil, 3600)

-- Check client
if radius.client then
    local client_name = radius.client.name
    local client_ip = radius.client.ip
end

return previous
Navigation
Parents