FreeRADIUS InkBridge

The case Statement

Syntax
case [ <match> ] {
    [ statements ]
}

The case statement is used to match data inside of a switch statement. The case statement cannot be used outside of a switch statement.

The <match> text must be static. That is, the <match> text cannot be an attribute expansion, or an xlat string.

The keyword default can be used to specify the default action to take inside of a switch statement. The older syntax of using case { …​ } is deprecated, and will be removed un a future release.

It is possible to break out of case statement. Any break in a case statement will cause the interpreter to exit both the current case statement, and also the parent switch statement.

Example
switch User-Name {
    case "bob" {
        reject
    }

    case Filter-Id {
        reject
    }

    default {
        ok
    }
}

The last entry in a case section can also be an actions subsection.