[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.3 Test Mode

Test mode is used to test various aspects of radius configuration, without starting the daemon. To enter test mode, run

radiusd -mt

You will see usual radiusd diagnostics and the following two lines:

(radiusd) _

The string ‘** TEST SHELL **’ indicates that radiusd has entered test mode, the string ‘(radiusd)’ is the shell prompt, indicating that radiusd is waiting for your commands.

The syntax of test shell command resembles that of Bourne shell: each command consists of a list of words separated by any amount of whitespace. Each word is either a sequence of allowed word characters (i.e. alphabetical characters, decimal digits, dashes and underscores), or any sequence of characters enclosed in a pair of double quotes. The very first word is a command verb, the rest of words are arguments to this command verb. A command verb may be used in its full form, in its abbreviated form (i.e. you may type only several first characters of the verb, the only condition being that they do not coincide with another command verb), or in it's short form.

The first command you should know is help (or, in its short form, h). This command takes no arguments and displays the short summary of all the available commands. Here is an example of its output:

(radiusd) help
h       help                           Print this help screen
q       query-nas NAS LOGIN SID PORT [IP]
                                       Query the given NAS
g       guile                          Enter Guile
rs      rewrite-stack [NUMBER]         Print or set the Rewrite
                                       stack size
r       run-rewrite FUNCTION(args..)   Run given Rewrite function
s       source FILE                    Source the given Rewrite file
t       timespan TIMESPAN [DOW [HH [MM]]]
                                       Check the timespan interval
d       debug LEVEL                    Set debugging level
rd      request-define [PAIR [,PAIR]]  Define a request
rp      request-print                  Print the request
quit    quit                           Quit the shell

Each line of the output consists of three fields. The first field shows the short command form. The second one lists its full form and its arguments, optional arguments being enclosed in square brackets. The third field contains short textual description of the command.

Test Shell Command: query-nas nas login sid port [ip]
Test Shell Abbreviation: q

Queries the given NAS about the session described by its arguments. This command is useful in testing simultaneous login verification (see section Multiple Login Checking. Its arguments are


Specifies the NAS to query. It cn be its short name as defined in ‘raddb/naslist’, or its fully qualified domain name, or its IP address.


Name of the user whose session should be verified.


Session ID.


Port number on the NAS.


Framed IP address, assigned to the user.

The command displays the following result codes:


The session is not active.


The session is active


Some error occurred.

Test Shell Command: guile
Test Shell Abbreviation: g

Enter Guile shell. The command is only available if the package has been compiled with Guile support. For more information, See section Guile.

Test Shell Command: rewrite-stack [number]
Test Shell Abbreviation: rs

Prints or sets the Rewrite stack size.

Test Shell Command: run-rewrite function(args …)
Test Shell Abbreviation: r

Runs given Rewrite function and displays its return value. Function arguments are specified in the usual way, i.e. as a comma-separated list of Rewrite tokens.

If the function being tested operates on request contents (see section Rewriting Incoming Requests), you may supply the request using request-define command (see below).

Test Shell Command: source file
Test Shell Abbreviation: s

Reads and compiles (“source”) the given Rewrite file. The command prints ‘0’ if the file was compiled successfully. Otherwise, it prints ‘1’ and any relevant diagnostics.

Test Shell Command: timespan timespan [day-of-week [hour [minutes]]]
Test Shell Abbreviation: t

Checks whether the given time falls within the timespan interval. Its first argument, timespan, contains the valid radiusd timespan specification (see section Login-Time). Rest of arguments define the time. If any of these is omitted, the corresponding value from current local time is used.


Ordinal day of week number, counted from 0. I.e.: Sunday – 0, Monday – 1, etc.


Hours counted from 0 to 24.



The following set of samples illustrates this command:

(radiusd) timespan Wk0900-1800
ctime: Tue Dec  2 16:08:47 2003
inside Wk0900-1800: 6720 seconds left

(radiusd) timespan Wk0900-1800 0
ctime: Sun Nov 30 16:09:03 2003
OUTSIDE Wk0900-1800: 60660 seconds to wait

(radiusd) timespan Wk0900-1800 0 12 30
ctime: Sun Nov 30 12:30:13 2003
OUTSIDE Wk0900-1800: 73800 seconds to wait

(radiusd) timespan Wk0900-1800 1 05 00
ctime: Mon Dec  1 05:00:33 2003
OUTSIDE Wk0900-1800: 14400 seconds to wait

(radiusd) timespan Wk0900-1800 1 09 10
ctime: Wed Jan  7 22:09:41 2004
OUTSIDE Wk0900-1800: 39060 seconds to wait

(radiusd) timespan Wk0900-1800 1 09 10
ctime: Mon Dec  1 09:10:44 2003
inside Wk0900-1800: 31800 seconds left

Test Shell Command: debug level
Test Shell Abbreviation: d

Set debugging level. Level is any valid debug level specification (see section Debugging).

Test Shell Command: request-define [pair [,pair]]
Test Shell Abbreviation: rd

Define a request for testing Rewrite functions. The optional arguments are a comma-separated list of A/V pairs. If they are omitted, the command enters interactive mode, allowing you to enter the desired A/V pairs, as in the following example:

(radiusd) request-define
Enter the pair list. End with end of file
[radiusd] User-Name = smith, User-Password = guessme
[radiusd] NAS-IP-Address =
[radiusd] NAS-Port-Id = 34

Notice that any number of A/V pairs may be specified in a line. To finish entering the request, either type an <EOF> character or enter an empty line.

Test Shell Command: request-print
Test Shell Abbreviation: rp

Prints the request, defined by request-define.

(radiusd) request-print
    User-Name = (STRING) smith
    User-Password = (STRING) guessme
    NAS-IP-Address = (IPADDR)
    NAS-Port-Id = (INTEGER) 34
Test Shell Command: quit

Immediately quits the shell.

[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Sergey Poznyakoff on December, 6 2008 using texi2html 1.78.