From: Jorge Pereira Date: Tue, 17 Dec 2019 19:26:50 +0000 (-0300) Subject: Add capability to verify undocumented 'FR_CONF.*' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f780dcf87baba79533c2740b1521663da88d816;p=thirdparty%2Ffreeradius-server.git Add capability to verify undocumented 'FR_CONF.*' --- diff --git a/scripts/build/missing-raddb-mod-conf.sh b/scripts/build/missing-raddb-mod-conf.sh index f6048d3d101..3ea820326bd 100755 --- a/scripts/build/missing-raddb-mod-conf.sh +++ b/scripts/build/missing-raddb-mod-conf.sh @@ -3,10 +3,18 @@ # mods src/modules/rlm_$mod ignored_mods="rlm_(test|example|sql)" +# directories to be ignored +ignored_dirs="src/(include|freeradius-devel|modules)" + +# ignored config options +ignored_keys="(local_state_dir|sbin_dir)" + # main() dir_modules="src/modules" -# Only "rlm_*" +# +# Look up for FR_CONF in src/modules/rlm_${mod} and cross with raddb/mods-available/${mod} +# for _mod in $(ls $dir_modules | grep "^rlm_" | grep -vE "${ignored_mods}"); do mod_name="${_mod/rlm_/}" mod_dir="${dir_modules}/${_mod}" @@ -30,4 +38,18 @@ for _mod in $(ls $dir_modules | grep "^rlm_" | grep -vE "${ignored_mods}"); do done done +# +# Look up for FR_CONF in src/* +# +grep -l --include="*.c" -r FR_CONF_ src | egrep -v "${ignored_dirs}" | sort -n | uniq | \ +while read fr_conf_file; do + grep "FR_CONF_" $fr_conf_file | sed '/_DEPRECATED/d; /_SUBSECTION/d; s/^.*{ FR_CONF_.*("//g; s/".*$//g' | \ + sort | uniq | egrep -v "${ignored_keys}" | \ + while read fr_conf; do + if ! grep -q "${fr_conf}.*=" -r raddb/; then + echo "WARNING: ${fr_conf_file}: '${fr_conf}' has no reference in raddb/*" + fi + done +done | sort -n + exit 0