3.16.1. GetClientQuery Previous topic Parent topic Child topic Next topic

This parameter specifies the SQL query that is used to fetch client details from the SQL database specified by DBSource. The database can store all the same parameters that are used to configure a <Client> clause. For more information, see Section 3.14. <Client xxxxxx>. The recommend configuration with Radiator 4.24 and later is to use ClientColumnDef with GetClientQuery. For more information about ClientColumDef, see Section 3.16.2. ClientColumnDef.
The default GetClientQuery works with the sample database schemas provided in the goodies/ of your Radiator distribution. GetClientQuery defaults to:
select NASIDENTIFIER,SECRET,IGNOREACCTSIGNATURE,DUPINTERVAL,
            DEFAULTREALM,NASTYPE,SNMPCOMMUNITY,LIVINGSTONOFFS,
            LIVINGSTONHOLE,FRAMEDGROUPBASEADDRESS,
            FRAMEDGROUPMAXPORTSPERCLASSC,REWRITEUSERNAME,
            NOIGNOREDUPLICATES,PREHANDLERHOOK from RADCLIENTLIST
Your database table must include at least the first and second fields, which are the NAS name or IP address or MAC address and the shared secret. All the other fields are optional.
When ClientColumnDef is not configured, the other fields must occur in the given order. When they occur, they are used to initialise the Client parameter of the same name as shown above. The FRAMEDGROUPBASEADDRESS column may contain multiple comma-separated base addresses. The PREHANDLERHOOK column can contain either the text of a hook or a hook filename in the form ‘file:/path/to/hook’. You can customise the GetClientQuery select clause to have additional fields. If they are present in the result of GetClientQuery, they are used as described below. Field number 0 as the first field, so for example Identifier, field 14 has an index of 14, but is the 15th entry in the returned array.
  • Identifier field as field 14
  • DefaultReply as field 15
  • FramedGroup as field 16
  • StripFromReply as field 17
  • AllowInReply as field 18
  • AddToReply as field 19
  • AddToReplyIfNotExist as field 20
  • DynamicReply as field 21
  • AddToRequest as field 22
  • StripFromRequest as field 23
  • AddToRequestIfNotExist as field 24
  • ClientHook as field 25
  • UseContentsForDuplicateDetection as field 26
  • A comma-separated list of flag names as field 27. Each comma-separated name in the field is used to set a Client flag type parameter. For example, if field 27 has the value "IgnoreAcctSignature,UseOldAscendPasswords,StatusServerShowClientDetails", it sets the IgnoreAcctSignature, UseOldAscendPasswords, and StatusServerShowClientDetails flag parameters in the resulting Client.
  • TACACSPLUSKey as field 28
Here is an example that fetches the required information and DefaultRealm:
# Our custom client table only has NAS identifier,
# shared secret and default realm in it:
GetClientQuery select NAME,SECRET,NULL,NULL,DREALM from CLIENTS
Here is the same example with ClientColumnDef:
# We do not need to pad with NULL columns
GetClientQuery select NAME,SECRET,DREALM from CLIENTS
ClientColumnDef 0, Name
ClientColumnDef 1, Secret
ClientColumnDef 2, DefaultRealm