FreeRADIUS InkBridge

The return code Operator

Syntax
rcode

The Unlang interpreter tracks the return code of any module, string expansion or keyword that has been called.

This return code can be checked in any condition. If the saved return code matches the code given here, then the condition evaluates to true. Otherwise, it evaluates to false.

rcodes cannot be set in a condition. rcodes cannot be compared with anything else.

The list of valid return codes is as follows:

Table 1. Return Codes
Return code Description

disallow

Access to a particular resource is denied. This is similar to reject but is the result of an authorizational check failing, as opposed to credentials being incorrect.

fail

The operation failed. Usually as a result of an external dependency like a database being unavailable or an internal error.

handled

The request has been "handled", no further policies in the current section should be called, and the section should immediately exit.

invalid

The request, or operation, was invalid. In the case of requests this usually indicates absent or malformed attribute values.

noop

The operation did nothing.

notfound

A 'lookup' operation returned no results.

ok

Operation completed successfully.

reject

The operation indicates the current request should be 'rejected'. What this actually means is different from protocol to protocol. It usually means that access to the requested resource should be denied, or that the current request should be NAKd. Usually returned when provided credentials were invalid.

timeout

The operation failed due to a timeout.

updated

The operation completed successfully and updated one or more attributes in the request.

yield

Returned by an operation when execution of a request should be suspended.

In versions before 4.0, the disallow rcode was called userlock. The terms disallow and userlock have an identical meaning. disallow will be returned in any instance where userlock was returned in v3.0.x or v3.2.x

Examples
sql
if (notfound) {
    ...
}