radcli_dae_new(3) Radius client library radcli_dae_new(3)

radcli_dae_new - Validate dae-* configuration and build a dynamic-authorization listener. Opens no socket see radcli_dae_start().

#include <radcli/>

radcli_dae * radcli_dae_new(
    radcli_ctx  *ctx,
    unsigned     flags
);

Fails (returns NULL) unless dae-accept is "yes" or "udp", so that a library upgrade never silently exposes a session-terminating channel in an application that did not opt in. When enabled, also fails unless both dae-server and dae-secret are set, and unless every dae-server entry resolves and carries no network prefix.

At most one radcli_dae may be active on a given ctx at a time, since radcli_ctx_get_poll()/radcli_ctx_dispatch() operate on ctx and need a single descriptor to report.

a configured context (rc_read_config()/rc_apply_config() already called).
a bitwise OR of radcli_dae_flags, or 0 for the common case.

a new listener, or NULL on invalid configuration or an unknown flags bit.

radcli_ctx_dispatch(3), radcli_ctx_get_poll(3), radcli_dae_free(3), radcli_dae_process(3), radcli_dae_reply(3), radcli_dae_reply_error(3), radcli_dae_reply_to_buffer(3), radcli_dae_req_attrs(3), radcli_dae_req_code(3), radcli_dae_req_framed_ip(3), radcli_dae_req_nas_port(3), radcli_dae_req_session_id(3), radcli_dae_req_user_name(3), radcli_dae_request_free(3), radcli_dae_set_handler(3), radcli_dae_start(3)

2026-09-03 radcli