FreeRADIUS InkBridge

The detach Statement

Syntax
detach

The detach statement is used to separate a child request from a parent request. The detach statement can only be used inside of a subrequest section.

Once a child request is detached from the parent, the parent can continue execution independently of the child. However, once a child request is detached from the parent request, the child can no longer access any attributes in the parent.

Example
subrequest ::Disconnect-Request {
    User-Name := parent.request.User-Name
    NAS-IP-Address := parent.request.NAS-IP-Address
    NAS-Port := parent.request.NAS-Port
    Acct-Session-Id := parent.request.Acct-Session-Id

    detach
    radius
}

Child Lifetime

The lifetime of a child request is controlled by the child’s setting. The default configuration has max_request_time = 30, so child requests will be cancelled 30 seconds after the parent request was received.

Example
subrequest ::Disconnect-Request {
    User-Name := parent.request.User-Name
    NAS-IP-Address := parent.request.NAS-IP-Address
    NAS-Port := parent.request.NAS-Port
    Acct-Session-Id := parent.request.Acct-Session-Id

    detach
    radius
}

The detach keyword cannot be used as the last statement in a subrequest.