]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Use fr_value_box_contains_secret when securely printing lists
authorNick Porter <nick@portercomputing.co.uk>
Wed, 26 Jul 2023 12:33:48 +0000 (13:33 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 26 Jul 2023 13:39:19 +0000 (14:39 +0100)
Lists can contain groups and the secret could be a child of a group

src/lib/util/value.c

index 5c37e04be8b8a14f29f993e4d37764231d6f08ae..8ff187ea9f744b1bf319df797962879f8618ebc3 100644 (file)
@@ -5778,7 +5778,7 @@ char *fr_value_box_list_aprint_secure(TALLOC_CTX *ctx, fr_value_box_list_t const
 
        if (!vb) return NULL;
 
-       if (unlikely (vb->secret)) {
+       if (unlikely (fr_value_box_contains_secret(vb))) {
                aggr = talloc_typed_strdup(ctx, "<<< secret >>>");
        } else {
                fr_value_box_aprint(ctx, &aggr, vb, e_rules);
@@ -5796,7 +5796,7 @@ char *fr_value_box_list_aprint_secure(TALLOC_CTX *ctx, fr_value_box_list_t const
        while ((vb = fr_value_box_list_next(list, vb))) {
                char *str, *new_aggr;
 
-               if (unlikely (vb->secret)) {
+               if (unlikely (fr_value_box_contains_secret(vb))) {
                        str = talloc_typed_strdup(pool, "<<< secret >>>");
                } else {
                        fr_value_box_aprint(pool, &str, vb, e_rules);