]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add CONF_SECTION for trunk connection / request triggers
authorNick Porter <nick@portercomputing.co.uk>
Thu, 21 Aug 2025 18:17:17 +0000 (19:17 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Mon, 25 Aug 2025 13:56:10 +0000 (14:56 +0100)
So modules using trunks can have their own trigger sections.

src/lib/server/trunk.c
src/lib/server/trunk.h

index fa2f04ff6b48cb33db4b209147290d423fde45b2..dec0927f5f945d28f7f4f6dfd712cf1e8d196fae 100644 (file)
@@ -435,7 +435,7 @@ static size_t trunk_connection_events_len = NUM_ELEMENTS(trunk_connection_events
 #define CONN_TRIGGER(_state) do { \
        if (trunk->conf.conn_triggers) { \
                trigger(unlang_interpret_get_thread_default(), \
-                            NULL, fr_table_str_by_value(trunk_conn_trigger_names, _state, \
+                       trunk->conf.conn_trigger_cs, fr_table_str_by_value(trunk_conn_trigger_names, _state, \
                                                         "<INVALID>"), true, NULL); \
        } \
 } while (0)
@@ -466,7 +466,7 @@ void trunk_request_state_log_entry_add(char const *function, int line,
 #define REQUEST_TRIGGER(_state) do { \
        if (trunk->conf.req_triggers) { \
                trigger(unlang_interpret_get_thread_default(), \
-                            NULL, fr_table_str_by_value(trunk_req_trigger_names, _state, \
+                       trunk->conf.req_trigger_cs, fr_table_str_by_value(trunk_req_trigger_names, _state, \
                                                         "<INVALID>"), true, NULL); \
        } \
 } while (0)
index 57ee9ba5b075d2000647f9084166aa69d2a6f8aa..2d9c9d92eba13bc07dab124c9738898bebed5a0a 100644 (file)
@@ -283,8 +283,10 @@ typedef struct {
                                                        //!< was a failure, instead of failing them immediately.
 
        bool                    conn_triggers;          //!< Do we run connection related triggers?
+       CONF_SECTION            *conn_trigger_cs;       //!< Module conf section to find connection trigger section in.
 
        bool                    req_triggers;           //!< Do we run request related triggers?
+       CONF_SECTION            *req_trigger_cs;        //!< Module conf section to find request trigger section in.
 } trunk_conf_t;
 
 /** Public fields for the trunk