From: Alan T. DeKok Date: Wed, 12 May 2021 12:52:51 +0000 (-0400) Subject: limited macro support for sheer simplicity X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4c150b65a0d3039699eef4ddeac6cffb03f8906f;p=thirdparty%2Ffreeradius-server.git limited macro support for sheer simplicity --- diff --git a/src/lib/util/dict_tokenize.c b/src/lib/util/dict_tokenize.c index fd8dbbfa58f..bb8927eb458 100644 --- a/src/lib/util/dict_tokenize.c +++ b/src/lib/util/dict_tokenize.c @@ -1841,7 +1841,17 @@ static int _dict_from_file(dict_tokenize_ctx_t *ctx, * parent. */ - ret = _dict_from_file(ctx, dir, argv[1], fn, line); + /* + * Allow limited macro capability, so + * people don't have to remember where + * the root dictionaries are located. + */ + if (strncmp(argv[1], "${dictdir}/", 11) != 0) { + ret = _dict_from_file(ctx, dir, argv[1], fn, line); + } else { + ret = _dict_from_file(ctx, fr_dict_global_ctx_dir(), argv[1] + 11, fn, line); + } + if ((ret == -2) && (argv[0][8] == '-')) { fr_strerror_clear(); /* delete all errors */ ret = 0;