]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add name to coord_pair
authorNick Porter <nick@portercomputing.co.uk>
Thu, 9 Apr 2026 13:27:28 +0000 (14:27 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Thu, 9 Apr 2026 14:13:11 +0000 (15:13 +0100)
So request names can indicate which coordinator they belong to.

src/lib/io/coord_pair.c
src/lib/io/coord_pair.h
src/modules/rlm_crl/rlm_crl.c

index 1c4ed30994590698bbb2fc74e3934d897446f092..5f0cc4e3ec6ad76d477e982aec2253016d63e297 100644 (file)
@@ -44,6 +44,7 @@ static fr_dict_attr_t const   *attr_worker_id = NULL;
  *
  */
 struct fr_coord_pair_reg_s {
+       char const                      *name;                  //!< Name for log / request name.
        fr_dlist_t                      entry;                  //!< Entry in list of pair list registrations
        fr_dict_attr_t const            *attr_packet_type;      //!< Attribute containing packet type
        fr_dict_attr_t const            *root;                  //!< Pair list decoding root attribute
@@ -136,6 +137,7 @@ fr_coord_pair_reg_t *fr_coord_pair_register(fr_coord_pair_reg_ctx_t *reg_ctx)
 
        MEM(coord_pair_reg = talloc(coord_pair_regs, fr_coord_pair_reg_t));
        *coord_pair_reg = (fr_coord_pair_reg_t) {
+               .name = reg_ctx->name,
                .root = reg_ctx->root,
                .cb_id = reg_ctx->cb_id,
                .max_request_time = fr_time_delta_eq(reg_ctx->max_request_time, fr_time_delta_from_msec(0)) ?
@@ -324,11 +326,11 @@ void coord_pair_request_init(fr_event_list_t *el, request_t *request, fr_time_t
 }
 
 static inline CC_HINT(always_inline)
-void coord_pair_request_name_number(request_t *request)
+void coord_pair_request_name_number(request_t *request, char const *name)
 {
        request->number = atomic_fetch_add_explicit(&request_number, 1, memory_order_seq_cst);
        if (request->name) talloc_const_free(request->name);
-       request->name = talloc_asprintf(request, "Coord-%"PRIu64, request->number);
+       request->name = talloc_asprintf(request, "Coord-%s-%"PRIu64, name, request->number);
 }
 
 static int _coord_pair_request_deinit( request_t *request, UNUSED void *uctx)
@@ -364,7 +366,7 @@ static request_t *coord_pair_request_bootstrap(fr_coord_pair_t *coord_pair, fr_t
                .uctx = uctx
        };
        coord_pair_request_init(coord_pair->el, request, now, packet_ctx);
-       coord_pair_request_name_number(request);
+       coord_pair_request_name_number(request, coord_pair->coord_pair_reg->name);
 
        unlang_interpret_set(request, coord_pair->intp);
 
index 7b0cbf83da17cb90ea920ee9a52623075bb1c55e..8993d2b389571bd5b494691f4b0c78663628c877 100644 (file)
@@ -41,6 +41,7 @@ typedef struct {
 } fr_coord_worker_pair_cb_reg_t;
 
 typedef struct {
+       char const                      *name;                  //!< Name for log entries / request names.
        fr_coord_worker_pair_cb_reg_t   *worker_cb;             //!< Callbacks for coordinator -> worker pair messages.
        fr_dict_attr_t const            *root;                  //!< Root attribute for decoding pair list messages.
        uint32_t                        cb_id;                  //!< Coordinator callback id used for pair list messages.
index a550116d0a841d99c99627ea0bb6bb54fe8b7536..2eab0e6a9748b59c43c3f8991007c2da69d5f9de 100644 (file)
@@ -717,6 +717,7 @@ static int mod_instantiate(module_inst_ctx_t const *mctx)
        rlm_crl_t       *inst = talloc_get_type_abort(mctx->mi->data, rlm_crl_t);
 
        inst->coord_pair_reg = fr_coord_pair_register(&(fr_coord_pair_reg_ctx_t) {
+                       .name = mctx->mi->name,
                        .worker_cb = worker_pair_callbacks,
                        .cb_id = CRL_COORD_PAIR_CALLBACK_ID,
                        .root = fr_dict_root(dict_crl),