]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Update tmpl_attr_afrom_list() to work with list_as_attr
authorNick Porter <nick@portercomputing.co.uk>
Thu, 26 Jan 2023 17:50:16 +0000 (17:50 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 9 Feb 2023 18:41:07 +0000 (12:41 -0600)
src/lib/server/tmpl_tokenize.c

index 9527cdd3a1cd85c2982235411787f727cd9c76a7..be27de40295c5280cc7bc4089d9945439b36f32b 100644 (file)
@@ -1265,6 +1265,7 @@ void tmpl_attr_set_list(tmpl_t *vpt, fr_dict_attr_t const *list)
 int tmpl_attr_afrom_list(TALLOC_CTX *ctx, tmpl_t **out, tmpl_t const *list, fr_dict_attr_t const *da)
 {
        tmpl_t *vpt;
+       tmpl_attr_t *ar;
 
        char attr[256];
        ssize_t slen;
@@ -1276,7 +1277,9 @@ int tmpl_attr_afrom_list(TALLOC_CTX *ctx, tmpl_t **out, tmpl_t const *list, fr_d
         */
        tmpl_attr_copy(vpt, list);
        tmpl_attr_set_list(vpt, tmpl_list(list));       /* Remove when lists are attributes */
-       tmpl_attr_set_leaf_da(vpt, da);                 /* This should add a new da when lists are attributes */
+       ar = tmpl_attr_add(vpt, TMPL_ATTR_TYPE_NORMAL);
+       ar->ar_da = da;
+       ar->ar_parent = fr_dict_root(fr_dict_by_da(da));
        tmpl_attr_set_leaf_num(vpt, tmpl_attr_tail_num(list));
 
        /*