suricata: improve list keywords

Exit with error if a keyword is not supported or not existing
and display a message.
pull/5840/head
Eric Leblond 4 years ago committed by Victor Julien
parent 2e4af5a091
commit 0dba1b09de

@ -351,7 +351,7 @@ static void SigMultilinePrint(int i, const char *prefix)
printf("\n");
}
void SigTableList(const char *keyword)
int SigTableList(const char *keyword)
{
size_t size = sizeof(sigmatch_table) / sizeof(SigTableElmt);
size_t i;
@ -414,14 +414,16 @@ void SigTableList(const char *keyword)
printf("= %s =\n", sigmatch_table[i].name);
if (sigmatch_table[i].flags & SIGMATCH_NOT_BUILT) {
printf("Not built-in\n");
return;
return TM_ECODE_FAILED;
}
SigMultilinePrint(i, "");
return;
return TM_ECODE_DONE;
}
}
printf("Non existing keyword\n");
return TM_ECODE_FAILED;
}
return;
return TM_ECODE_DONE;
}
void SigTableSetup(void)

@ -303,7 +303,7 @@ enum DetectKeywordId {
DETECT_TBLSIZE,
};
void SigTableList(const char *keyword);
int SigTableList(const char *keyword);
void SigTableSetup(void);
void SigTableRegisterTests(void);

@ -36,8 +36,7 @@ int ListKeywords(const char *keyword_info)
SpmTableSetup();
AppLayerSetup();
SigTableSetup(); /* load the rule keywords */
SigTableList(keyword_info);
return TM_ECODE_DONE;
return SigTableList(keyword_info);
}
int ListAppLayerProtocols(const char *conf_filename)

Loading…
Cancel
Save