]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rules: hide internal keywords from --list-keywords
authorVictor Julien <victor@inliniac.net>
Thu, 30 Aug 2018 07:09:49 +0000 (09:09 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 30 Aug 2018 07:09:49 +0000 (09:09 +0200)
src/detect-engine-register.c

index dec1c4c73e97047523e47ddbef96b1a047790cce..db6f5e798aba7f72ddf83cc30295e907c2680986 100644 (file)
@@ -294,22 +294,30 @@ void SigTableList(const char *keyword)
     if (keyword == NULL) {
         printf("=====Supported keywords=====\n");
         for (i = 0; i < size; i++) {
-            if (sigmatch_table[i].name != NULL) {
+            const char *name = sigmatch_table[i].name;
+            if (name != NULL && strlen(name) > 0) {
+                if (name[0] == '_')
+                    continue;
+
                 if (sigmatch_table[i].flags & SIGMATCH_NOT_BUILT) {
-                    printf("- %s (not built-in)\n", sigmatch_table[i].name);
+                    printf("- %s (not built-in)\n", name);
                 } else {
-                    printf("- %s\n", sigmatch_table[i].name);
+                    printf("- %s\n", name);
                 }
             }
         }
     } else if (strcmp("csv", keyword) == 0) {
         printf("name;description;app layer;features;documentation\n");
         for (i = 0; i < size; i++) {
-            if (sigmatch_table[i].name != NULL) {
+            const char *name = sigmatch_table[i].name;
+            if (name != NULL && strlen(name) > 0) {
                 if (sigmatch_table[i].flags & SIGMATCH_NOT_BUILT) {
                     continue;
                 }
-                printf("%s;", sigmatch_table[i].name);
+                if (name[0] == '_')
+                    continue;
+
+                printf("%s;", name);
                 if (sigmatch_table[i].desc) {
                     printf("%s", sigmatch_table[i].desc);
                 }
@@ -326,7 +334,10 @@ void SigTableList(const char *keyword)
         }
     } else if (strcmp("all", keyword) == 0) {
         for (i = 0; i < size; i++) {
-            if (sigmatch_table[i].name != NULL) {
+            const char *name = sigmatch_table[i].name;
+            if (name != NULL && strlen(name) > 0) {
+                if (name[0] == '_')
+                    continue;
                 printf("%s:\n", sigmatch_table[i].name);
                 SigMultilinePrint(i, "\t");
             }