suricata: add error about missing runmode

If a runmode is missing but other params are passed on the commandline,
issue an error.

Ticket: #5711

Signed-off-by: Promise Charles <descencybobby@gmail.com>
pull/15451/head
Promise Charles 7 months ago committed by Victor Julien
parent 57f76a2462
commit 5c9602bcf2

@ -26,7 +26,7 @@ int main(int argc, char **argv)
SCParseCommandLine(argc, argv);
/* Validate/finalize the runmode. */
if (SCFinalizeRunMode() != TM_ECODE_OK) {
if (SCFinalizeRunMode(argc) != TM_ECODE_OK) {
exit(EXIT_FAILURE);
}

@ -204,7 +204,7 @@ int main(int argc, char **argv)
SCRunmodeSet(RUNMODE_LIB);
/* Validate/finalize the runmode. */
if (SCFinalizeRunMode() != TM_ECODE_OK) {
if (SCFinalizeRunMode(argc) != TM_ECODE_OK) {
exit(EXIT_FAILURE);
}

@ -264,7 +264,7 @@ int main(int argc, char **argv)
SCRunmodeSet(RUNMODE_LIB);
/* Validate/finalize the runmode. */
if (SCFinalizeRunMode() != TM_ECODE_OK) {
if (SCFinalizeRunMode(suricata_argc) != TM_ECODE_OK) {
exit(EXIT_FAILURE);
}

@ -26,7 +26,7 @@ int main(int argc, char **argv)
SCParseCommandLine(argc, argv);
/* Validate/finalize the runmode. */
if (SCFinalizeRunMode() != TM_ECODE_OK) {
if (SCFinalizeRunMode(argc) != TM_ECODE_OK) {
exit(EXIT_FAILURE);
}

@ -33,7 +33,7 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
}
if (SCFinalizeRunMode() != TM_ECODE_OK) {
if (SCFinalizeRunMode(argc) != TM_ECODE_OK) {
exit(EXIT_FAILURE);
}

@ -2518,11 +2518,16 @@ int SCStartInternalRunMode(int argc, char **argv)
return TM_ECODE_OK;
}
int SCFinalizeRunMode(void)
int SCFinalizeRunMode(int argc)
{
SCInstance *suri = &suricata;
switch (suri->run_mode) {
case RUNMODE_UNKNOWN:
/* Only warn if user passed arguments */
if (argc > 1) {
SCLogError("Please specify a runmode or capture option. "
"Use --list-runmodes to see available runmodes.");
}
PrintUsage(suri->progname);
return TM_ECODE_FAILED;
default:

@ -234,7 +234,7 @@ int InitGlobal(void);
void GlobalsDestroy(void);
int PostConfLoadedSetup(SCInstance *suri);
void PostConfLoadedDetectSetup(SCInstance *suri);
int SCFinalizeRunMode(void);
int SCFinalizeRunMode(int argc);
TmEcode SCParseCommandLine(int argc, char **argv);
int SCStartInternalRunMode(int argc, char **argv);
TmEcode SCLoadYamlConfig(void);

Loading…
Cancel
Save