]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Record which xlat registered the module instance
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 16 Jun 2024 04:53:42 +0000 (22:53 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 16 Jun 2024 04:53:42 +0000 (22:53 -0600)
src/lib/server/module_rlm.c
src/lib/server/module_rlm.h

index 83197b845e9a7b94ceefa86021f7008bfb32c432..8c752624f11b71fa650328387e649d39bffa42d5 100644 (file)
@@ -283,6 +283,7 @@ xlat_t *module_rlm_xlat_register(TALLOC_CTX *ctx, module_inst_ctx_t const *mctx,
 
        MEM(mrx = talloc(mi, module_rlm_xlat_t));
        mrx->xlat = x;
+       mrx->mi = mi;
 
        fr_rb_insert(&mri->xlats, mrx);
 
index a352e5763945b48454fa88eac08590f8a859a967..4fbb408f3b99690a0e63b50bfb76e5a828287b1b 100644 (file)
@@ -50,8 +50,9 @@ struct module_rlm_instance_s {
 /** An xlat function registered to a module
  */
 typedef struct {
-       xlat_t const                    *xlat;          //!< The xlat function.
-       fr_rb_node_t                    node;           //!< Entry in an rbtree of registered xlats.
+       xlat_t const                    *xlat;                  //!< The xlat function.
+       module_instance_t const         *mi;                    //!< The module instance that registered the xlat.
+       fr_rb_node_t                    node;                   //!< Entry in an rbtree of registered xlats.
 } module_rlm_xlat_t;
 
 /** The output of module_rlm_by_name_and_method