fixes for init failure stuff

remotes/origin/master-1.0.x
Will Metcalf 17 years ago committed by Victor Julien
parent 87a435cd0d
commit f2b1e66a6a

@ -663,13 +663,12 @@ Signature *SigInit(DetectEngineCtx *de_ctx, char *sigstr) {
return sig; return sig;
error: error:
SigFree(sig); if ( sig != NULL ) SigFree(sig);
if (de_ctx->failure_fatal == 1) { if (de_ctx->failure_fatal == 1) {
fprintf(stderr, "ERROR: Signature init failed.\n"); SCLogError(SC_ERR_INVALID_SIGNATURE,"Signature init failed %s ",sigstr);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
return NULL; return NULL;
} }
/** /**
@ -846,6 +845,10 @@ Signature *DetectEngineAppendSig(DetectEngineCtx *de_ctx, char *sigstr) {
error: error:
if ( sig != NULL ) SigFree(sig); if ( sig != NULL ) SigFree(sig);
if (de_ctx->failure_fatal == 1) {
SCLogError(SC_ERR_INVALID_SIGNATURE,"Signature init failed %s ",sigstr);
exit(EXIT_FAILURE);
}
return NULL; return NULL;
} }

@ -273,9 +273,9 @@ void usage(const char *progname)
printf("\t-u : run the unittests and exit\n"); printf("\t-u : run the unittests and exit\n");
printf("\t-U, --unittest-filter=REGEX : filter unittests with a regex\n"); printf("\t-U, --unittest-filter=REGEX : filter unittests with a regex\n");
printf("\t--list-unittests : list unit tests\n"); printf("\t--list-unittests : list unit tests\n");
printf("\t--init-errors-fatal : enable fatal failure on signature init error\n");
printf("\t--fatal-unittests : enable fatal failure on unittest error\n"); printf("\t--fatal-unittests : enable fatal failure on unittest error\n");
#endif /* UNITTESTS */ #endif /* UNITTESTS */
printf("\t--init-errors-fatal : enable fatal failure on signature init error\n");
printf("\n"); printf("\n");
printf("\nTo run the engine with default configuration on " printf("\nTo run the engine with default configuration on "
"interface eth0 with signature file \"signatures.rules\", run the " "interface eth0 with signature file \"signatures.rules\", run the "

@ -25,6 +25,7 @@ const char * SCErrorToString(SCError err)
CASE_CODE (SC_PCRE_PARSE_FAILED); CASE_CODE (SC_PCRE_PARSE_FAILED);
CASE_CODE (SC_LOG_MODULE_NOT_INIT); CASE_CODE (SC_LOG_MODULE_NOT_INIT);
CASE_CODE (SC_LOG_FG_FILTER_MATCH_FAILED); CASE_CODE (SC_LOG_FG_FILTER_MATCH_FAILED);
CASE_CODE (SC_ERR_INVALID_SIGNATURE);
CASE_CODE (SC_ERR_OPENING_FILE); CASE_CODE (SC_ERR_OPENING_FILE);
CASE_CODE (SC_ERR_OPENING_RULE_FILE); CASE_CODE (SC_ERR_OPENING_RULE_FILE);
CASE_CODE (SC_ERR_NO_RULES); CASE_CODE (SC_ERR_NO_RULES);

Loading…
Cancel
Save