]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add basic tmpl_rules_debug() function
authorAlan T. DeKok <aland@freeradius.org>
Tue, 4 Jul 2023 13:12:33 +0000 (09:12 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 4 Jul 2023 14:28:41 +0000 (10:28 -0400)
src/lib/server/tmpl.h
src/lib/server/tmpl_tokenize.c

index d9e3355a8829c2ceaf097cc24fcd1a0a8005ca5f..4671bafaf711ac358e87b73f6d6f164ffdaec571 100644 (file)
@@ -1340,6 +1340,8 @@ int                       tmpl_value_list_insert_tail(fr_value_box_list_t *list, fr_value_box_t *vb,
 
 void                   tmpl_rules_child_init(TALLOC_CTX *ctx, tmpl_rules_t *out, tmpl_rules_t const *parent, tmpl_t *vpt) CC_HINT(nonnull);
 
+void                   tmpl_rules_debug(tmpl_rules_t const *rules) CC_HINT(nonnull);
+
 int                    tmpl_global_init(void);
 void                   tmpl_global_free(void);
 
index 33fd88767b63ec86e0b563c63ae64f8601133972..dc732f0645a9d64c7a4729be465d80049a3465d0 100644 (file)
@@ -5422,3 +5422,29 @@ void tmpl_rules_child_init(TALLOC_CTX *ctx, tmpl_rules_t *out, tmpl_rules_t cons
         *      grouping attributes to appear anywhere.
         */
 }
+
+static void tmpl_attr_rules_debug(tmpl_attr_rules_t const *at_rules)
+{
+       FR_FAULT_LOG("\tdict_def          = %s", at_rules->dict_def ? fr_dict_root(at_rules->dict_def)->name : "");
+       FR_FAULT_LOG("\tnamespace         = %s", at_rules->namespace ? at_rules->namespace->name : "");
+
+       FR_FAULT_LOG("\tlist_def          = %s", at_rules->list_def ? at_rules->list_def->name : "");
+
+       FR_FAULT_LOG("\tallow_unknown     = %u", at_rules->allow_unknown);
+       FR_FAULT_LOG("\tallow_unresolved  = %u", at_rules->allow_unresolved);
+       FR_FAULT_LOG("\tallow_wildcard    = %u", at_rules->allow_wildcard);
+       FR_FAULT_LOG("\tallow_foreign     = %u", at_rules->allow_foreign);
+       FR_FAULT_LOG("\tdisallow_filters  = %u", at_rules->disallow_filters);
+}
+
+
+void tmpl_rules_debug(tmpl_rules_t const *rules)
+{
+       FR_FAULT_LOG("\tparent     = %p", rules->parent);
+       FR_FAULT_LOG("    attr {");
+       tmpl_attr_rules_debug(&rules->attr);
+       FR_FAULT_LOG("    }");
+       FR_FAULT_LOG("\tenumv      = %s", rules->enumv ? rules->enumv->name : "");
+       FR_FAULT_LOG("\tcast       = %s", fr_type_to_str(rules->cast));
+       FR_FAULT_LOG("\tat_runtime = %u", rules->at_runtime);
+}