]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
parsed is not referenced
authorAlan T. DeKok <aland@freeradius.org>
Fri, 10 Aug 2018 01:33:04 +0000 (21:33 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 10 Aug 2018 01:33:04 +0000 (21:33 -0400)
referencing an item shouldn't prevent it from being parsed

src/lib/server/cf_file.c
src/lib/server/cf_parse.c
src/lib/server/cf_priv.h

index d19b422ab6b9dc69d4afe3121dbb2fef600e8a1b..fe1713a1ee4bc8663678009ff218073918086671 100644 (file)
@@ -2011,7 +2011,7 @@ CONF_ITEM *cf_reference_item(CONF_SECTION const *parent_cs,
         */
        cp = cf_pair_find(cs, p);
        if (cp) {
-               cp->parsed = true;      /* conf pairs which are referenced count as parsed */
+               cp->referenced = true;  /* conf pairs which are referenced count as used */
                return &(cp->item);
        }
 
index b42d29de112b22be4bff000e9fa8cb984f143fe6..a326cb9a6cefed3844a5a466117f9d0b165973fb 100644 (file)
@@ -941,7 +941,7 @@ static void cf_section_parse_warn(CONF_SECTION *cs)
                        CONF_PAIR *cp;
 
                        cp = cf_item_to_pair(ci);
-                       if (cp->parsed || (ci->lineno < 0)) continue;
+                       if (cp->parsed || cp->referenced || (ci->lineno < 0)) continue;
 
                        WARN("%s[%d]: The item '%s' is defined, but is unused by the configuration",
                             ci->filename, ci->lineno,
index 6306fc06298a9b714f7dc482a1206fbe8c1141a4..b7d4f4042e1aef63971c965ee75557caa0a78482 100644 (file)
@@ -81,6 +81,7 @@ struct cf_pair {
 
        bool                    pass2;          //!< do expansion in pass2.
        bool                    parsed;         //!< Was this item used during parsing?
+       bool                    referenced;     //!< Was this item referenced in the config?
 };
 
 /** A section grouping multiple #CONF_PAIR