From: Alan T. DeKok Date: Tue, 29 Jul 2025 13:04:10 +0000 (-0400) Subject: allow FR_TYPE_ATTR to be passed in as enumv for decoding X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2668fe036cacd3c1a4a71e789299c872356f3b4e;p=thirdparty%2Ffreeradius-server.git allow FR_TYPE_ATTR to be passed in as enumv for decoding --- diff --git a/src/lib/util/value.c b/src/lib/util/value.c index 15455c6462b..238f68d76f8 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -5505,8 +5505,15 @@ parse: return -1; } - if (!dst_enumv->flags.is_root) { - fr_strerror_const("Can only start from dictioanry root for data type 'attr'"); + /* + * @todo - have attributes of FR_TYPE_ATTR also + * carry a ref to where their values are taken from. + */ + if (dst_enumv->type == FR_TYPE_ATTR) { + dst_enumv = fr_dict_root(dst_enumv->dict); + + } else if (!dst_enumv->flags.is_root) { + fr_strerror_printf("Can only start from dictionary root for data type 'attr', and not from %s", dst_enumv->name); return -1; }