Radiator Server Documentation — latest
Pre-client pipeline for dynamic client matching before normal client resolution
Table of Contents
@pre-client
@pre-client defines a pipeline that runs before normal client matching for a server.
Use this pipeline when client information cannot be declared statically. A common use case is dynamic client matching from a database.
Typical uses include:
- Looking up a client by source IP address in a backend or script
- Setting client properties dynamically before normal matching continues
- Rejecting unknown or unauthorized client sources early
For RADIUS servers, this pipeline can set radius.client.secret before the request proceeds to normal client resolution.
Example
servers {
radius "RADIUS_UDP_1812" {
listen {
protocol udp;
port 1812;
ip 0.0.0.0;
}
@pre-client {
# radius.client.ip is used on the backend to query and return radius.client identifier and radius.client.secret
backend {
name "SQL_DATABASE_CLIENTS_INTERNAL";
query "FIND_RADIUS_CLIENT";
}
}
}
}
The example above demonstrates client lookup from the database.
See also
- servers.clients - Static client list binding for servers
- accept - Continue request processing after a successful pre-client decision
- backends - Backend lookups for dynamic client data
Table of Contents