]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
Add line number to warning about mangled yaml parameters. Limit number of warnings...
authorVictor Julien <victor@inliniac.net>
Tue, 28 Feb 2012 09:29:13 +0000 (10:29 +0100)
committerVictor Julien <victor@inliniac.net>
Tue, 28 Feb 2012 09:29:13 +0000 (10:29 +0100)
src/conf-yaml-loader.c

index 33c2569686745e10eef89f66259794a101866f2f..eb76286505b7d40ca6d9ef96cbbd2356e44b913f 100644 (file)
@@ -37,6 +37,9 @@
  * work most of the time. */
 #define DEFAULT_NAME_LEN 16
 
+#define MANGLE_ERRORS_MAX 10
+static int mangle_errors = 0;
+
 /* Configuration processing states. */
 enum conf_state {
     CONF_KEY = 0,
@@ -139,9 +142,15 @@ ConfYamlParse(yaml_parser_t *parser, ConfNode *parent, int inseq)
                                    ((strcmp(parent->name, "address-groups") == 0) ||
                                     (strcmp(parent->name, "port-groups") == 0)))) {
                                 Mangle(node->name);
-                                SCLogWarning(SC_WARN_DEPRECATED,
-                                    "%s is deprecated. Please use %s",
-                                    value, node->name);
+                                if (mangle_errors < MANGLE_ERRORS_MAX) {
+                                    SCLogWarning(SC_WARN_DEPRECATED,
+                                            "%s is deprecated. Please use %s on line %"PRIuMAX".",
+                                            value, node->name, (uintmax_t)parser->mark.line+1);
+                                    mangle_errors++;
+                                    if (mangle_errors >= MANGLE_ERRORS_MAX)
+                                        SCLogWarning(SC_WARN_DEPRECATED, "not showing more "
+                                                "parameter name warnings.");
+                                }
                             }
                         }
                         TAILQ_INSERT_TAIL(&parent->head, node, next);