Return codes
Many operations in the server produce a return code (rcode). The different rcodes give a course indication of whether a particular operation (a module call, string expansion, or keyword) was successful.
Unlike return values in other languages, FreeRADIUS' rcodes are are always taken from a fixed compiled-in set.
Return code | Description |
---|---|
|
The operation failed. Usually as a result of an external dependency like a database being unavailable or an internal error. |
|
The request has been "handled", no further policies in the current section should be called, and the section should immediately exit. |
|
The request, or operation, was invalid. In the case of requests this usually indicates absent or malformed attribute values. |
|
The operation did nothing. |
|
A 'lookup' operation returned no results. |
|
Operation completed successfully but did not change any attributes in the request. |
|
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. |
|
The operation completed successfully and updated one or more attributes in the request. |
|
Access to a particular resource is
denied. This is similar to |
|
Returned by an operation when execution of a request should be suspended. |
In versions ≤ v3.0.x the |
Return codes propagate through nested unlang sections based on their priority. If a rcode returned by an operation has a higher priority than the current rcode associated with the request, then the request rcode is overwritten.
Return code priorities are assigned by the section the module call, expansion or keyword was used in.